Commit Graph
17 Commits
Author SHA1 Message Date
Max Horn f09293b22c Clean up OSystem::Event
svn-id: r15990
2004-12-05 17:42:20 +00:00
Max Horn 10dd548b85 Changed parameter order of SoundMixer::playInputStream to match that of playRaw
svn-id: r15950
2004-11-28 23:02:28 +00:00
Jerome Fisher 1f56326bd5 - Now sets the palette earlier, and only once.
svn-id: r15948
2004-11-28 22:23:13 +00:00
Jerome Fisher 87fc0548f9 - Now sets itself as a "permanent" mixer channel.
svn-id: r15947
2004-11-28 22:17:06 +00:00
Eugene Sandulenko 1947aa48ac Initialize palette for the progress bar
svn-id: r15945
2004-11-28 21:31:46 +00:00
Max Horn 3225ae0203 const correctness fix
svn-id: r15937
2004-11-28 13:08:23 +00:00
Jerome Fisher c5915d19d0 - Now really use g_scummfont everywhere.
svn-id: r15933
2004-11-28 07:08:54 +00:00
Jerome Fisher 2a3b7efc3d - Now uses g_scummfont instead of g_sysfont.
- Added default case to event switch to eliminate compiler warning.

svn-id: r15932
2004-11-28 07:07:15 +00:00
Jerome Fisher 077d19f500 - Added graphical representation of initialisation progress. This is quite 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-28 05:35:07 +00:00
Max Horn 525df7cff0 const const const
svn-id: r15825
2004-11-15 23:33:06 +00:00
Jerome Fisher f08482d0ce - Now uses playInputStream to add a channel to the mixer, instead of setting the premixer. There can be only one, and this conflicted with Adlib in multi_midi mode.
svn-id: r15821
2004-11-15 12:39:08 +00:00
Jerome Fisher 1aeca6838b MT32 MidiDriver:
- 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-14 04:13:15 +00:00
Jerome Fisher 5e442766e5 MT32 MidiDriver:
- 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-13 19:24:37 +00:00
Max Horn cbfa7e3b5c Use the actual output rate of the sound mixer when producing MT32 audio 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-10 00:25:58 +00:00
Max Horn 79509f9383 cleanup
svn-id: r15733
2004-11-08 10:16:07 +00:00
Eugene Sandulenko dee673d96e Improve reporting (OSD messages, file open errors) and fix typos.
Forgot to mention:

 o waveforms.raw is autogenerated if not present

svn-id: r15716
2004-11-06 02:20:43 +00:00
Eugene Sandulenko 805b21181a Major MT-32 emu overhaul based on KingGuppy's code.
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-11-06 01:41:32 +00:00