QUOTE (Veritas @ Jan 25 2006, 02:30 PM)
So Otto do you know if the foo_pod replaygain translation adjusts the soundcheck values or the volume adjustment?
I believe it can do either. There's a setting for that, or there used to be. The reason for this setting was that, on older iPods (3G), the soundcheck is not performed on audio using the Line Out on the dock. Newer iPods fixed this flaw.
QUOTE (Veritas @ Jan 25 2006, 02:30 PM)
If iTunes doesn't read the soundcheck values directly from the file then does that mean that it is stored somewhere in the iTunes Library XML file?
Just to be clear, the XML file is *not* the library. The library is the ITL file, the XML file is what I like to call a "write-only" file. iTunes never really reads the XML file.
QUOTE (Veritas @ Jan 25 2006, 02:30 PM)
Is it possible to manually modify those values so that they reflect replaygain settings?
Possible? Sure. You'd have to figure out how the ITL file works.
QUOTE (Veritas @ Jan 25 2006, 11:35 PM)
When foo_pod writes replaygain values to the iPod, does it simply replace the first value in the itunNORM field leaving the rest of the values alone?
Neither foo_pod nor the iPod care what is in the iTunNORM comment. The iPod never, ever, reads tags. Period. It's getting it's information from the iTunesDB. foo_pod writes converted ReplayGain values directly to the proper places in the iTunesDB file on the iPod.
QUOTE (Veritas @ Jan 25 2006, 11:35 PM)
If this is the case, then (and I'm probably setting myself up for my own private hell) I'm considering manually editing the itunNORM field with a translated Replaygain setting. Yes, I am that obsessive.
Wouldn't do you any good. The iPod does not read the iTunNORM data.
Now, iTunes DOES read this data, but only when the song is initially added to iTunes. After that, it never looks at it again, as far as I know. Although from what the iVolume guy has said on his page, I'm starting to wonder about that.
QUOTE (Veritas @ Jan 25 2006, 11:35 PM)
So, first of all, is this even feasible? (Ignoring the massive waste of time) And second, is there any way to harvest the RG/SC translation data from foo_pod so that I don't have to compute it all and then translate to hexadecimal (or whatever format that itunNORM field is in)
It really depends on what exactly your goal here is. I'm uncertain as to what it is, precisely, that you're attempting to accomplish.
QUOTE (Veritas @ Jan 25 2006, 11:35 PM)
Now this conversation gives me pause. From what I understand, the itunNORM field is not directly read from the audio file, but it will be read when adding the file to the iTunes library. So, I think I should be able to turn on soundcheck in itunes, causing it to analyze what's there. Then, modify that data to reflect RG values. Then, delete the iTunes library and finally add all the newly formatted audio files back into the library, leaving soundcheck turned on. Will this work? Will this get around iTunes overwriting the RG values?
That would work, despite being a massive pain in the ass.
Another way that *might* work would be to let iTunes scan the file, thus writing the iTunNorm crap to it, then modifying the iTunNorm data directly, and then using the UpdateInfoFromFile() call in the COM library to force iTunes to reread the file tags. This *might* update volume information from that tag, but that is only conjecture. However, it sounds sorta like what the iVolume guy is doing, although he's doing it on the Mac, it seems. Testing would be needed to see if this would work.
QUOTE (Veritas @ Jan 26 2006, 12:36 AM)
1. I need to use iTunes for the smart playlists. I rely on playlists that refer to other playlists as selection criteria.
I wrote functionality into my original implementation of smart playlists to allow these sort of smart playlists to work without using iTunes. Since foo_pod is using a highly modified version of that original code, foo_pod *could* implement this, in theory. You'd have to talk to Aero. Basically, foo_pod is not precalculating smart playlists, just letting the iPod do it. But the iPod does not implement the "Playlist" rule. If foo_pod precalculated it (which is what that code I wrote does), then it would work.