diff options
| author | Filippos Karapetis | 2009-02-17 10:33:16 +0000 | 
|---|---|---|
| committer | Filippos Karapetis | 2009-02-17 10:33:16 +0000 | 
| commit | d6b5855800713f5f932c65e5239a0f96604ddbd5 (patch) | |
| tree | 68eacc569abb72820d7ed5f5378daeafad9fb9ac | |
| parent | 7f8f0e96f7f72a6252e25c6abacb2ce98e39c395 (diff) | |
| download | scummvm-rg350-d6b5855800713f5f932c65e5239a0f96604ddbd5.tar.gz scummvm-rg350-d6b5855800713f5f932c65e5239a0f96604ddbd5.tar.bz2 scummvm-rg350-d6b5855800713f5f932c65e5239a0f96604ddbd5.zip | |
Removed more directories which are not part of the SCI engine - again, the code and documentation can be referenced from /vendor/freesci/glutton/src/sfx
svn-id: r38404
| -rw-r--r-- | engines/sci/sfx/doc/README | 7 | ||||
| -rw-r--r-- | engines/sci/sfx/doc/patch001.txt | 118 | ||||
| -rw-r--r-- | engines/sci/sfx/doc/sound01.txt | 213 | ||||
| -rw-r--r-- | engines/sci/sfx/lists/GM.txt | 177 | ||||
| -rw-r--r-- | engines/sci/sfx/lists/gm_patches.cpp | 200 | ||||
| -rw-r--r-- | engines/sci/sfx/lists/mt32_timbres.cpp | 183 | ||||
| -rw-r--r-- | engines/sci/sfx/tests/stubs.c | 9 | ||||
| -rw-r--r-- | engines/sci/sfx/tests/tests.cpp | 162 | ||||
| -rw-r--r-- | engines/sci/sfx/tests/tests.vcproj | 158 | 
9 files changed, 0 insertions, 1227 deletions
| diff --git a/engines/sci/sfx/doc/README b/engines/sci/sfx/doc/README deleted file mode 100644 index 502ad7d619..0000000000 --- a/engines/sci/sfx/doc/README +++ /dev/null @@ -1,7 +0,0 @@ -The files in this direcory are a bit outdated. There are some small non -critical errors in "patch.001", they are obvious if you bother to read -the source (which is correct). "sound01.txt" is just meant to give you a -basic understanding of the structures invovled in -SCI01/SCI1/SCI1.1/SCI32 sound resources. - -Ravi has made some really good documentation for SCI0. diff --git a/engines/sci/sfx/doc/patch001.txt b/engines/sci/sfx/doc/patch001.txt deleted file mode 100644 index 0037eea9b4..0000000000 --- a/engines/sci/sfx/doc/patch001.txt +++ /dev/null @@ -1,118 +0,0 @@ -SCI patch.001 Resource Format                                     Revision 0.1 -Rickard Lind                                                        1999-12-16 - -The patch.001 file for Roland MT-32, MT-100, LAPC-1, CM-32L and CM-64. - -This specification will sometimes look very incomprehensible without some -knowledge concerning the MT-32 MIDI implementation. -Have a look at http://members.xoom.com/_XMCM/TomLewandowski/docs.html - - -1. The header (494 bytes) which is always present. - -Offset Size Type Description ----------------------------------------------------------------------------- - 0x000   2       89 00 First Two Bytes - 0x002  20       ASCII String for MT-32 Display ("*It's Only A Model* ") - 0x016  20       ASCII String for MT-32 Display (" CAMELOT, CAMELOT!  ") - 0x02a  20       ASCII String for MT-32 Display ("Ham & Jam & SpamAlot") - 0x03e   2  word MT-32 Master Volume - 0x040   1       Index in Predefined reverb settings at 0x04c (0-10)  - 0x041  11       MT-32 SysEx block setting reverb -                 (last 3 bytes are dummies) - 0x04c   3       Predefined reverb setting #1 (Mode, Time, Level) -   :     :       : - 0x06a   3       Predefined reverb setting #11  - 0x06d   8       MT-32 Patch Memory #1 (see Patch Memory description below) -   :     :       : - 0x1e5   8       MT-32 Patch Memory #48 - 0x1ed   1       n = Number of Timbre Memory (0-64 userdefined instruments) ----------------------------------------------------------------------------- - - -  Patch Memory description -   -  Offset Description -  -------------------------------------------------------------------- -   0x00  Timbre Group (0 = Bank A, 1 = Bank B, 2 = Memory, 3 = Rythm) -   0x01  Timbre Number (0 - 63) -   0x02  Key Shift (0-48) [-24 - +24] -   0x03  Fine Tune (0-100) [-50 - +50] -   0x04  Bender Range (0-24) -   0x05  Assign Mode (0 = Poly 1, 1 = Poly 2, 2 = Poly 3, 3 = Poly 4) -   0x06  Reverb Switch (0 = OFF, 1 = ON) -   0x07  Dummy -  -------------------------------------------------------------------- - -   Mapping MT-32 to GM instruments is done with Timbre Group and -   Timbre Number. -    -   Instrument 0-63:   Bank A, 0-63 -   Instrument 64-127: Bank B, 0-63 - - -2. The Timbre Memory block (if n > 0), offset relative to 0x1ee - -Offset Size Type Description ------------------------------------------------------------------------------- - 0x000  246      MT-32 Timbre Memory #1 (see Timbre Memory description below) -   :     :       : - 0x???  246      MT-32 Timbre Memory #n ------------------------------------------------------------------------------- - - -  Timbre Memory description -    -  Offset Size Description -  ----------------------------------------------------------------------- -   0x00   10  Timbre Name (ASCII String) -   0x0a       See http://members.xoom.com/_XMCM/TomLewandowski/lapc1.txt -  ----------------------------------------------------------------------- - - -3. Second MT-32 Patch Memory Block, offset realtive to 0x1ee + n * 246 - -Offset Size Description ---------------------------------------------------- - 0x000   2  0xab 0xcd (if this this is not present -                       there is no second block) - 0x002   8  MT-32 Patch Memory #49 -   :     :  : - 0x17a   8  MT-32 Patch Memory #96 ---------------------------------------------------- - - -4. Block for setting up Patch Temporary Area (rythm part) and -   System Area - Partial Reserve, offset relative to 0x370 + n * 246 - -Offset Size Description ----------------------------------------------------      - 0x000   2  0xdc 0xba (if this this is not present -                       this block is non existent) - 0x002   4  Rythm Setup for Key #24 (see below) -   :     :  :      - 0x0fe   4  Rythm Setup for Key #87 - 0x102   9  System Area - Partial Reserve ----------------------------------------------------      - -  Rythm Setup description -  See http://members.xoom.com/_XMCM/TomLewandowski/lapc1.txt - - -TODO: - -  * Clearly describe which parts are interesting for a quick and dirty -    GeneralMidi/patch.001/FreeSCI implementation - -  * Describe how the Sierra MT-32 driver uses patch.001 - -  * Make this readable to someone who has not been reading reference -    manuals since early childhood - -  * SGML - - -Revision history - -   Revision 0.1 - 1999-12-16 -      - First pre-release of the specification diff --git a/engines/sci/sfx/doc/sound01.txt b/engines/sci/sfx/doc/sound01.txt deleted file mode 100644 index 8aae367da7..0000000000 --- a/engines/sci/sfx/doc/sound01.txt +++ /dev/null @@ -1,213 +0,0 @@ -The SCI01+ sound resource format - -Originally written by Rickard Lind, 2000-01-05 -Extensively rewritten by Lars Skovlund, 2002-10-27 -Again updated by Lars Skovlund, 2005-10-12 - -Used in: -Quest for Glory II: Trial by Fire (QfG2) -Christmas greeting card 1990 (CC1990) - -The magic number (84 00) is left out, offset 0 is directly after these two -bytes.  - -If you examine a SCI01 sound resource use "sciunpack --without-header" to -get the pointers within the file correct for your hex viewer.  - -DESCRIPTION ------------ - -The SCI01 sound resource consists of a number of track lists and the -tracks themselves. There is one track list for (almost) every piece of -sound hardware supported by the game. Each track either contains track -data for one specific channel or a digital sample.  - -SCI1 resources are the same, except that sample chunks are no longer -allowed (since they are now separate resources). - -  Optional Priority Header -  ------------------------ - -  Some SCI1 songs contain an 8-byte header before the track list. At -  least on PC platforms, its data is mostly unused. The priority value -  is used if the script does not override it. - -  offset   size         description -    ------------------------------------------------------- -      0	   byte		0xf0 Priority header marker byte -      1    byte		Recommended priority for this song -      2    6 bytes	Apparently unused - -  Track List -  ---------- - -  The track list tells us which tracks are to be played on particular -  hardware platforms. Each entry either terminates the previous list -  or contains an entry for the current one. - -  List Termination -  ---------------- - -    offset size description -    ----------------------- -      0    byte 0xff -      1    byte Hardware ID of next list, 0xff if none - -  List Entry -  ---------- - -    offset size description -    ----------------------- -      0	   byte 0 -      1    byte 0 -      2    word Data Chunk pointer -      4    word Data Chunk size - -    The very first list in a file looks a little odd, in that it -    starts with a single byte which tells us the hardware ID -    associated with the first list (0 in all the cases I've seen) -    followed by list entries as usual. - -    Known Hardware IDs -    ------------------ - -    Some of these are used by multiple drivers, probably because they -    support the same number of polyphonic voices. Note that the -    hardware ID does not necessarily tell us whether samples are -    supported - thus, the list for Roland MT-32 also contains sample -    tracks, because the user may also have a Sound Blaster card -    connected. SCI1 most likely has more hardware IDs than these. - -    0x00 - Sound Blaster, Adlib -    0x06 - MT-32 with Sound Blaster (for digital audio) -    0x09 - CMS/Game Blaster -    0x0c - Roland MT-32 -    0x12 - PC Speaker -    0x13 - IBM PS/1, Tandy 3-voice - -  Data Chunks -  ----------- - -  In the sound resources of QfG2 and CC1990 I've seen two types of Data -  Chunks, Sample and MIDI channel track. - - -    Sample Chunk -    ------------ - -    offset size description -    ----------------------- -      0    byte =0xfe -      1    byte !=0xfe (always 0 in QfG2 and CC1990) -      2    word Sample rate (Hz) -      4    word Sample length -      6    word Sample point 1 (begin?) -      8    word Sample point 2 (end?) -     10         Unsigned 8-bit mono sample data - - -    MIDI channel track Chunk -    ------------------------ - -    This chunk begins with a 2 byte header. The low nibble of the -    first byte indicates the channel number. The high nibble controls -    certain aspects of (dynamic) track channel/hardware channel mapping. -     -    The second byte tells us how many notes will be -    playing simultaneously in the channel. From the third byte onward -    is the MIDI track data which looks just like normal SCI0 MIDI -    track data, but all status bytes are targeted at one specific MIDI -    channel. - -Example, sound.833 from QfG2 (--without-header) ------------------------------------------------ - -offset  data description ------------------------- - 0000     00 Hardware ID for first track list - 0001     00 Track list continuation - 0002     00 Same hardware device - 0003   003F Data Chunk pointer (Little Endian) - 0005   0013 Data Chunk length (LE)   - 0007     00 Track list continuation - 0008     00 Same hardware device - 0009   006A Data Chunk pointer (LE) - 000B   0015 Data Chunk length (LE) - 000D     FF Next track list - 000E     09 for hardware device 0x09 - 000F     00 Track list continuation - 0010     00 Same hardware device - 0011   003F Data Chunk pointer (LE) - 0013   0013 Data Chunk length (LE) - 0015     00 Track list continuation - 0016     00 Same hardware device - 0017   0052 Data Chunk pointer (LE) - 0019   0018 Data Chunk length (LE) - 001B     00 Track list continuation - 001C     00 Same hardware device - 001D   0094 Data Chunk pointer (LE) - 001F   0012 Data Chunk length (LE) - 0021     FF Next track list - 0022     0C for hardware device 0x0C - 0023     00 Track list continuation - 0024     00 Same hardware device - 0025   003F Data Chunk pointer (LE) - 0027   0013 Data Chunk length (LE) - 0029     00 Track list continuation - 002A     00 Same hardware device - 002B   0052 Data Chunk pointer (LE) - 002D   0018 Data Chunk length (LE) - 002F     FF Next track list - 0030     13 for hardware device 0x13 - 0031     00 Track list continuation - 0032     00 Same hardware device - 0033   003F Data Chunk pointer (LE) - 0035   0013 Data Chunk length (LE) - 0037     00 Track list continuation - 0038     00 Same hardware device - 0039   007F Data Chunk pointer (LE) - 003B   0015 Data Chunk length (LE) - - 003D  FF FF Sequence Control - End of Sequence Blocks - ------------------------------------------------------------ - 003F     0F MIDI Track channel 15 (control channel) - 0040     01 One note playing on track (probably just to satisfy the -	     MIDI engine) - 0041        MIDI Track data like SCI0 - 0052     02 MIDI Track channel 2 - 0053     02 Two notes playing on track - 0054        MIDI Track data like SCI0  - 006A	  03 MIDI Track channel 3 - 006B	  01 One note playing on track - 006C	     MIDI Track data like SCI0 - 007F	  0A MIDI Track channel 10 - 0080	  01 One note playing on track - 0081	     MIDI Track data like SCI0 - 0094	  02 MIDI Track channel 2 - 0095	  01 One note playing on track - 0096	     MIDI Track data like SCI0 - -Addendum (provided by Lars Skovlund) ------------------------------------- - -First of all, tracks do not loop individually. No loop signals are -reported. - -Absolute cues are generally stored in the signal selector, and -cumulative cues are generally stored in the dataInc selector, with -some interesting twists:  - -1. The server's record of the absolute cue value is reset as part of -   UPDATE_CUES. -2. When a cumulative cue is reported to the VM object, it will be -   placed in _both_ fields. In such a case, a constant of 0x7f will be -   added to the _signal_ selector only, to be able to distinguish the -   two kinds of cue (this has already been coded). -3. The above only happens if the sound does not use absolute cues -   (i.e. if the signal is 0 a priori). Note that, because of 1) -   above, this does not cause problems neither with successive -   cumulative cues nor with mixed cumulative/absolute cues. -4. A signal of 0xff will stop the sound object playing. This may be -   for purely internal purposes. -5. There no longer is a field indicating the amount of increment for -   a cue. diff --git a/engines/sci/sfx/lists/GM.txt b/engines/sci/sfx/lists/GM.txt deleted file mode 100644 index eea2510447..0000000000 --- a/engines/sci/sfx/lists/GM.txt +++ /dev/null @@ -1,177 +0,0 @@ -/*000 00*/ "Acoustic Grand Piano", -/*001 01*/ "Bright Acoustic Piano", -/*002 02*/ "Electric Grand Piano", -/*003 03*/ "Honky-tonk Piano", -/*004 04*/ "Electric Piano 1", -/*005 05*/ "Electric Piano 2", -/*006 06*/ "Harpsichord", -/*007 07*/ "Clavinet", -/*008 08*/ "Celesta", -/*009 09*/ "Glockenspiel", -/*010 0A*/ "Music Box", -/*011 0B*/ "Vibraphone", -/*012 0C*/ "Marimba", -/*013 0D*/ "Xylophone", -/*014 0E*/ "Tubular Bells", -/*015 0F*/ "Dulcimer", -/*016 10*/ "Drawbar Organ", -/*017 11*/ "Percussive Organ", -/*018 12*/ "Rock Organ", -/*019 13*/ "Church Organ", -/*020 14*/ "Reed Organ", -/*021 15*/ "Accordion", -/*022 16*/ "Harmonica", -/*023 17*/ "Tango Accordion", -/*024 18*/ "Acoustic Guitar (nylon)", -/*025 19*/ "Acoustic Guitar (steel)", -/*026 1A*/ "Electric Guitar (jazz)", -/*027 1B*/ "Electric Guitar (clean)", -/*028 1C*/ "Electric Guitar (muted)", -/*029 1D*/ "Overdriven Guitar", -/*030 1E*/ "Distortion Guitar", -/*031 1F*/ "Guitar Harmonics", -/*032 20*/ "Acoustic Bass", -/*033 21*/ "Electric Bass (finger)", -/*034 22*/ "Electric Bass (pick)", -/*035 23*/ "Fretless Bass", -/*036 24*/ "Slap Bass 1", -/*037 25*/ "Slap Bass 2", -/*038 26*/ "Synth Bass 1", -/*039 27*/ "Synth Bass 2", -/*040 28*/ "Violin", -/*041 29*/ "Viola", -/*042 2A*/ "Cello", -/*043 2B*/ "Contrabass", -/*044 2C*/ "Tremolo Strings", -/*045 2D*/ "Pizzicato Strings", -/*046 2E*/ "Orchestral Harp", -/*047 2F*/ "Timpani", -/*048 30*/ "String Ensemble 1", -/*049 31*/ "String Ensemble 2", -/*050 32*/ "SynthStrings 1", -/*051 33*/ "SynthStrings 2", -/*052 34*/ "Choir Aahs", -/*053 35*/ "Voice Oohs", -/*054 36*/ "Synth Voice", -/*055 37*/ "Orchestra Hit", -/*056 38*/ "Trumpet", -/*057 39*/ "Trombone", -/*058 3A*/ "Tuba", -/*059 3B*/ "Muted Trumpet", -/*060 3C*/ "French Horn", -/*061 3D*/ "Brass Section", -/*062 3E*/ "SynthBrass 1", -/*063 3F*/ "SynthBrass 2", - -/*064 40*/ "Soprano Sax", -/*065 41*/ "Alto Sax", -/*066 42*/ "Tenor Sax", -/*067 43*/ "Baritone Sax", -/*068 44*/ "Oboe", -/*069 45*/ "English Horn", -/*070 46*/ "Bassoon", -/*071 47*/ "Clarinet", -/*072 48*/ "Piccolo", -/*073 49*/ "Flute", -/*074 4A*/ "Recorder", -/*075 4B*/ "Pan Flute", -/*076 4C*/ "Blown Bottle", -/*077 4D*/ "Shakuhachi", -/*078 4E*/ "Whistle", -/*079 4F*/ "Ocarina", -/*080 50*/ "Lead 1 (square)", -/*081 51*/ "Lead 2 (sawtooth)", -/*082 52*/ "Lead 3 (calliope)", -/*083 53*/ "Lead 4 (chiff)", -/*084 54*/ "Lead 5 (charang)", -/*085 55*/ "Lead 6 (voice)", -/*086 56*/ "Lead 7 (fifths)", -/*087 57*/ "Lead 8 (bass+lead)", -/*088 58*/ "Pad 1 (new age)", -/*089 59*/ "Pad 2 (warm)", -/*090 5A*/ "Pad 3 (polysynth)", -/*091 5B*/ "Pad 4 (choir)", -/*092 5C*/ "Pad 5 (bowed)", -/*093 5D*/ "Pad 6 (metallic)", -/*094 5E*/ "Pad 7 (halo)", -/*095 5F*/ "Pad 8 (sweep)", -/*096 60*/ "FX 1 (rain)", -/*097 61*/ "FX 2 (soundtrack)", -/*098 62*/ "FX 3 (crystal)", -/*099 63*/ "FX 4 (atmosphere)", -/*100 64*/ "FX 5 (brightness)", -/*101 65*/ "FX 6 (goblins)", -/*102 66*/ "FX 7 (echoes)", -/*103 67*/ "FX 8 (sci-fi)", -/*104 68*/ "Sitar", -/*105 69*/ "Banjo", -/*106 6A*/ "Shamisen", -/*107 6B*/ "Koto", -/*108 6C*/ "Kalimba", -/*109 6D*/ "Bag pipe", -/*110 6E*/ "Fiddle", -/*111 6F*/ "Shannai", -/*112 70*/ "Tinkle Bell", -/*113 71*/ "Agogo", -/*114 72*/ "Steel Drums", -/*115 73*/ "Woodblock", -/*116 74*/ "Taiko Drum", -/*117 75*/ "Melodic Tom", -/*118 76*/ "Synth Drum", -/*119 77*/ "Reverse Cymbal", -/*120 78*/ "Guitar Fret Noise", -/*121 79*/ "Breath Noise", -/*122 7A*/ "Seashore", -/*123 7B*/ "Bird Tweet", -/*124 7C*/ "Telephone Ring", -/*125 7D*/ "Helicopter", -/*126 7E*/ "Applause", -/*127 7F*/ "Gunshot" - -/*035 23*/ "Acoustic Bass Drum", -/*036 24*/ "Bass Drum 1", -/*037 25*/ "Side Stick", -/*038 26*/ "Acoustic Snare", -/*039 27*/ "Hand Clap", -/*040 28*/ "Electric Snare", -/*041 29*/ "Low Floor Tom", -/*042 2A*/ "Closed Hi-Hat", -/*043 2B*/ "High Floor Tom", -/*044 2C*/ "Pedal Hi-Hat", -/*045 2D*/ "Low Tom", -/*046 2E*/ "Open Hi-Hat", -/*047 2F*/ "Low-Mid Tom", -/*048 30*/ "Hi-Mid Tom", -/*049 31*/ "Crash Cymbal 1", -/*050 32*/ "High Tom", -/*051 33*/ "Ride Cymbal 1", -/*052 34*/ "Chinese Cymbal", -/*053 35*/ "Ride Bell", -/*054 36*/ "Tambourine", -/*055 37*/ "Splash Cymbal", -/*056 38*/ "Cowbell", -/*057 39*/ "Crash Cymbal 2", -/*058 3A*/ "Vibraslap", -/*059 3B*/ "Ride Cymbal 2", -/*060 3C*/ "Hi Bongo", -/*061 3D*/ "Low Bongo", -/*062 3E*/ "Mute Hi Conga", -/*063 3F*/ "Open Hi Conga", -/*064 40*/ "Low Conga", -/*065 41*/ "High Timbale", -/*066 42*/ "Low Timbale", -/*067 43*/ "High Agogo", -/*068 44*/ "Low Agogo", -/*069 45*/ "Cabasa", -/*070 46*/ "Maracas", -/*071 47*/ "Short Whistle", -/*072 48*/ "Long Whistle", -/*073 49*/ "Short Guiro", -/*074 4A*/ "Long Guiro", -/*075 4B*/ "Claves", -/*076 4C*/ "Hi Wood Block", -/*077 4D*/ "Low Wood Block", -/*078 4E*/ "Mute Cuica", -/*079 4F*/ "Open Cuica", -/*080 50*/ "Mute Triangle", -/*081 51*/ "Open Triangle" diff --git a/engines/sci/sfx/lists/gm_patches.cpp b/engines/sci/sfx/lists/gm_patches.cpp deleted file mode 100644 index 0e32d5f7b5..0000000000 --- a/engines/sci/sfx/lists/gm_patches.cpp +++ /dev/null @@ -1,200 +0,0 @@ -/*************************************************************************** - gm_patches.c Copyright (C) 2000 Rickard Lind - - - This program may be modified and copied freely according to the terms of - the GNU general public license (GPL), as long as the above copyright - notice and the licensing information contained herein are preserved. - - Please refer to www.gnu.org for licensing details. - - This work is provided AS IS, without warranty of any kind, expressed or - implied, including but not limited to the warranties of merchantibility, - noninfringement, and fitness for a specific purpose. The author will not - be held liable for any damage caused by this work or derivatives of it. - - By using this source code, you agree to the licensing terms as stated - above. - -***************************************************************************/ - -char *GM_Patch[128] = { -	/*000*/ "Acoustic Grand Piano", -	/*001*/ "Bright Acoustic Piano", -	/*002*/ "Electric Grand Piano", -	/*003*/ "Honky-tonk Piano", -	/*004*/ "Electric Piano 1", -	/*005*/ "Electric Piano 2", -	/*006*/ "Harpsichord", -	/*007*/ "Clavinet", -	/*008*/ "Celesta", -	/*009*/ "Glockenspiel", -	/*010*/ "Music Box", -	/*011*/ "Vibraphone", -	/*012*/ "Marimba", -	/*013*/ "Xylophone", -	/*014*/ "Tubular Bells", -	/*015*/ "Dulcimer", -	/*016*/ "Drawbar Organ", -	/*017*/ "Percussive Organ", -	/*018*/ "Rock Organ", -	/*019*/ "Church Organ", -	/*020*/ "Reed Organ", -	/*021*/ "Accordion", -	/*022*/ "Harmonica", -	/*023*/ "Tango Accordion", -	/*024*/ "Acoustic Guitar (nylon)", -	/*025*/ "Acoustic Guitar (steel)", -	/*026*/ "Electric Guitar (jazz)", -	/*027*/ "Electric Guitar (clean)", -	/*028*/ "Electric Guitar (muted)", -	/*029*/ "Overdriven Guitar", -	/*030*/ "Distortion Guitar", -	/*031*/ "Guitar Harmonics", -	/*032*/ "Acoustic Bass", -	/*033*/ "Electric Bass (finger)", -	/*034*/ "Electric Bass (pick)", -	/*035*/ "Fretless Bass", -	/*036*/ "Slap Bass 1", -	/*037*/ "Slap Bass 2", -	/*038*/ "Synth Bass 1", -	/*039*/ "Synth Bass 2", -	/*040*/ "Violin", -	/*041*/ "Viola", -	/*042*/ "Cello", -	/*043*/ "Contrabass", -	/*044*/ "Tremolo Strings", -	/*045*/ "Pizzicato Strings", -	/*046*/ "Orchestral Harp", -	/*047*/ "Timpani", -	/*048*/ "String Ensemble 1", -	/*049*/ "String Ensemble 2", -	/*050*/ "SynthStrings 1", -	/*051*/ "SynthStrings 2", -	/*052*/ "Choir Aahs", -	/*053*/ "Voice Oohs", -	/*054*/ "Synth Voice", -	/*055*/ "Orchestra Hit", -	/*056*/ "Trumpet", -	/*057*/ "Trombone", -	/*058*/ "Tuba", -	/*059*/ "Muted Trumpet", -	/*060*/ "French Horn", -	/*061*/ "Brass Section", -	/*062*/ "SynthBrass 1", -	/*063*/ "SynthBrass 2", -	/*064*/ "Soprano Sax", -	/*065*/ "Alto Sax", -	/*066*/ "Tenor Sax", -	/*067*/ "Baritone Sax", -	/*068*/ "Oboe", -	/*069*/ "English Horn", -	/*070*/ "Bassoon", -	/*071*/ "Clarinet", -	/*072*/ "Piccolo", -	/*073*/ "Flute", -	/*074*/ "Recorder", -	/*075*/ "Pan Flute", -	/*076*/ "Blown Bottle", -	/*077*/ "Shakuhachi", -	/*078*/ "Whistle", -	/*079*/ "Ocarina", -	/*080*/ "Lead 1 (square)", -	/*081*/ "Lead 2 (sawtooth)", -	/*082*/ "Lead 3 (calliope)", -	/*083*/ "Lead 4 (chiff)", -	/*084*/ "Lead 5 (charang)", -	/*085*/ "Lead 6 (voice)", -	/*086*/ "Lead 7 (fifths)", -	/*087*/ "Lead 8 (bass+lead)", -	/*088*/ "Pad 1 (new age)", -	/*089*/ "Pad 2 (warm)", -	/*090*/ "Pad 3 (polysynth)", -	/*091*/ "Pad 4 (choir)", -	/*092*/ "Pad 5 (bowed)", -	/*093*/ "Pad 6 (metallic)", -	/*094*/ "Pad 7 (halo)", -	/*095*/ "Pad 8 (sweep)", -	/*096*/ "FX 1 (rain)", -	/*097*/ "FX 2 (soundtrack)", -	/*098*/ "FX 3 (crystal)", -	/*099*/ "FX 4 (atmosphere)", -	/*100*/ "FX 5 (brightness)", -	/*101*/ "FX 6 (goblins)", -	/*102*/ "FX 7 (echoes)", -	/*103*/ "FX 8 (sci-fi)", -	/*104*/ "Sitar", -	/*105*/ "Banjo", -	/*106*/ "Shamisen", -	/*107*/ "Koto", -	/*108*/ "Kalimba", -	/*109*/ "Bag pipe", -	/*110*/ "Fiddle", -	/*111*/ "Shannai", -	/*112*/ "Tinkle Bell", -	/*113*/ "Agogo", -	/*114*/ "Steel Drums", -	/*115*/ "Woodblock", -	/*116*/ "Taiko Drum", -	/*117*/ "Melodic Tom", -	/*118*/ "Synth Drum", -	/*119*/ "Reverse Cymbal", -	/*120*/ "Guitar Fret Noise", -	/*121*/ "Breath Noise", -	/*122*/ "Seashore", -	/*123*/ "Bird Tweet", -	/*124*/ "Telephone Ring", -	/*125*/ "Helicopter", -	/*126*/ "Applause", -	/*127*/ "Gunshot" -}; - -char *GM_RhythmKey[47] = { -	/*035*/ "Acoustic Bass Drum", -	/*036*/ "Bass Drum 1", -	/*037*/ "Side Stick", -	/*038*/ "Acoustic Snare", -	/*039*/ "Hand Clap", -	/*040*/ "Electric Snare", -	/*041*/ "Low Floor Tom", -	/*042*/ "Closed Hi-Hat", -	/*043*/ "High Floor Tom", -	/*044*/ "Pedal Hi-Hat", -	/*045*/ "Low Tom", -	/*046*/ "Open Hi-Hat", -	/*047*/ "Low-Mid Tom", -	/*048*/ "Hi-Mid Tom", -	/*049*/ "Crash Cymbal 1", -	/*050*/ "High Tom", -	/*051*/ "Ride Cymbal 1", -	/*052*/ "Chinese Cymbal", -	/*053*/ "Ride Bell", -	/*054*/ "Tambourine", -	/*055*/ "Splash Cymbal", -	/*056*/ "Cowbell", -	/*057*/ "Crash Cymbal 2", -	/*058*/ "Vibraslap", -	/*059*/ "Ride Cymbal 2", -	/*060*/ "Hi Bongo", -	/*061*/ "Low Bongo", -	/*062*/ "Mute Hi Conga", -	/*063*/ "Open Hi Conga", -	/*064*/ "Low Conga", -	/*065*/ "High Timbale", -	/*066*/ "Low Timbale", -	/*067*/ "High Agogo", -	/*068*/ "Low Agogo", -	/*069*/ "Cabasa", -	/*070*/ "Maracas", -	/*071*/ "Short Whistle", -	/*072*/ "Long Whistle", -	/*073*/ "Short Guiro", -	/*074*/ "Long Guiro", -	/*075*/ "Claves", -	/*076*/ "Hi Wood Block", -	/*077*/ "Low Wood Block", -	/*078*/ "Mute Cuica", -	/*079*/ "Open Cuica", -	/*080*/ "Mute Triangle" -	/*081*/ "Open Triangle" -}; diff --git a/engines/sci/sfx/lists/mt32_timbres.cpp b/engines/sci/sfx/lists/mt32_timbres.cpp deleted file mode 100644 index 6cbf1c415a..0000000000 --- a/engines/sci/sfx/lists/mt32_timbres.cpp +++ /dev/null @@ -1,183 +0,0 @@ -/*************************************************************************** - mt_32_timbres.c Copyright (C) 2000 Rickard Lind - - - This program may be modified and copied freely according to the terms of - the GNU general public license (GPL), as long as the above copyright - notice and the licensing information contained herein are preserved. - - Please refer to www.gnu.org for licensing details. - - This work is provided AS IS, without warranty of any kind, expressed or - implied, including but not limited to the warranties of merchantibility, - noninfringement, and fitness for a specific purpose. The author will not - be held liable for any damage caused by this work or derivatives of it. - - By using this source code, you agree to the licensing terms as stated - above. - -***************************************************************************/ - -char *MT32_Timbre[128] = { -	/*000*/ "AcouPiano1", -	/*001*/ "AcouPiano2", -	/*002*/ "AcouPiano3", -	/*003*/ "ElecPiano1", -	/*004*/ "ElecPiano2", -	/*005*/ "ElecPiano3", -	/*006*/ "ElecPiano4", -	/*007*/ "Honkytonk ", -	/*008*/ "Elec Org 1", -	/*009*/ "Elec Org 2", -	/*010*/ "Elec Org 3", -	/*011*/ "Elec Org 4", -	/*012*/ "Pipe Org 1", -	/*013*/ "Pipe Org 2", -	/*014*/ "Pipe Org 3", -	/*015*/ "Accordion ", -	/*016*/ "Harpsi 1  ", -	/*017*/ "Harpsi 2  ", -	/*018*/ "Harpsi 3  ", -	/*019*/ "Clavi 1   ", -	/*020*/ "Clavi 2   ", -	/*021*/ "Clavi 3   ", -	/*022*/ "Celesta 1 ", -	/*023*/ "Celesta 2 ", -	/*024*/ "Syn Brass1", -	/*025*/ "Syn Brass2", -	/*026*/ "Syn Brass3", -	/*027*/ "Syn Brass4", -	/*028*/ "Syn Bass 1", -	/*029*/ "Syn Bass 2", -	/*030*/ "Syn Bass 3", -	/*031*/ "Syn Bass 4", -	/*032*/ "Fantasy   ", -	/*033*/ "Harmo Pan ", -	/*034*/ "Chorale   ", -	/*035*/ "Glasses   ", -	/*036*/ "Soundtrack", -	/*037*/ "Atmosphere", -	/*038*/ "Warm Bell ", -	/*039*/ "Funny Vox ", -	/*040*/ "Echo Bell ", -	/*041*/ "Ice Rain  ", -	/*042*/ "Oboe 2001 ", -	/*043*/ "Echo Pan  ", -	/*044*/ "DoctorSolo", -	/*045*/ "Schooldaze", -	/*046*/ "BellSinger", -	/*047*/ "SquareWave", -	/*048*/ "Str Sect 1", -	/*049*/ "Str Sect 2", -	/*050*/ "Str Sect 3", -	/*051*/ "Pizzicato ", -	/*052*/ "Violin 1  ", -	/*053*/ "Violin 2  ", -	/*054*/ "Cello 1   ", -	/*055*/ "Cello 2   ", -	/*056*/ "Contrabass", -	/*057*/ "Harp 1    ", -	/*058*/ "Harp 2    ", -	/*059*/ "Guitar 1  ", -	/*060*/ "Guitar 2  ", -	/*061*/ "Elec Gtr 1", -	/*062*/ "Elec Gtr 2", -	/*063*/ "Sitar     ", -	/*064*/ "Acou Bass1", -	/*065*/ "Acou Bass2", -	/*066*/ "Elec Bass1", -	/*067*/ "Elec Bass2", -	/*068*/ "Slap Bass1", -	/*069*/ "Slap Bass2", -	/*070*/ "Fretless 1", -	/*071*/ "Fretless 2", -	/*072*/ "Flute 1   ", -	/*073*/ "Flute 2   ", -	/*074*/ "Piccolo 1 ", -	/*075*/ "Piccolo 2 ", -	/*076*/ "Recorder  ", -	/*077*/ "Panpipes  ", -	/*078*/ "Sax 1     ", -	/*079*/ "Sax 2     ", -	/*080*/ "Sax 3     ", -	/*081*/ "Sax 4     ", -	/*082*/ "Clarinet 1", -	/*083*/ "Clarinet 2", -	/*084*/ "Oboe      ", -	/*085*/ "Engl Horn ", -	/*086*/ "Bassoon   ", -	/*087*/ "Harmonica ", -	/*088*/ "Trumpet 1 ", -	/*089*/ "Trumpet 2 ", -	/*090*/ "Trombone 1", -	/*091*/ "Trombone 2", -	/*092*/ "Fr Horn 1 ", -	/*093*/ "Fr Horn 2 ", -	/*094*/ "Tuba      ", -	/*095*/ "Brs Sect 1", -	/*096*/ "Brs Sect 2", -	/*097*/ "Vibe 1    ", -	/*098*/ "Vibe 2    ", -	/*099*/ "Syn Mallet", -	/*100*/ "Wind Bell ", -	/*101*/ "Glock     ", -	/*102*/ "Tube Bell ", -	/*103*/ "Xylophone ", -	/*104*/ "Marimba   ", -	/*105*/ "Koto      ", -	/*106*/ "Sho       ", -	/*107*/ "Shakuhachi", -	/*108*/ "Whistle 1 ", -	/*109*/ "Whistle 2 ", -	/*110*/ "BottleBlow", -	/*111*/ "BreathPipe", -	/*112*/ "Timpani   ", -	/*113*/ "MelodicTom", -	/*114*/ "Deep Snare", -	/*115*/ "Elec Perc1", -	/*116*/ "Elec Perc2", -	/*117*/ "Taiko     ", -	/*118*/ "Taiko Rim ", -	/*119*/ "Cymbal    ", -	/*120*/ "Castanets ", -	/*121*/ "Triangle  ", -	/*122*/ "Orche Hit ", -	/*123*/ "Telephone ", -	/*124*/ "Bird Tweet", -	/*125*/ "OneNoteJam", -	/*126*/ "WaterBells", -	/*127*/ "JungleTune" -}; - -char *MT32_RhythmTimbre[30] = { -	/*00*/ "Acou BD   ", -	/*01*/ "Acou SD   ", -	/*02*/ "Acou HiTom", -	/*03*/ "AcouMidTom", -	/*04*/ "AcouLowTom", -	/*05*/ "Elec SD   ", -	/*06*/ "Clsd HiHat", -	/*07*/ "OpenHiHat1", -	/*08*/ "Crash Cym ", -	/*09*/ "Ride Cym  ", -	/*10*/ "Rim Shot  ", -	/*11*/ "Hand Clap ", -	/*12*/ "Cowbell   ", -	/*13*/ "Mt HiConga", -	/*14*/ "High Conga", -	/*15*/ "Low Conga ", -	/*16*/ "Hi Timbale", -	/*17*/ "LowTimbale", -	/*18*/ "High Bongo", -	/*19*/ "Low Bongo ", -	/*20*/ "High Agogo", -	/*21*/ "Low Agogo ", -	/*22*/ "Tambourine", -	/*23*/ "Claves    ", -	/*24*/ "Maracas   ", -	/*25*/ "SmbaWhis L", -	/*26*/ "SmbaWhis S", -	/*27*/ "Cabasa    ", -	/*28*/ "Quijada   ", -	/*29*/ "OpenHiHat2" -}; diff --git a/engines/sci/sfx/tests/stubs.c b/engines/sci/sfx/tests/stubs.c deleted file mode 100644 index 06da6f9419..0000000000 --- a/engines/sci/sfx/tests/stubs.c +++ /dev/null @@ -1,9 +0,0 @@ -int sciprintf(char *fmt,...) -{ -	return 0; -} - -int sfx_pcm_available() -{ -	return 1; -}
\ No newline at end of file diff --git a/engines/sci/sfx/tests/tests.cpp b/engines/sci/sfx/tests/tests.cpp deleted file mode 100644 index 0999d3615f..0000000000 --- a/engines/sci/sfx/tests/tests.cpp +++ /dev/null @@ -1,162 +0,0 @@ -#include <stdio.h> -#include <sfx_iterator.h> - -#define TESTEQUAL(x, y) if(x != y) printf("test failure: expected %04x, got %04x @ file %s line %d \n", x, y, __FILE__, __LINE__); - -static char calledDeathListenerCallback; - -static unsigned char song[] = { -// PCM not present -	0, -// channel defs -	0, 0x20, 0, 0x21, 0, 0, 0, 0, -	0, 0,    0, 0,    0, 0, 0, 0, -	0, 0,    0, 0,    0, 0, 0, 0, -	0, 0,    0, 0,    0, 0, 0, 0, -// note on, wait, note off -	0xAA, -	0x90, 0xAA, 0xAA, -	0xAA, -	0x80, 0xAA, 0xAA, -	0xAA, -	0x91, 0xAA, 0xAA, -	0xAA, -	0x81, 0xAA, 0xAA, -	0xAA, -// end track -	0xFC -}; - -#define SONG_CMD_COUNT 10 - -#define TEST_SETUP()	\ -	unsigned char cmds[4] = {0}; \ -	int result = 0; \ -	int message; \ -	int i; \ -\ -	song_iterator_t *it = songit_new(song, sizeof(song), 0, 0); \ -	it->init(it); \ -	SIMSG_SEND(it, SIMSG_SET_PLAYMASK(0x20));\ -	calledDeathListenerCallback = 0; - -#define TEST_TEARDOWN() \ -	songit_free(it); - - -void testFinishSong() { -	TEST_SETUP(); -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(0xAA, message); - -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(0, message); -	TESTEQUAL(3, result); - -	for (i = 0; i < SONG_CMD_COUNT - 2; i++) { -		message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	} - -	TESTEQUAL(SI_FINISHED, message); - -	TEST_TEARDOWN(); -} - - -void DeathListenerCallback(void *v1, void *v2) { -	calledDeathListenerCallback++; -	return; -} - -void testDeathListener() { -	TEST_SETUP(); - -	song_iterator_add_death_listener( -	    it, -	    it, -	    (void(*)(void *, void*))DeathListenerCallback); - -	for (i = 0; i < SONG_CMD_COUNT; i++) { -		message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	} - -	TESTEQUAL(SI_FINISHED, message); - -	TEST_TEARDOWN(); - -	TESTEQUAL(1, calledDeathListenerCallback); -} - -void testMultipleDeathListeners() { -	TEST_SETUP(); - -	song_iterator_add_death_listener( -	    it, -	    it, -	    (void(*)(void *, void*))DeathListenerCallback); - -	song_iterator_add_death_listener( -	    it, -	    it, -	    (void(*)(void *, void*))DeathListenerCallback); - -	for (i = 0; i < SONG_CMD_COUNT; i++) { -		message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	} - -	TESTEQUAL(SI_FINISHED, message); - -	TEST_TEARDOWN(); - -	TESTEQUAL(2, calledDeathListenerCallback); -} - -void testStopSong() { -	TEST_SETUP(); -	SIMSG_SEND(it, SIMSG_STOP); - -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(SI_FINISHED, message); - -	TEST_TEARDOWN(); -} - -void testStopLoopedSong() { -	TEST_SETUP(); - -	SIMSG_SEND(it, SIMSG_SET_LOOPS(3)); -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(0xAA, message); - -	SIMSG_SEND(it, SIMSG_STOP); -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(SI_FINISHED, message); - -	TEST_TEARDOWN(); -} - -void testChangeSongMask() { -	TEST_SETUP(); - -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(0xAA, message); - -	SIMSG_SEND(it, SIMSG_SET_PLAYMASK(0x40)); -	message = songit_next(&it, &cmds, &result, IT_READER_MASK_ALL); -	TESTEQUAL(0, message); -	TESTEQUAL(0, result); - -	TEST_TEARDOWN(); -} - - -int main(int argc, char* argv[]) { -	testFinishSong(); -	testDeathListener(); -	testMultipleDeathListeners(); -	testStopSong(); -	testStopLoopedSong(); -	testChangeSongMask(); -	return 0; -} - diff --git a/engines/sci/sfx/tests/tests.vcproj b/engines/sci/sfx/tests/tests.vcproj deleted file mode 100644 index a50c794bce..0000000000 --- a/engines/sci/sfx/tests/tests.vcproj +++ /dev/null @@ -1,158 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject -	ProjectType="Visual C++" -	Version="7.10" -	Name="tests" -	ProjectGUID="{3C6F6B16-D092-495C-B611-03FFDBFF27FC}" -	Keyword="Win32Proj"> -	<Platforms> -		<Platform -			Name="Win32"/> -	</Platforms> -	<Configurations> -		<Configuration -			Name="Debug|Win32" -			OutputDirectory="Debug" -			IntermediateDirectory="Debug" -			ConfigurationType="1" -			CharacterSet="2"> -			<Tool -				Name="VCCLCompilerTool" -				Optimization="0" -				AdditionalIncludeDirectories="..\..\include;..\..\include\win32" -				PreprocessorDefinitions="PACKAGE=\"freesci\";HAVE_GETOPT_H;HAVE_LIBPNG;VERSION=__TIMESTAMP__;_DEBUG;WIN32;_CONSOLE;HAVE_STRING_H;HAVE_MEMCHR" -				MinimalRebuild="TRUE" -				BasicRuntimeChecks="3" -				RuntimeLibrary="5" -				UsePrecompiledHeader="0" -				WarningLevel="3" -				Detect64BitPortabilityProblems="TRUE" -				DebugInformationFormat="4" -				CompileAs="1"/> -			<Tool -				Name="VCCustomBuildTool"/> -			<Tool -				Name="VCLinkerTool" -				AdditionalDependencies="winmm.lib" -				OutputFile="$(OutDir)/tests.exe" -				LinkIncremental="2" -				GenerateDebugInformation="TRUE" -				ProgramDatabaseFile="$(OutDir)/tests.pdb" -				SubSystem="1" -				TargetMachine="1"/> -			<Tool -				Name="VCMIDLTool"/> -			<Tool -				Name="VCPostBuildEventTool"/> -			<Tool -				Name="VCPreBuildEventTool"/> -			<Tool -				Name="VCPreLinkEventTool"/> -			<Tool -				Name="VCResourceCompilerTool"/> -			<Tool -				Name="VCWebServiceProxyGeneratorTool"/> -			<Tool -				Name="VCXMLDataGeneratorTool"/> -			<Tool -				Name="VCWebDeploymentTool"/> -			<Tool -				Name="VCManagedWrapperGeneratorTool"/> -			<Tool -				Name="VCAuxiliaryManagedWrapperGeneratorTool"/> -		</Configuration> -		<Configuration -			Name="Release|Win32" -			OutputDirectory="Release" -			IntermediateDirectory="Release" -			ConfigurationType="1" -			CharacterSet="2"> -			<Tool -				Name="VCCLCompilerTool" -				AdditionalIncludeDirectories="..\..\include" -				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" -				RuntimeLibrary="4" -				UsePrecompiledHeader="0" -				WarningLevel="3" -				Detect64BitPortabilityProblems="TRUE" -				DebugInformationFormat="3"/> -			<Tool -				Name="VCCustomBuildTool"/> -			<Tool -				Name="VCLinkerTool" -				AdditionalDependencies="winmm.lib" -				OutputFile="$(OutDir)/tests.exe" -				LinkIncremental="1" -				GenerateDebugInformation="TRUE" -				SubSystem="1" -				OptimizeReferences="2" -				EnableCOMDATFolding="2" -				TargetMachine="1"/> -			<Tool -				Name="VCMIDLTool"/> -			<Tool -				Name="VCPostBuildEventTool"/> -			<Tool -				Name="VCPreBuildEventTool"/> -			<Tool -				Name="VCPreLinkEventTool"/> -			<Tool -				Name="VCResourceCompilerTool"/> -			<Tool -				Name="VCWebServiceProxyGeneratorTool"/> -			<Tool -				Name="VCXMLDataGeneratorTool"/> -			<Tool -				Name="VCWebDeploymentTool"/> -			<Tool -				Name="VCManagedWrapperGeneratorTool"/> -			<Tool -				Name="VCAuxiliaryManagedWrapperGeneratorTool"/> -		</Configuration> -	</Configurations> -	<References> -	</References> -	<Files> -		<Filter -			Name="Source Files" -			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" -			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> -			<File -				RelativePath="..\..\sfx\iterator.c"> -			</File> -			<File -				RelativePath="..\..\sfx\pcm-iterator.c"> -			</File> -			<File -				RelativePath="..\..\scicore\sci_memory.c"> -			</File> -			<File -				RelativePath=".\stubs.c"> -			</File> -			<File -				RelativePath=".\tests.cpp"> -			</File> -			<File -				RelativePath="..\..\scicore\tools.c"> -			</File> -		</Filter> -		<Filter -			Name="Header Files" -			Filter="h;hpp;hxx;hm;inl;inc;xsd" -			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> -			<File -				RelativePath="..\..\include\win32\sci_win32.h"> -			</File> -		</Filter> -		<Filter -			Name="Resource Files" -			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" -			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> -		</Filter> -		<File -			RelativePath=".\ReadMe.txt"> -		</File> -	</Files> -	<Globals> -	</Globals> -</VisualStudioProject> | 
