I was thinking that maybe it's due to the Ape or ID3v1 tags.
Quote from: Sunraycer on 18 July, 2011, 01:01:09 AMI was thinking that maybe it's due to the Ape or ID3v1 tags.File tags don't store the duration of a file, and those tags are at the end of the file, not the start.
Seems like Start Time and End Time are part of the extended tag for ID3v1 (from wikipedia), no?
How would a player determine track length then?
Does anyone know why WavPack supports only ID3v1 and not ID3v2? Just curious...
As was said, the total duration of an audio file is a fundamental piece of info and is stored unambiguously in the WavPack header, so it should be available on opening the WavPack file (presumably with the WavPack library). However, it might be that Songbird does not really open the file until it’s actually going to play it, and has some other metadata parser that tries to get basic info (including length) that operates when just browsing (this is, for example, how Rockbox works). Now, if there is a bug in that metadata parser it might get the length wrong at that time, but then once play starts it uses the length that the library returns.
This problem could also be triggered if your WavPack files were created by one of the few programs that [incorrectly] neglect making the finalizing call to the WavPack library that puts the final length in the header (cuesplitter is one).
Was there a fix for this in Rockbox that I could pass on to the Songbird developers? Or do you think it's done this way on purpose for speed or some other reason and they wouldn't want to fix it?
I used dBpoweramp to make my files. Seems like a great program from my use. Any comments about it?
Thanks for the info about tags, David—and hey, I wasn’t aware WavPack was so much older than all those other upstarts.
But what version of Songbird is this (and what platform)? I didn't think they had native support for WavPack, but I knew there was a plugin written a couple years ago (but it hasn't been updated in a while).
Okay, that makes a little more sense. I guess one thing I don’t understand is that if Songbird uses GStreamer for all their decoding then it seems like WavPack would come along for free (WavPack is now in the “good” camp), but I guess not.
Anyway, knowing this, it seems likely that your problem might be in the wrapper (the existence of which may answer my question above) or in the old version of GStreamer that you have, rather than in Songbird itself. I am pretty busy these days, but if I get a free moment I’ll see if I can figure out how to build that dll for you (I do have VS2008, anyway).