aboutsummaryrefslogtreecommitdiff
path: root/backends/midi/mt32.cpp
AgeCommit message (Collapse)Author
2004-12-05Clean up OSystem::EventMax Horn
svn-id: r15990
2004-11-28Changed parameter order of SoundMixer::playInputStream to match that of playRawMax Horn
svn-id: r15950
2004-11-28- Now sets the palette earlier, and only once.Jerome Fisher
svn-id: r15948
2004-11-28- Now sets itself as a "permanent" mixer channel.Jerome Fisher
svn-id: r15947
2004-11-28Initialize palette for the progress barEugene Sandulenko
svn-id: r15945
2004-11-28const correctness fixMax Horn
svn-id: r15937
2004-11-28- Now really use g_scummfont everywhere.Jerome Fisher
svn-id: r15933
2004-11-28- Now uses g_scummfont instead of g_sysfont.Jerome Fisher
- Added default case to event switch to eliminate compiler warning. svn-id: r15932
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-15- Now uses playInputStream to add a channel to the mixer, instead of setting ↵Jerome Fisher
the premixer. There can be only one, and this conflicted with Adlib in multi_midi mode. svn-id: r15821
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-10Use the actual output rate of the sound mixer when producing MT32 audio ↵Max Horn
samples -> by default only does 22.5 kHz -> it's now actually almost usable on my machine ;-). Alternative approach might be to hard code 32000 here svn-id: r15775
2004-11-08cleanupMax Horn
svn-id: r15733
2004-11-06Improve reporting (OSD messages, file open errors) and fix typos.Eugene Sandulenko
Forgot to mention: o waveforms.raw is autogenerated if not present svn-id: r15716
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