Changes in MO3 revision 5?

Started by saga, 18 May '14 - 22:06

saga

For some side project, I need to read out some data from MO3 files. Said project uses the "unofficial" reverse-engineered unmo3 code. I am aware that MO3 r5 added sample and instument filenames, which are stored as yet another zero-terminated string right after the sample / instrument name. However, this doesn't seem to be the only difference. After the names, 41 bytes of data follow in older format revisions. However, to prevent misalignment, I need to read two additional bytes in r5 files. Ian, can you shed some light on what those two extra bytes do?

Ian @ un4seen

Those 2 extra bytes are only present when bits 12+14 are set in the sample's flags, which indicates that the sample shares OGG headers with another sample (they tell which sample).