A Challenge to Windows Programmers
OK you coders/hackers/programming types. I've got a challenge for you.
We pretty much know that iTunes smartlists are copied to the iPod not as a list of songs, but as rules. Think of each smartlist as a SQL statement:
SELECT *
FROM iTunesDB
WHERE genre = 'Rock'
AND Rating > 4
ORDER BY artist
At least that's the hypothesis. We know that it's not a list of the songs because the smartlist on the iPod updates dynamically. So it has to be rules.
Furthermore, there is a file on the iPod that has never been there before, "iTunes Playlists". Before iTFW came out, this file has never been here. It increases by 8 bytes in size for each new smartlist.
That tells us one thing: it has to be a pointer or some such thing. I don't think it actually contains the rules for a couple of reasons: 1) it's too small and 2) the size increase is 8 bytes per smartlist regardless of the number of rules you add (1 rule or 30).
So, the challenge is this: any wiz-bang windows programmers out there care to figure out how iTunes is storing the rules for each smartlist on the iPod?
I sure can't see it - plus I'm no windows programmer. :D
The gauntlet has been thrown ladies and gents - have at it if you care.
Adam
[1363 byte] By [
ashawley] at [2007-11-9 15:29:45]

# 1 Re: A Challenge to Windows Programmers
We can all see your ulterior motive here Adam! You just want someone to reverse engineer this feature so that MC9 can get it too :-)
I too was wondering about this but I haven't got the tools to do the analysis :-)
Graeme
# 2 Re: A Challenge to Windows Programmers
Adam,
@ 8bits, sounds like this is a pointer result from some external calculation. The "calculator" is probably in the core code which reads/processes the rules...and this new file is the "dynamic" result...and I'd bet not easilly accessible.
Can you use dynamic playists without the v2.1 update?? This may be the container for the new "calculator"...
But where are the rules??...this sounds like a great excuse to poke around the iPod!! :) :)
# 3 Re: A Challenge to Windows Programmers
See Mark, that's what I was looking for - someone to get excited. Oh, you can definitely use dynamic playlists w/o 2.1. They've been around since the 1st Gen iPods ages ago--though never available on Wipods.
And you got it Graeme, that's exactly my reasoning. Not just MC9, but any one else can benefit from this. I just find iTunes smartlists too restrictive, so I'd like to open up the box to see what's in there. ;)
Adam
# 4 Re: A Challenge to Windows Programmers
Great idea!!! I'm no Windows code nut so I'll be of no help, but I'll stand on the sidelines and cheer on!!!
:D
Babbit at 2007-11-15 16:48:52 >

# 5 Re: A Challenge to Windows Programmers
A quick browse of the files in the \iTunes directory with a Hex Editor did not provide anything terribly interesting.
DeviceInfo:
1. I see my iPod's playlist (PLIST 0 in my case)
2. I see my machine name and Login ID
iTunesDB
1. I can see song info (artist/album/title, etc.)
2. Songs appear under or within a PLAYLIST definition (My Top Rated/Recently Played, etc.)
Remaining files, including iTunesPlaylist did not display any readable characters
Here is a same from iTunesDB:
# 6 Re: A Challenge to Windows Programmers
Originally posted by Babbit
Great idea!!! I'm no Windows code nut so I'll be of no help, but I'll stand on the sidelines and cheer on!!!Except the iPod runs on neither Windows nor Mac OS, it uses its own proprietary OS.
HiRez at 2007-11-15 16:50:50 >

# 7 Re: A Challenge to Windows Programmers
But iTunes does...
SteveB at 2007-11-15 16:51:54 >

# 8 Re: A Challenge to Windows Programmers
Actually, ive been thinking of making a smart list tool for a time now..
But, actually, Ive found all I need in the itunes smartlist feature, so I thought there wasent need for a tool that did this.
Dosent mc9 use dynamic smartlists?
EsspeN at 2007-11-15 16:52:58 >

# 9 Re: A Challenge to Windows Programmers
Esspen,
MC9 has a kind of smartlist but its only dynamic on the PC, not on the iPod. MC9 chooses a dynamic list of songs and then uploads the playlist to the ipod on the next sync. This is a bit more limited than iTune's rule based smartlists that change dynamically on the ipod after you play each tune.
Adam wants some way to understand what these rule based lists look like in the iTunes database on the iPod so that MC9 can put the same kind of rule based (RB)playlists on the iPod.
To Adam,
I think there might be one further obstacle in combining the functionality of MC9 smartlists and iTunes RBPlaylists. I agree that the MC9 ones on the PC are more sophisticated than iTunes with better boolean functions and different tags supported. The problem is I doubt that all of these functions will transfer to the iPod RBPlaylists because it will depend on the the way iPod can deal with rules which is probably a function of the firmware.
Graeme
# 10 Re: A Challenge to Windows Programmers
Originally posted by bighairy
You just want someone to reverse engineer this feature so that MC9 can get it too :-)
Originally posted by ashawley
And you got it Graeme, that's exactly my reasoning. Not just MC9, but any one else can benefit from this.
Ohh.. .. Now I c ..
Who would spend their freetime to make a freeware tool so mc9 that charges $40 for their software can use it?
EsspeN at 2007-11-15 16:54:56 >

# 11 Re: A Challenge to Windows Programmers
Originally posted by bighairy
<snip!>
I think there might be one further obstacle in combining the functionality of MC9 smartlists and iTunes RBPlaylists. I agree that the MC9 ones on the PC are more sophisticated than iTunes with better boolean functions and different tags supported. The problem is I doubt that all of these functions will transfer to the iPod RBPlaylists because it will depend on the the way iPod can deal with rules which is probably a function of the firmware.
<snip!>
This worries me, also. If iTunes can't understand some of these functions, there's no chance that the iPod will... and that can cause some ICKY bugs. *shudder*
c.c.r. at 2007-11-15 16:55:53 >
