diff options
Diffstat (limited to 'engines/sci/sfx/old/ROADMAP')
| -rw-r--r-- | engines/sci/sfx/old/ROADMAP | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/engines/sci/sfx/old/ROADMAP b/engines/sci/sfx/old/ROADMAP new file mode 100644 index 0000000000..9a6ec1b4da --- /dev/null +++ b/engines/sci/sfx/old/ROADMAP @@ -0,0 +1,72 @@ +The way I would have made things if I had the time to do it +Rickard Lind <rpl@dd.chalmers.se>, 2000-12-30 +------------------------------------------------------------------------------- + +Step 1: + +D rename "src/sound/midi.c" in freesci to "oldmidi.c" and still use it +D move my "midi*" and "midiout*" to "src/sound" +D change all "glib.h" to the real thing + +Step 2: + +D implement all note-playing, volume changing, reverb etc in "midi_mt32.*" + use disassembled sierra SCI1.1 driver as the main source of inspiration +D change "soundserver_null.c" to use the new device driver for MT-32 +* use "~/.freesci/config" to set ALSA/OSS and other options + +Step 3: + +* Implement a GM translation driver "midi_gm.*" using a parsed textfile + for instrument mapping +* Improve instrument mappings using new features such as keyshift, + volume adjust and velocity remap + +Step 4: + +* Reimplement a SCI0 soundserver using the new sound sub sytem +* PCM support (samples) with ALSA and possibly DirectX +* MPU-401 UART midiout driver for DOS/Windows + +Step 5: + +* SCI01, SCI1, SCI32 soundserver +* Adlib support "midi_opl2.*", "oplout_alsaraw.*", "oplout_pcmemu.*" +* PCM support Sound Blaster DOS + +Step 6: + +* Make it possible to play samples and use opl2 emulation (found in MAME + I think) at the same time through the same sound device + +Step 7: + +* All those other little nifty things... + +------------------------------------------------------------------------------- + +My idea concerning naming of the files: + +src/sound/midi.* wrapper for MIDI device drivers +src/sound/midiout.* wrapper for different methods to output + MIDI data +src/sound/pcm.* wrapper for PCM device drivers +src/sound/pcmout.* wrapper for different methods to output + PCM data +src/sound/midi_mt32.* Roland MT-32 device driver +src/sound/midi_opl2.* Adlib/OPL2 device driver +src/sound/midiout_alsaraw.* rawmidi output using alsalib +src/sound/midiout_unixraw.* rawmidi output using unix filesystem +src/sound/oplout_alsaraw.* opl output using alsa + +------------------------------------------------------------------------------- + +Use Linux and ALSA 0.5.x (or later) and Roland MT-32 while developing. +Don't implement supremely stupid abstract frameworks without consulting +experienced people on the mailinglist first. There are infinite ways to +implement the sound subsystem the VERY VERY WRONG way. Don't make +everything too much of a hack either. + +Use the files is in "lists/" when doing text output for debugging purposes. + +Good luck! |
