I'm trying to read back a riff wave file that has metadata with the WavAudioFormatReader and there is an error in the reading back of sample loop points. The reader correctly parses the chunk, as it reports NumSampleLoops = 1 but then no other metadata information is set about the loop start and end points. The wavefile is correctly opened with loop points in other apps.
I've put a breakpoint here and it will exit from the loop early:
struct SMPLChunk { ... void copyTo (StringPairArray& values, const int totalSize) const { setValue (values, "Manufacturer", manufacturer); setValue (values, "Product", product); setValue (values, "SamplePeriod", samplePeriod); setValue (values, "MidiUnityNote", midiUnityNote); setValue (values, "MidiPitchFraction", midiPitchFraction); setValue (values, "SmpteFormat", smpteFormat); setValue (values, "SmpteOffset", smpteOffset); setValue (values, "NumSampleLoops", numSampleLoops); setValue (values, "SamplerData", samplerData); for (int i = 0; i < (int) numSampleLoops; ++i) { if ((uint8*) (loops + (i + 1)) > ((uint8*) this) + totalSize) > break; setValue (values, i, "Identifier", loops[i].identifier); setValue (values, i, "Type", loops[i].type); setValue (values, i, "Start", loops[i].start); setValue (values, i, "End", loops[i].end); setValue (values, i, "Fraction", loops[i].fraction); setValue (values, i, "PlayCount", loops[i].playCount); } } ...