aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/mt32/synth.cpp
AgeCommit message (Collapse)Author
2004-12-25Moved the softsynth midi drivers into a sound/softsynth; amongst other ↵Max Horn
things, this fixes bug #1083058 svn-id: r16316
2004-12-02Synched with upstream (Munt 0.1.1).Jerome Fisher
Memory timbres are now loaded into the correct location again, and reaching the end of a PCM sample has been improved. The latter change is probably the only one relevant to ScummVM, and even that is unlikely to be audible. svn-id: r15972
2004-11-29- Fixed uninitialised reverb level. This bug took embarrassingly long to find...Jerome Fisher
svn-id: r15962
2004-11-28- Cleanup.Jerome Fisher
- Signedness fix. - Changed partial age to 32-bit... They don't exactly run until the heat-death of the universe. svn-id: r15943
2004-11-28Fixed various warningsMax Horn
svn-id: r15939
2004-11-28- More cleanup.Jerome Fisher
- Another tuning tweak. Sounds better to my ear, but still guesswork. svn-id: r15934
2004-11-28- Cleanup. Still waiting for a real MT-32 to check PCM tuning.Jerome Fisher
svn-id: r15931
2004-11-28- Tweaked tuning.Jerome Fisher
svn-id: r15930
2004-11-28- Added graphical representation of initialisation progress. This is quite ↵Jerome Fisher
hacky. - Initialisation is now interruptible. - All data is now loaded from MT32_CONTROL.ROM. drumpat.rom, Preset1.syx, Preset2.syx and patchlog.cfg are no longer used. - Major cleanup. In particular, separated Rhythm part into a new class, instead of dealing with it as a special case everywhere. - Improved accuracy of pitch key-follow. - Recaching now happens lazily. - Changed some right-shifts to divs, due to the former not being arithmetic on some architectures. - Setting "MT32EMU_ACCURATENOTES" to 1 will generate lookup tables for the exact frequency of every note played. Not recommended. - Several small bugs fixed. svn-id: r15929
2004-11-15const const constMax Horn
svn-id: r15825
2004-11-14- Huge cleanup of LUT stuff.Jerome Fisher
- No longer stores a sawtooth waveform twice, once with each sample negated. - More graceful handling of truncated waveformcache files. - Fixed tuning of patterns for non-32KHz sample rates (needs checking). - Note: Waveform cache format changed, will automatically be rebuilt. svn-id: r15804
2004-11-14MT32 MidiDriver:Jerome Fisher
- Cleanup MT32Emu: - Lots more cleanup. - Properly implemented pitch bending (not fast, but theoretically perfect). - Full position delta is now calculated before PCM interpolation/decimation is performed, so that pitch modifiers will be considered. - Now reports when using SSE or 3DNow, and when the samplerate is invalid. svn-id: r15801
2004-11-13MT32 MidiDriver:Jerome Fisher
- Channels now ignore effectLevel() and chorusLevel(), instead of sending unsupported control change messages to MT32Emu (they're not supported in a real MT-32, either, according to docs). - Implemented setPitchBendRange() by sending a sysex write command to adjust the patch. - _outputRate is now hard-coded at 32000, until tuning can be fixed for other sample rates. MT32EMu: - Extended File interface to deal with reading/writing 16/32-bit values endian-independently (they're always big-endian on file). - Improved usage of packing-related pragmas. - Should now be endian-agnostic (without depending on #defines for the endianness). svn-id: r15800
2004-11-06Remove stray ;Travis Howell
svn-id: r15717
2004-11-06Major MT-32 emu overhaul based on KingGuppy's code.Eugene Sandulenko
o added configure option o mi2 intro doesn't freeze anymore and has no sound glitches o missing instruments in many titles are fixed o numerous memory overwrite bugs are fixed o code is cleaned a lot and splitted into many smaller files o mt32.cpp went to backends/midi o synced with upstream code o reverberation fixed * don't complain about File class wrapper :) * all custom types are back * #pragmas are to do * maybe some indentation is wrong too I prefer smaller commits, but this thing came in one piece. svn-id: r15715
2004-10-24o Sync with upstream sourceEugene Sandulenko
o Move back to old sawtooth filter, which sounds better svn-id: r15683
2004-10-24More cleanup. Too bored to continue now.Torbjörn Andersson
svn-id: r15682
2004-10-24More cleanup.Torbjörn Andersson
svn-id: r15681
2004-10-24o Check size of waveforms.raw so output rate could be adjustedEugene Sandulenko
o Eliminate rom_path, as we use our File class svn-id: r15679
2004-10-23o Turn BASE_FREQ constant into variable. MT-32 has to be run in lesser time ↵Eugene Sandulenko
slices. o Attempt to fix mi2, but that cure for symptom, not the cause. Under dosbox header is always valid, but here we get 0x41001612 instead of 0x41101612. svn-id: r15669
2004-10-23fixed warningsPaweł Kołodziejski
svn-id: r15665
2004-10-23More cleanup. Too bored to go on.Torbjörn Andersson
svn-id: r15664
2004-10-23CleanupTorbjörn Andersson
svn-id: r15663
2004-10-23CleanupTorbjörn Andersson
svn-id: r15662
2004-10-23Cleaned up axtoi()Torbjörn Andersson
svn-id: r15661
2004-10-22cleanupMax Horn
svn-id: r15652
2004-10-22Replaced the Bit* data types with ScummVM's int* and uint* types. TheTorbjörn Andersson
64-bit type has been renamed int64 and uint64. As a consequence, bug #1051999 (the MinGW compilation problems) is now fixed. svn-id: r15650
2004-10-22IndentationTorbjörn Andersson
svn-id: r15646
2004-10-22Fixed warning. Hopefully without breaking anything.Torbjörn Andersson
The __int64 problem remains, though. svn-id: r15645
2004-10-22Correction for mingw compileTravis Howell
svn-id: r15644
2004-10-21Fix sign warningsMax Horn
svn-id: r15638
2004-10-21Patch #1048326 Better MT-32 supportEugene Sandulenko
svn-id: r15635