iTunes gapless playback and Max' AAC's

Discuss the current and future development of Max.
Maurits
Posts: 117
Joined: Sun Jan 29, 2006 1:36 pm
Location: London, Europe

Post by Maurits » Thu Dec 07, 2006 10:49 pm

pwagland wrote: it is a hmoov, not a moov.
Hhmm. I hope that is some quirk somewhere. I can't seem to find files that have anything else than moov, I've never heard of hmoov and neither has Google. ;-)

pwagland
Posts: 16
Joined: Tue Nov 28, 2006 11:29 pm

Post by pwagland » Thu Dec 07, 2006 11:15 pm

Maurits wrote:
pwagland wrote: it is a hmoov, not a moov.
Hhmm. I hope that is some quirk somewhere. I can't seem to find files that have anything else than moov, I've never heard of hmoov and neither has Google. ;-)
Heh. I probably should have replied earlier... I think that the h is actually just a length byte that ends up printable.

Sadly.

:-)

Maurits
Posts: 117
Joined: Sun Jan 29, 2006 1:36 pm
Location: London, Europe

Post by Maurits » Thu Dec 07, 2006 11:28 pm

I must say I'm lacking inspiration right now. Let's hope Stephen can find time to look at:

* Capitalization of the itunSMPB atom
* The missing leading space
* The odd bitrate
* The missing block of zero's (not sure about this one, is it really missing, could it matter?)

Taking away these differences between iTunes and Max would narrow down the search.

You don't happen to have a Windows machine around, do you? Winamp claims it writes iTunes gapless compatible AAC's now. Would be interesting to check whether they managed to do it right.

pwagland
Posts: 16
Joined: Tue Nov 28, 2006 11:29 pm

Post by pwagland » Fri Dec 08, 2006 7:29 am

Maurits wrote:I must say I'm lacking inspiration right now. Let's hope Stephen can find time to look at:

* Capitalization of the itunSMPB atom
* The missing leading space
These two I can look at myself.
Maurits wrote: * The odd bitrate
* The missing block of zero's (not sure about this one, is it really missing, could it matter?)
These two are related I think, and it is an additional block of zeros, not a missing block of zeros. I had a quick look for that, but I cannot see where the 'free' block is added.
Maurits wrote: Taking away these differences between iTunes and Max would narrow down the search.

You don't happen to have a Windows machine around, do you? Winamp claims it writes iTunes gapless compatible AAC's now. Would be interesting to check whether they managed to do it right.
Sadly (happily?) not :-)

Maurits
Posts: 117
Joined: Sun Jan 29, 2006 1:36 pm
Location: London, Europe

Post by Maurits » Fri Dec 08, 2006 4:54 pm

pwagland wrote:
Maurits wrote:I must say I'm lacking inspiration right now. Let's hope Stephen can find time to look at:

* Capitalization of the itunSMPB atom
* The missing leading space
These two I can look at myself.
That would be great!

By the way, you might be interested in the way XLD does it. The magic is in XLDAacOutputTask.m in the XLD source.

Maurits
Posts: 117
Joined: Sun Jan 29, 2006 1:36 pm
Location: London, Europe

Post by Maurits » Tue Dec 12, 2006 5:43 pm

pwagland, apparently there is a new firmware containing 'bug fixes' for your iPod, version 1.2.1. Could you try that one? It seems it can't be downloaded from the Apple site, you need to connect your iPod to iTunes.

Secondly, I thought of another test scenario. Could you try the same source files twice using XLD. Once with the 'add gapless information' and once without? That way we can test whether the gapless info is partially correct/used or completely incorrect/ignored.

pwagland
Posts: 16
Joined: Tue Nov 28, 2006 11:29 pm

Post by pwagland » Wed Dec 13, 2006 8:53 am

Maurits wrote:pwagland, apparently there is a new firmware containing 'bug fixes' for your iPod, version 1.2.1. Could you try that one? It seems it can't be downloaded from the Apple site, you need to connect your iPod to iTunes.
Yup... I have the update now... I will try and do some testing tonight...
Maurits wrote: Secondly, I thought of another test scenario. Could you try the same source files twice using XLD. Once with the 'add gapless information' and once without? That way we can test whether the gapless info is partially correct/used or completely incorrect/ignored.
The other thing that I have discovered... a friend of mine is using the released version of Max (without the gapless support) and when it is imported into iTunes, and then exported to the iPod, it plays pretty much gaplessly, but that is because iTunes will try to automatically add in the gapless information. So, I was going to try some experiments with that and see what the results are...

Maurits
Posts: 117
Joined: Sun Jan 29, 2006 1:36 pm
Location: London, Europe

Post by Maurits » Wed Dec 13, 2006 1:10 pm

I'm still puzzled by the fact iTunes plays Max' files gapless but your iPod doesn't. Have you tried Max' gapless files on your friends iPod? It could rule out your iPod (or particular model) being the problem.

I'll try to get some of Max' gapless files onto different types of iPods at the Apple Store.

pwagland
Posts: 16
Joined: Tue Nov 28, 2006 11:29 pm

Post by pwagland » Wed Dec 13, 2006 1:54 pm

Maurits wrote:I'm still puzzled by the fact iTunes plays Max' files gapless but your iPod doesn't. Have you tried Max' gapless files on your friends iPod? It could rule out your iPod (or particular model) being the problem.

I'll try to get some of Max' gapless files onto different types of iPods at the Apple Store.
He has exactly the same iPod as me (ordered on the same day ;-)

pwagland
Posts: 16
Joined: Tue Nov 28, 2006 11:29 pm

Post by pwagland » Wed Dec 13, 2006 7:57 pm

Maurits wrote:pwagland, apparently there is a new firmware containing 'bug fixes' for your iPod, version 1.2.1. Could you try that one? It seems it can't be downloaded from the Apple site, you need to connect your iPod to iTunes.
OK... this seems to have made zero difference. I also removed the gapless info header from Max and both the iTunes imported file and the Max produced file had exactly the same blip between tracks. Not sure if that is good or bad news :-)
Maurits wrote: Secondly, I thought of another test scenario. Could you try the same source files twice using XLD. Once with the 'add gapless information' and once without? That way we can test whether the gapless info is partially correct/used or completely incorrect/ignored.
Hmm... This is starting to do in my brain I think... :-)

After converting the FLAC straight to AAC with XLD (instead of going via WAV) then I finally get gapless files. Now... to find out what the differences between XLD and Max are...

[ Paul has a fiddle ]

Well... not really any closer, however I have discovered that the two files are about 2 k in difference, and that there are a lot of differences between the two files. Sadly, I have almost no idea what any of those differences mean... that would mean much more chasing down of stream and apple atom information.

The two main things that I can see, and think that could be the problem:
1. The gapless and other metadata are reversed between the two files.
2. XLD does not seem to spit out the "free" chunk (that also seems to account for at least some of the size difference).

Any ideas on how to proceed from here? I don't yet know Objective C... so massive code changes are tricky at this point ;-).

Post Reply