You are here: Home » Topic » Sync Tools

Sync Tools

This topic contains 6 replies, has 2 voices, and was last updated by  rpedde 10 years, 6 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #1267

    alloptions

    Something that I would love to see as a feature if it hasn’t already been done is taking advantage of the autosync feature the firefly does and leverage with Itunes Library Sync tools for (Windows, Mac).

    Example:

    To upload you library to your ipod you have populate your iTunes Library, and we all know the lack of folder monitoring within iTunes on Windows and Mac.

    Be nice to have the ability to scan the SQL3Lite engine with firefly and compare to the itunes library and sync the missing items (including Videos). The client can add the appropriate network share to the filename upon addition to the Itunes library.

    This would be the total solution!!!

    Central storage of your music for your home, and if anybody uploads any content to the central storage it is immediately available with DAAP if audio and then automatically sync to the folks that have library sync as well.

    Little coding on the backend only clients; and Perl could be leveraged.

    Thoughts; good or bad idea.

    #9993

    CCRDude
    Participant

    @alloptions wrote:

    Something that I would love to see as a feature if it hasn’t already been done is taking advantage of the autosync feature the firefly does and leverage with Itunes Library Sync tools for (Windows, Mac).

    What are “Itunes Library Sync tools”?
    And which “autosync feature the firefly does”?

    I didn’t know Firefly was syncing anything, nor did a google for the first term reveal any existing software. Links please πŸ˜‰

    @alloptions wrote:

    Be nice to have the ability to scan the SQL3Lite engine with firefly and compare to the itunes library and sync the missing items (including Videos).

    By scanning the sqlite3 engine, you’ll get some information on how sqlite3 works, if you know to read assembly in binary form. But even if you scan the sqlite3 database, that’s not really a good idea, since Firefly supports different databases, e.g. sqlite2, and imho gdb again at some point in the future, so your suggestion would support only some installations… anyway, why do you want Firefly to compare with client libraries? Firefly is a server software… and since there’s already the daap protocol, and there is enough software out there that is able to browse the library via daap over the network, and download tracks that way, why anything on the server at all?

    For what you seem to want, a new client software would be much better suited, which would sync the local folder & database with the remote one, over the daap protocol, which Firefly already supports perfectly – no update needed there.

    @alloptions wrote:

    Little coding on the backend only clients; and Perl could be leveraged.

    You spoke about clients sync’ing to iTunes. That surely means either Windows or Macs, both of which do not have Perl by default (imho for Mac, absolutely sure for Windows). So why do you suggest Perl?

    Second, why did you speak about server changes when you admit now that its a client only thing? I’m totally confused I’m afraid πŸ˜€

    @alloptions wrote:

    Thoughts; good or bad idea.

    First thought: put a dozen more commas and periods in there and I might actually be able to understand everything you wrote πŸ˜€

    Second thought: the iTunes database is a simple XML file, the daap protocol is a simple network protocol, a client side app for syncing both shouldn’t be too much of a problem. If it really would be the “total solution”, I wonder why no one did it before, but anyway… don’t want to discourage you, if you think you could use such a think, just start coding πŸ˜€

    #9994

    kws

    I am trying to get this type of functionality as well. I have a central server in my home where everyone stores mp3 and other media. Multiple desktops and laptops, I use Itunes and I would really like it to stay in sync with my central storage instead of me having to add to my library each time something is added to the central server.

    There is a windows utility that can do this but nothing for other platforms that I have seen.

    #9995

    CCRDude
    Participant

    rsync? That’s available for nearly every platform out there I can think of.

    Problem: it didn’t play too well with special characters in filenames last time I tried to sync to a standard UTF-8 Debian, but that might just have been a setup problem.

    #9996

    rpedde
    Participant

    @ccrdude wrote:

    rsync? That’s available for nearly every platform out there I can think of.

    Problem: it didn’t play too well with special characters in filenames last time I tried to sync to a standard UTF-8 Debian, but that might just have been a setup problem.

    I’ve used unison with better luck on windows platforms.

    I like rsync better, but it really wants to run over ssh or rsyncd.

    #9997

    staverton

    I too would like to see this option, in fact is the very reason I headed on over here and signed up to this forum today, so props for beating me to the post!

    Just to clarify alloptions’ idea as I understand it:

    Firefly naturally sits on some device somewhere, and periodically scans for new media to add to its database. It’s then able to broadcast this list of media out to whoever requests it via the DAAP protocol. Wouldn’t it be good if a client could poll the DAAP server and update a local iTunes library with any added tunes.

    To put this in to context for myself, I have a ReadyNAS NV+ sat in my living room, and I periodically add new music by copying it across via SMB. There are then 3 iTunes/iPod users in the house who have the NAS’s music share mapped as a local drive so that iTunes can use its contents in its local library and hence sync the contents to the various iPods (which it wont allow with a DAAP share). Obviously, when I add new music to the NAS, the various copies of iTunes don’t rescan the mapped drive and the new music doesn’t appear in the libraries. At the moment I’m using a piece of software (iTunes Library Updater – iTLU) to rescan the network drive itself and add them to the iTunes library. However, this takes forever as iTLU trawls through each file and directory.

    A solution as I see it would be Firefly serves up its DAAP interface as it normally does, with an additional meta field (something like org.mt-daapd.local-relative-path) which defines a file’s location relative to the directory Firefly is set to scan. On my NAS, Firefly is set to scan ‘/Media/Music’. We’d then have a client that would be configured to point at the same Firefly scan directory (on my Windows systems, I’d specify a location prefix of ‘X:Music’ and make sure the client switched the slashes – drive X: is the mapped share pointing to ‘Media’ on the NAS). I’d then have this client poll the DAAP server every hour or whatever to check for new files, or maybe have it launch when iTunes launches.

    Having said all this, I am capable of (potentially) writing a windows client to do this. iTLU is written in C#, and already plays well with iTunes as far as adding music to its library. Version 2 is under the GPL, however no code has yet emerged from it; version 1 appears to be closed source, however I may contact the author to see if he/she’d be willing to let me contribute.

    The part that’s beyond my immediate skills is adding the extra meta field. I’m sure the relative path should already be available internally, and I can’t imagine this would be too difficult to expose (unless new meta fields in existing request types cause issues with iTunes or something). Are there any Firefly devs willing exposing this in the XML for this purpose? Note: I may have completely misinterpreted the documentation on this one, so feel free to point out any fatal flaws in my logic here.

    As for an apple/Linux client, my skills do not extend that far, but I’m sure that, given the simple concept, I’m sure some talented soul would be interested in developing this.

    Thoughts are encouraged, as are *constructive* criticisms. alloptions, is this what you were getting at or have I completely misinterpreted you for my own personal gain? πŸ˜€

    #9998

    rpedde
    Participant

    @staverton wrote:

    The part that’s beyond my immediate skills is adding the extra meta field. I’m sure the relative path should already be available internally, and I can’t imagine this would be too difficult to expose (unless new meta fields in existing request types cause issues with iTunes or something). Are there any Firefly devs willing exposing this in the XML for this purpose? Note: I may have completely misinterpreted the documentation on this one, so feel free to point out any fatal flaws in my logic here.

    Actually, this information is already available through an xml interface. You can email me at [email protected], and I can point you in the direction to get this info back out of the database.

    — Ron

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.