Open main menu

OpenTasks/Audio/XMIDI Parser

< OpenTasks
Revision as of 09:33, 9 March 2012 by Strangerke (talk | contribs) (Close XParser as requested by LordHoto)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Closed Task
Task Name XMIDI Parser
Technical Contact(s) The ScummVM Team
Subsystem Audio
Status Closed by LordHoto


Several of our games make use of the XMIDI format. We already have a parser for it (see sound/midiparser_xmidi.cpp), which was based on code from the Exult project, but it is incomplete.

The Task:

Specifically, we require support for XMIDI_CONTROLLER_FOR_LOOP and XMIDI_CONTROLLER_NEXT_BREAK. There are many more XMIDI controllers, however, and ideally support for all of them would be great. Some references:

  • The XMIDI code from the Exult project (see Exult's audio/midi_drivers/XMidiSequence.cpp) could be used as a reference again.
  • In addition, Pentagram has XMidi code based on the Exult code, but may be cleaner (see here).
  • Another good reference for this task is the AIL library which has been recently open-sourced by its author. This is in fact where XMIDI comes from, and it even contains specs. To find them, unzip AIL2.ZIP; in there you find A214_D2.ZIP, which when unzipped contains a directory DOC, which in turn contains ASCIIDOC.ZIP, which then contains XMIDI.TXT and some other files which might be of use (e.g. NOTES.TXT).