Changes

Jump to navigation Jump to search

OpenTasks

436 bytes added, 09:10, 24 February 2010
→‎Audio related tasks: Restructure things a bit
== Audio related tasks ==
 
=== Improve sound support in SCUMM games ===
''Technical Contact'': [[User:Sev|Eugene Sandulenko]], [[User:Kirben|Travis Howell]]
 
* Add support for beeper sound used by the Apple II version of Maniac Mansion to the SCUMM engine. Unfortunately there is no demo versions are available, so you need to own the game. Known information about the resource format can be found [[SCUMM/V0/Maniac_Mansion_Apple_II|here]].
 
* Add support for sound format used by Macintosh version of Loom to SCUMM engine. Known [http://sourceforge.net/tracker/index.php?func=detail&aid=824221&group_id=37116&atid=418823 information] about the structure of the sound resources used is available. If you don't own the game, the LucasArts Mac CD Game pack is usually available via eBay.
=== Audio output selection ===
* All configuration must be serializable for our configuration file. (And it would be nice to have some auto update feature for old configuration files!)
=== MIDI enhancements ===Many of the adventures supported by ScummVM make use of MIDI music. Which is why we already include several device drivers for various MIDI APIs and emulators (e.g. ALSA, Windows MIDI, Mac OS X CoreAudio/CoreMIDI, fluidsynth...). ==== MIDI device configuration ====
''Technical Contact'': [[User:Fingolfin|Max Horn]]
''Background:''
Many of the adventures supported by ScummVM make use of MIDI music. Which is why we already include several device drivers for various MIDI APIs and emulators (e.g. ALSA, Windows MIDI, Mac OS X CoreAudio/CoreMIDI, fluidsynth...). Right now, the MIDI drivers (and more generally, audio drivers, see the previous task) are treated by ScummVM in a rather single minded fashion: Either a driver is linked in and hence "available", or not. It's not possible to configure anything about them (like ports to be used etc.), nor does it ever take into account that a single driver might correspond to multiple devices (after all, you can plug several sequencers into your MIDI port; or you could have configured several different sound font settings in your MIDI emulator).These two issues are very tightly related. <span style="color:red">TODO improve and extend description, and integrate it better with the Audio output selection task</span>
Some more details can be found on the [[Music drivers redesign]] Wiki page.
* Devices should be configurable via the GUI; this needs to be done in a flexible (different devices/drivers offer different settings) and portable fashion.
==== Accolade MIDI XMIDI parser ====''Technical Contact'': [[User:KirbenFingolfin|Travis HowellMax Horn]]
''Background:''
The Elvira 1 (DOS), Elvira 2 (DOS), Waxworks (DOS) Several of our games make use of the AGOS engine use the [http://adplug.sourceforge.net/library/entry.php?file=db/AccoladeMidi.txt Accolade MIDI] XMIDI format for music. The current We already have a parser for it (see engines/agossound/midiparser_s1dmidiparser_xmidi.cpp), is which was based off looking at on code from the music in the DOS Floppy Demo of Simon the Sorcerer 1 (Which was based Waxworks engine) and guess work[http://exult.sf. The current code frequently crashes when changing locations in Waxworksnet Exult] project, due to invalid MIDI data been passed alongbut it is incomplete.
''The Task:''
Updated 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 current parser[http://exult.sf.net Exult] project (see Exult's audio/midi_drivers/XMidiSequence.cpp) could be used as a reference again.* In addition, to completely support [http://pentagram.sf.net Pentagram] has XMidi code based on the Exult code, but may be cleaner (see [http://adplugpentagram.svn.sourceforge.net/viewvc/pentagram/pentagram/trunk/audio/midi/ here].)* Another good reference for this task is the AIL librarywhich has been recently open-sourced by its [http:/entry/www.thegleam.php?file=dbcom/ke5fx/AccoladeMidiauthor]. This is infact where XMIDI comes from, and it even contains specs.txt Accolade MIDI] format used by these gamesTo find them, unzip AIL2. There are already comments ZIP; in the current codethere you find A214_D2.ZIP, which when unzipped contains a dir DOC, about where each additional MIDI event is triggered which in the music turn contains ASCIIDOC.ZIP, which then contains XMIDI.TXT and some other files which might be of these gamesuse (e.g. NOTES.TXT).
==== XMIDI Accolade MIDI parser ====''Technical Contact'': [[User:FingolfinKirben|Max HornTravis Howell]]
''Background:''
Several The Elvira 1 (DOS), Elvira 2 (DOS), Waxworks (DOS) games of our games make the AGOS engine use of the XMIDI [http://adplug.sourceforge.net/library/entry.php?file=db/AccoladeMidi.txt Accolade MIDI] formatfor music. We already have a The current parser for it (see soundengines/agos/midiparser_xmidimidiparser_s1d.cpp), which is based off looking at the music in the DOS Floppy Demo of Simon the Sorcerer 1 (Which was based on Waxworks engine) and guess work. The current code from the [http://exult.sf.net Exult] projectfrequently crashes when changing locations in Waxworks, but it is incompletedue to invalid MIDI data been passed along.
''The Task:''
SpecificallyUpdated the current parser, we require to completely 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 [http://exultadplug.sfsourceforge.net Exult] project (see Exult's audio/midi_driverslibrary/XMidiSequence.cpp) could be used as a reference againentry.* In addition, [http:php?file=db//pentagramAccoladeMidi.sftxt Accolade MIDI] format used by these games.net Pentagram] has XMidi code based on There are already comments in the Exult current code, but may be cleaner (see [http://pentagram.svn.sourceforge.net/viewvc/pentagram/pentagram/trunk/audio/midi/ here].)* Another good reference for this task about where each additional MIDI event is triggered in the AIL library which has been recently open-sourced by its [http://www.thegleam.com/ke5fx/ author]. This is infact 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 dir DOC, which in turn contains ASCIIDOC.ZIP, which then contains XMIDI.TXT and some other files which might be music of use (e.g. NOTES.TXT)these games.
=== Support for Acorn Audio Format: Desktop Tracker ===
* ARM assembler knowledge is a big plus.
* Acorn knowledge is a plus.
 
=== Improve sound support in SCUMM games ===
''Technical Contact'': [[User:Sev|Eugene Sandulenko]], [[User:Kirben|Travis Howell]]
 
<span style="color:red">TODO: Is this task really suitable for this wiki page? It seems to be very specific and has a high entry barrier (esp. for the Apple II part). At the very least, a more detailed description is necessary.</span>
 
* Add support for beeper sound used by the Apple II version of Maniac Mansion to the SCUMM engine. Unfortunately there is no demo versions are available, so you need to own the game. Known information about the resource format can be found [[SCUMM/V0/Maniac_Mansion_Apple_II|here]].
 
* Add support for sound format used by Macintosh version of Loom to SCUMM engine. Known [http://sourceforge.net/tracker/index.php?func=detail&aid=824221&group_id=37116&atid=418823 information] about the structure of the sound resources used is available. If you don't own the game, the LucasArts Mac CD Game pack is usually available via eBay.
== Tools ==
1,079

edits

Navigation menu