iTunes synchronization

A few days ago I asked, "Is there an iTunes-synchronization tool that actually works?" The answer is, apparently, "no", so I wrote my own: itunes-rsync.pl.

It's kind of halfassed. If it breaks, feel free to keep both pieces.

Tags: , ,

17 Responses:

  1. If it breaks, feel free to keep both pieces.

    I'm so stealing this.

  2. Cowmix says:

    This is soooo timely for me, thanks!

    It sucks that its written in Perl but for the price I guess I can't complain much.

  3. Mark Kriegsman says:

    Thank you. It's may not be perfect for everyone, but it's a MUCH better starting point than what we had (i.e. nothing). Rather than just downloading it and using it silently, I figured I'd say Thank You explicitly.

  4. pawliger says:

    Apropos the comment "surely there must be a way to get the music path via AppleScript", I threw up a little, but http://dougscripts.com/itunes/itinfo/locatemf.php seems to show how to mine the appropriate xml bits from iTunes to get the location of the music folder, and does so starting with 'defaults read' so doesn't need to know where the folder is to find out where the folder is.

  5. HS says:

    Not sure you care, but the certificate on your https site seems to be broken in some way.

    • jwz says:

      It's self-signed because I don't feel like paying the $400/year Verisign tax. You shouldn't ever see https unless you typed it in by hand. If you did, something's broken.

      • Brian says:

        The link to the script is https for me. Firefox 4.0.0/Windows.

      • David M.A. says:

        On this note, is there any way to make any of the browsers out there not freak out by default when handed a self-signed cert? Google didn't seem all that helpful when I tried searching for a Chrome method, but I figure you (or someone else banging around here) might have some insight.

        • No. Install your self-signed cert in your browser (or, better, tell your browser about your internal CA).

          Yes, there are probably circumstances in which all you want out of SSL is data encryption, not host authentication, but the browser-server model doesn't admit that.

      • StartSSL.com do free certs and are a CA recognised by modern browsers if you want to eliminate the minor annoyance of errors.

        (I have no affliation, just use 'em for my own server. I cannot promise they aren't a Mossad front or whatever, either.)

  6. Rick O says:

    This isn't meant to be flame-bait, it's an honest question ...

    Have you considered putting this up on a GitHub repo so that people can fork it and potentially improve it? (Or something else if GitHub isn't your thing.)

    Heck, even a GitHub Gist would be awesome.

    • jwz says:

      My collaborative development and distributed version control system is called "mail me a patch".

      Given the infrequency with which that occurs, demand is extremely low.

      Were demand high, using some software tool might be called for. Absent demand, that's just unneeded complexity.

      • Rick O says:

        I admit I was coming at it from the other direction: if I go in and customize this to my liking, it would be easier for me to incorporate your future additions (and even just have visibility of them) via a public repo.

        The sales pitch for you would be the ability to not have to do patches. You could just tell people to fork it, munge it to suit their needs, and then send you a pull request if they develop something worthwhile. If the merge for their pull request isn't a no-op then you get the joy of flaming them publicly.

        If you get tired of maintaining it, you set up a readme that says "go see this downstream version as this one is obsolete". Which, really, is the whole point of GitHub's Network feature.

        Given the $Revision$ marker, I assume it's already under some sort of source control (if not, that's a seriously ingrained habit you have there), so I'm just advocating for something a bit more Web2.0 social postmodern trackable.

        • jwz says:

          The vast majority of the time, nobody is changing the code. Or they're keeping it secret if they are. I cannot believe that adding layers and layers of infrastructure would suddenly change either of those things.

          I do use CVS internally. Yes yes, CVS, point and laugh at the caveman. But my revision history is probably older than your favorite revision-control system itself.

  7. msk says:

    Do iPods have some compelling feature(s) that make them a worthwhile purchase? (I've only had them in-hand a little myself, and saw nothing compelling.) I appreciate the shiny, but more important to me is functionality and price. I've been happy with cheap refurb Sansas running rockbox, which have a microSD slot to boot.

  8. kvas says:

    This is the way to find your iTunes Music folder (in Terminal):

    defaults read com.apple.iapps iTunesRecentDatabases|grep iTunes|sed -e 's/.*localhost//' -e 's/iTunes%20Music%20Library.xml\"//'