Author Topic: mo3enc's automatic detection of unused samples fails with multiple subsongs  (Read 74 times)

ripcord

  • Posts: 1
The .mptm format allows for multiple subsongs/sequences in one module file, which I am using in order to have my game read the whole OST from one compact file. I am interested in using .mo3 to reduce filesize even more.

I found that the mo3 encoder will automatically try to detect unused samples to remove them, but fails to detect the usage of samples in sequences other than the first one, and these samples end up absent in the output. There doesn't seem to be a way to counteract this with the console encoder; the GUI encoder does allow re-enabling the samples again, one by one, which is tedious to do as there's over a hundred (possibly more in the future).

Ian @ un4seen

  • Administrator
  • Posts: 26234
The MO3 encoder (GUI and console versions) does try to scan subsongs too, so that they're included in the sample usage counts. If you have a file that it isn't working properly with, please post or upload the file to have a look at. You can upload it confidentially here:

   ftp.un4seen.com/incoming/

saga

  • Posts: 2787
I think what ripcord is referring to is OpenMPT's multi-sequence feature (more than one order list per file), which is stored in the "228" chunk (among other things) that MO3 just copies without looking at its contents. The sequence format is documented here.

For the time being, it would probably be easier to just use OpenMPT's "song cleanup" feature and check the "merge sequences" option there. This will merge all sequences into a single sequence with sub songs in a way that would be compatible with the MO3 encoder (and BASS/XMPlay).