libADLMIDI icon indicating copy to clipboard operation
libADLMIDI copied to clipboard

Implement support for Apogee Sound System loops

Open Wohlstand opened this issue 7 years ago • 3 comments

Apogee Sound System has support of loop points. While our current implementation which allows only single and infinite-only loop, Apogee Sound System can have loops with a specified count and having multiple loops in the same file!

A document EMIDIAPI.TXT taken from DukeNukem source code package from the AudioLib folder.

Event it doesn't supports nested loops, a nested loops at us are easily can be supported as we are doing preprocessing of entire MIDI data, we will don't do re-allocations to increase/decrease the stack of nested loops: we will scan full data for any possible loop related events and will allocate stack into the necessary size before we will begin a playback.

Wohlstand avatar Jun 21 '18 05:06 Wohlstand

Supporting the XMI loop points would be awesome as well, System Shock music seems to use these a bunch.

Interrupt avatar Jul 09 '18 07:07 Interrupt

The XMI loops are already implemented in recent time, the only EMIDI loops wasn't made, there are related to Duke Nukem 3D and related games.

Wohlstand avatar Jul 09 '18 08:07 Wohlstand

Related to Apogee loops: it was made some experiment, however, looks it needs to have the manual switch of this support due to conflict with different loop configs, and also, provide the ability for per-track loops that EMIDI wants to have.

Wohlstand avatar Sep 25 '18 13:09 Wohlstand