by Blzut3 » Mon Sep 08, 2014 22:24
Right, but how does one determine how many IMF tracks there are? The number of PC Speaker, AdLib, and "Digitized" sound can be assumed to be the same, but the number of IMF tracks are unknown. Strictly speaking there's no 100% certain way to detect the number of such chunks, but a tool would have to go out of the way to not include some clues. These include placing !ID! between each section of data (most reliable if the tags exist, but the tags aren't required since vanilla doesn't do anything with them), or the MUSE footer which is only present in the IMF tracks. In other words, numAudioTChunks = 3*A + B, what are A and B?
I suppose one doesn't even need to parse the footer, if the chunk appears to be 88 bytes larger than what the length gives it's probably an IMF, but I'm not sure I feel safe making that assumption.
Is WDC doing something different to avoid having to hard code any of the chunk numbers?
Right, but how does one determine how many IMF tracks there are? The number of PC Speaker, AdLib, and "Digitized" sound can be assumed to be the same, but the number of IMF tracks are unknown. Strictly speaking there's no 100% certain way to detect the number of such chunks, but a tool would have to go out of the way to not include some clues. These include placing !ID! between each section of data (most reliable if the tags exist, but the tags aren't required since vanilla doesn't do anything with them), or the MUSE footer which is only present in the IMF tracks. In other words, numAudioTChunks = 3*A + B, what are A and B?
I suppose one doesn't even need to parse the footer, if the chunk appears to be 88 bytes larger than what the length gives it's probably an IMF, but I'm not sure I feel safe making that assumption.
Is WDC doing something different to avoid having to hard code any of the chunk numbers?