From: Steve W. <st...@pr...> - 2005-02-25 20:30:07
|
Hello, GtkPod Developers! In a fit of insanity (or something like that), my employer gave me an ipod shuffle. I've got it working with the GnuPod perl scripts. (HINT for anyone trying this: I had to set LANG=C instead of my default LANG=en_US.UTF-8 in order to get the perl scripts to work correctly on RedHat 9; otherwise, the iTunesSD file got corrupted -- one extra byte for each file in the database.) Figuring out that problem with gnupod means I might have a head start on understanding the format of the itunessd file needed for the shuffle. Now I'd like to get something prettier functioning. I sent an email to Jorg Schuler to see if anyone had started on shuffle support for gtkpod, he asked me to look at the list archives and contact those already interested. He also said to go off of 0.87-2 version... I saw the names Lars Grunewaldt and Eric Jonas mentioned on the list. Lars sounded really busy. :-) Have either of you made any headway? --> Steve Wahl |
From: Christophe F. <te...@gn...> - 2005-02-28 09:22:50
|
Fwiw, http://www.ipodlinux.org/ITunesDB has some details about the various files used by the ipod shuffle, dunno if that was already mentioned on that list. Cheers, Christophe **Le vendredi 25 f=E9vrier 2005 =E0 14:30 -0600, Steve Wahl a =E9crit : >Hello, GtkPod Developers! > >In a fit of insanity (or something like that), my employer gave me an >ipod shuffle. > >I've got it working with the GnuPod perl scripts. (HINT for anyone >trying this: I had to set LANG=3DC instead of my default >LANG=3Den_US.UTF-8 in order to get the perl scripts to work correctly on >RedHat 9; otherwise, the iTunesSD file got corrupted -- one extra byte >for each file in the database.) > >Figuring out that problem with gnupod means I might have a head start >on understanding the format of the itunessd file needed for the >shuffle. > >Now I'd like to get something prettier functioning. I sent an email >to Jorg Schuler to see if anyone had started on shuffle support for >gtkpod, he asked me to look at the list archives and contact those >already interested. He also said to go off of 0.87-2 version... > >I saw the names Lars Grunewaldt and Eric Jonas mentioned on the list. >Lars sounded really busy. :-) Have either of you made any headway? > >--> Steve Wahl > > > >------------------------------------------------------- >SF email is sponsored by - The IT Product Guide >Read honest & candid reviews on hundreds of IT Products from real users. >Discover which products truly live up to the hype. Start reading now. >http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick >_______________________________________________ >Gtkpod-devel mailing list >Gtk...@li... >https://lists.sourceforge.net/lists/listinfo/gtkpod-devel |
From: Steve W. <st...@pr...> - 2005-03-01 06:29:03
|
On Fri, Feb 25, 2005 at 02:30:02PM -0600, Steve Wahl wrote: > Hello, GtkPod Developers! > > In a fit of insanity (or something like that), my employer gave me an > ipod shuffle. > > I've got it working with the GnuPod perl scripts... > > Now I'd like to get something prettier functioning. I sent an email > to Jorg Schuler to see if anyone had started on shuffle support for > gtkpod, he asked me to look at the list archives and contact those > already interested. He also said to go off of 0.87-2 version... Hello again, GtkPod types: I've got something working for the shuffle! In addition to creating the new database file (iTunesSD), I had to change the "version number" field in the mhbd object (in iTunesDB) to 0x0c, otherwise the shuffle would not accept the file. Since I haven't yet updated the rest of the iTunesDB file to match the version number change (I have a feeling that is either the only field of iTunesDB checked by the iPod Shuffle, or maybe one of the few), I wouldn't consider this ready for prime time. But for any impatient people out there, I've collected it here: http://www.pro-ns.net/~steve/gtkpod-shuffle.html BTW, Jorg: I put my name in the copyrights for the two new files I generated. I'm not picky about this. If you want me to assign copyright to you, just say the word. --> Steve Wahl |
From: Jorg S. <Jor...@we...> - 2005-03-08 12:19:29
|
> Hello again, GtkPod types: > > I've got something working for the shuffle! In addition to creating > the new database file (iTunesSD), I had to change the "version number" > field in the mhbd object (in iTunesDB) to 0x0c, otherwise the shuffle > would not accept the file. > > Since I haven't yet updated the rest of the iTunesDB file to match the > version number change (I have a feeling that is either the only field > of iTunesDB checked by the iPod Shuffle, or maybe one of the few), I > wouldn't consider this ready for prime time. But for any impatient > people out there, I've collected it here: > > http://www.pro-ns.net/~steve/gtkpod-shuffle.html > > BTW, Jorg: I put my name in the copyrights for the two new files I > generated. I'm not picky about this. If you want me to assign > copyright to you, just say the word. Hi Steve, I don't think there's need to worry about the version number... I would think that the format is upwards compatible. However, I'm not sure whether you changed the right field. In gnupod it's length 0x01 0x0c (changed from 0x01) 2 hunks whileas you use length 0x0c (changed from 0x01) 0x01 2 hunks You may have mixed up the minor and major version. I would merge your new code with gtkpod-0.87.4 and make a release (gtkpod-0.87.4.shuffle), unless you see reasons to delay. Cheers, JCS. |
From: Steve W. <st...@pr...> - 2005-03-08 16:44:24
|
On Tue, Mar 08, 2005 at 09:18:40PM +0900, Jorg Schuler wrote: > > Hello again, GtkPod types: > > > > I've got something working for the shuffle! In addition to creating > > the new database file (iTunesSD), I had to change the "version number" > > field in the mhbd object (in iTunesDB) to 0x0c, otherwise the shuffle > > would not accept the file. > > > > Since I haven't yet updated the rest of the iTunesDB file to match the > > version number change (I have a feeling that is either the only field > > of iTunesDB checked by the iPod Shuffle, or maybe one of the few), I > > wouldn't consider this ready for prime time. But for any impatient > > people out there, I've collected it here: > > > > http://www.pro-ns.net/~steve/gtkpod-shuffle.html > > > > BTW, Jorg: I put my name in the copyrights for the two new files I > > generated. I'm not picky about this. If you want me to assign > > copyright to you, just say the word. > > Hi Steve, > > I don't think there's need to worry about the version number... I would > think that the format is upwards compatible. If you have an ipod that actually uses the iTunesDB -- in other words, not a shuffle -- and I have to assume you do :-), just make sure you try it before general release then. What I'd be concerned about is a newer version of firmware reading that and expecting certain behavior later in the file. Or, maybe not just firmware; iTunes software might expect something particular if it sees an 0xC here... > However, I'm not sure whether you changed the right field. In gnupod it's > > length > 0x01 > 0x0c (changed from 0x01) > 2 hunks > > whileas you use > > length > 0x0c (changed from 0x01) > 0x01 > 2 hunks > > You may have mixed up the minor and major version. Hey, I think you are right! I'll try it the right way tonight if I get a chance (probably about 12 hours from now). I have remote access to my home machine from work; I've made the change and compiled. I just don't have a USB cable that long! > I would merge your new code with gtkpod-0.87.4 and make a release > (gtkpod-0.87.4.shuffle), unless you see reasons to delay. Now that I see the error, it's up to you. I'm tempted to say change the right byte and release it, but I don't wanna do that without trying it to be sure it works... I did have one person tell me my code worked for them as well; I don't think it was on the mailing list, so I don't think you'd have seen it. We do eventually want to make sure it works for all Ipods, instead of forking the shuffle, right? I think the worst thing that could happen is that changing this version(?) somehow breaks something, and I bet all we'd have to do is walk through itunesdb.c, and make it's output match iTunesDB.pm. I would have done that already, BUT (long story you may wish to skip:) I play in a contemporary music group / praise band at my church and run the sound board also, and one of our members has a recording studio at home and just upgraded his home studio to a new mixer, and he and I upgraded our sound system with his old mixer on Sunday night. It took about 5 hours to undo the old spaghetti mess of wires and make a new pile of spaghetti wires. :-) If you are familiar with this stuff, we have 16 vocal mics and various instrument connections, and went from a Mackie analog 8-bus mixer to a Panasonic/Ramsa digital mixer. The new mixer can save and recall different setups for different groups (we have around 4 different groups that use the system). So I've been spending my spare time learning how to use the new mixer. I guess I'll just see if I get to the ipod tonight! --> Steve |
From: Jorg S. <Jor...@we...> - 2005-03-09 12:02:35
|
> > I don't think there's need to worry about the version number... I would > > think that the format is upwards compatible. > > If you have an ipod that actually uses the iTunesDB -- in other words, > not a shuffle -- and I have to assume you do :-), just make sure you > try it before general release then. I would have done so anyway :-) > What I'd be concerned about is a newer version of firmware reading > that and expecting certain behavior later in the file. Or, maybe not > just firmware; iTunes software might expect something particular if it > sees an 0xC here... If that is the case someone will tell us. I wouldn't worry too much, though, because gnupod seems to be working. > I have remote access to my home machine from work; I've made the > change and compiled. I just don't have a USB cable that long! :-) Let me know the result. > > I would merge your new code with gtkpod-0.87.4 and make a release > > (gtkpod-0.87.4.shuffle), unless you see reasons to delay. > > Now that I see the error, it's up to you. I'm tempted to say change > the right byte and release it, but I don't wanna do that without > trying it to be sure it works... No no, I'm not sure how to call the version yet, I've just got people asking daily if and when the shuffle will be supported ("finally"!) and that would surely stop them from asking. Of course I want to have one version for all iPods. > I think the worst thing that could happen is that changing this > version(?) somehow breaks something, and I bet all we'd have to do is > walk through itunesdb.c, and make it's output match iTunesDB.pm. What's iTunesDB.pm? > I would have done that already, BUT (long story you may wish to skip:) [...] Well, I don't know much about those details (the wire spaghetti sounds familiar though), but it sure sounds like a lot of fun. I hope you enjoy the new equipment. Cheers, JCS. |
From: Steve W. <st...@pr...> - 2005-03-10 04:14:41
|
On Wed, Mar 09, 2005 at 08:52:23PM +0900, Jorg Schuler wrote: > > > What I'd be concerned about is a newer version of firmware reading > > that and expecting certain behavior later in the file. Or, maybe not > > just firmware; iTunes software might expect something particular if it > > sees an 0xC here... > > If that is the case someone will tell us. I wouldn't worry too much, though, > because gnupod seems to be working. That's the point. The rest of the itunesdb format has evolved in gnupod, where I only changed the 0xc in gtkpod. At least I thought so. The same possibly tired eyes were looking at the gnupod vs. gtkpod as the ones that put the 0xc in the wrong place. :-) > > > I think the worst thing that could happen is that changing this > > version(?) somehow breaks something, and I bet all we'd have to do is > > walk through itunesdb.c, and make it's output match iTunesDB.pm. > > What's iTunesDB.pm? Oh, sorry, that's the gnupod iTunesDB handling file, gnupod/src/ext/iTunesDB.pm. I really just mean bringing gtkpod's iTunesDB writer back in sync with gnupod's. > > I have remote access to my home machine from work; I've made the > > change and compiled. I just don't have a USB cable that long! > > :-) Let me know the result. Now the good news. I tried it with the 0xC in the right place, and it works! I don't have time to repackage it, but here's what my code looks like now (itunesdb.c): ------------------------------------------------------------ Cut Here /* Write out the mhbd header. Size will be written later */ static void mk_mhbd (FILE *file) { put_data (file, "mhbd", 4); put32lint (file, 104); /* header size */ put32lint (file, -1); /* size of whole mhdb -- fill in later */ put32lint (file, 1); /* ? */ put32lint (file, 0xc); /* - changed to 2 from itunes2 to 3 .. version? We are iTunes version 1 ;) */ /* had to make this 0xC for shuffle to accept it */ put32lint (file, 2); /* ? */ put_n0 (file, 20); /* dummy space */ } ------------------------------------------------------------ Cut Here So, anyway, consider it "smoke tested" (I tried it, and no smoke came out of my iPod Shuffle), make a beta release, or whatever you wish! Sorry it took an extra day. --> Steve |