OK...here is my solution:
(Sorry for replying to myself, but after 3 days no one else offered any advice and hopefully someone else will find this information useful)
Background:As mentioned above, music ripped through iTunes 7 does not create a XING/INFO header within the first frame of the mp3 and thus there also is no LAME header telling some players how to play gapless. iTunes stores the info needed for gapless playback inside ID3v2 tags at the top of the file as extra comments inside the ID3v2 tag -- mainly as iTunSMPB and iTunNORM. There are others like iTunPGAP, but the primary comment that holds the most important hex values is iTunSMPB. The 2nd value is encoder delay (528 for iTunes), the 3rd value is zero-padding, and the 4th hex value is the length in samples of the original track. Here is a great discussion on this topic:
http://www.hydrogenaudio.org/forums/index....8231&st=136Personally, I don't like a bunch of junk data and frames inside the meta-tags since who knows what else is in there and what its purpose is. If you are like me and you like your MP3's to be clean and as simple as possible then it would be nice to dump the extra junk data and just have the encoder delay and padding stored inside a LAME header.
Interestingly enough Winamp 5.53 is able to successfully read the iTunes Comments and can play back the album gapless, but Foobar2K 9.5.1 does not recognize these values as legit delay and padding values.
Problem:So there is no problem if you chose to keep these comments, but if you remove them like I do (so that you have very clean ID3 tags) you will no longer be able to play the songs gapless within Winamp, and as I said before they already do not play gapless in Foobar.
Partial Solution:In Foobar If you use the 'Utils: Edit MP3 Gapless Playback Information' you can add the encoder delay and sample length back into the file. You will need to simply convert the hex values to decimal, but that should be enough to tell Foobar how to play the tracks back gapless. So it would seem that the problem is solved, and it is if you only play the tracks back in Foobar. But Winamp will not accept these values from Foobar and since the Comment frames are gone also, you will not be able to play gapless in Winamp.
This seems strange to me that Foobar's method for adding a XING/INFO header is not robust enough for Winamp to read the encoder delay and padding values inside the LAME header. From what I can tell this is not the case if the file already has a XING (VBR, ABR) or INFO (CBR) header, say if your files were ripped with EAC + LAME. If the files already have a correctly formed header, then Foobar is able to change the enc_delay and padding values and Winamp can also see these values and neither one has any problems playing gapless.
But for some reason, when there is no header there to begin with, Foobar does not create the header in a way that Winamp can see it or read the correct values therein. I am not sure who is right or wrong in this, Foobar or Winamp, or neither if the LAME header Spec is too non-specific and/or not fully supported.
Full Solution:After having researched the LAME tag from:
http://gabriel.mp3-tech.org/mp3infotag.html I soon discovered why Foobar is making a LAME header that Winamp cannot read. It is because using the 'Utils: Edit MP3 Gapless Playback Information' on files with no original XING/INFO header, Foobar does not insert the 9-byte Encoder Short Version String into the header (either by mistake or by design). It instead inserts 9 bytes of 0x20 which is ASCII char 32, or simply 'blank spaces' In both VBR and CBR. The delay and padding values start 13 bytes away from the end of this string and that is the correct place for them to be. So it seems that without the Encoder Version String Winamp passes right over the values and ignores them. I simply used my hex editor to overwrite the first 8 bytes of blank spaces with 'LAME3.97' and suddenly Winamp is able to see the corrected delay and padding values and also play the iTunes encoded songs gaplessly just as Foobar does. This works for both VBR and CBR iTunes 7 ripped songs and is one method of getting rid of the iTunes method for gapless playback while still preserving gapless playback.
It would be great if in future Foobar releases that you had the option of adding the LAME Encoder Short Version String when you edit the gapless information.
~NeuroB