diff options
author | Jerome Fisher | 2005-03-20 16:24:55 +0000 |
---|---|---|
committer | Jerome Fisher | 2005-03-20 16:24:55 +0000 |
commit | 7f83c4786045bd438ff76cea2c6189a62774798b (patch) | |
tree | 0f9a2500a01a19102f386ecd2dddbb8147300292 /sound/softsynth/mt32/partial.h | |
parent | 9880288669414537d290aef70199e213fe868df1 (diff) | |
download | scummvm-rg350-7f83c4786045bd438ff76cea2c6189a62774798b.tar.gz scummvm-rg350-7f83c4786045bd438ff76cea2c6189a62774798b.tar.bz2 scummvm-rg350-7f83c4786045bd438ff76cea2c6189a62774798b.zip |
Merged with latest Munt CVS.
* Added support for most of the extended capabilities of the CM-32L/LAPC-I (more rhythm timbres, more rhythm key mappings, more PCM samples).
* The control ROM is now identified by searching for matching ID strings at various locations in the file. There are now a lot of safety checks to help ensure that a bad ROM will not crash the emulator.
* Three control ROM versions are now identified and mapped out - an original MT-32 control ROM, an original CM-32L ROM, and the Blue Ridge modified MT-32 ROM.
* Now supports the expression controller properly.
* Sustain is now turned off correctly again.
* "All Notes Off" no longer stops notes held by the sustain controller.
* Implemented "Reset all controllers".
* Stereo pan positions are no longer inverted.
* Volume, pitch, filter and envelopes are now more accurately calculated. Overall, the sound emulation is much more accurate.
* Waveforms are now slightly more accurate (in terms of pitch), necessitating a regeneration.
* Handling of unusual sysex messages has been improved (fixes sysex messages from Java's MIDI classes on Windows).
* Fixed a reverb bug during periods of silence.
svn-id: r17188
Diffstat (limited to 'sound/softsynth/mt32/partial.h')
-rw-r--r-- | sound/softsynth/mt32/partial.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/sound/softsynth/mt32/partial.h b/sound/softsynth/mt32/partial.h index 0834a64c15..93d8bcd985 100644 --- a/sound/softsynth/mt32/partial.h +++ b/sound/softsynth/mt32/partial.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2003-2004 Various contributors +/* Copyright (c) 2003-2005 Various contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -60,8 +60,6 @@ private: Bit16s myBuffer[MAX_SAMPLE_OUTPUT]; - bool play; - // Keyfollowed note value #if MT32EMU_ACCURATENOTES == 1 NoteLookup noteLookupStorage; @@ -71,12 +69,15 @@ private: int fineShift; #endif const NoteLookup *noteLookup; // LUTs for this noteVal + const KeyLookup *keyLookup; // LUTs for the clamped (12..108) key // Keyfollowed filter values int realVal; int filtVal; - EnvelopeStatus envs[3]; + // Only used for PCM partials + int pcmNum; + PCMWaveEntry *pcmWave; int pulsewidth; @@ -109,6 +110,9 @@ private: public: const PatchCache *patchCache; + EnvelopeStatus envs[3]; + bool play; + PatchCache cachebackup; Partial *pair; @@ -118,7 +122,9 @@ public: Partial(Synth *synth); ~Partial(); - int getOwnerPart(); + int getOwnerPart() const; + int getKey() const; + const dpoly *getDpoly() const; bool isActive(); void activate(int part); void deactivate(void); |