Commit Graph

344 Commits

Author SHA1 Message Date
Jerome Fisher
e757242937 - Fixed uninitialised reverb level. This bug took embarrassingly long to find...
svn-id: r15962
2004-11-29 02:21:35 +00:00
Jerome Fisher
e61e0f27a0 - Now actually read and write the 4 bytes of tuning frequency info in the header.
svn-id: r15961
2004-11-29 01:05:15 +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
Jerome Fisher
6c84bbf2bd - Cleanup.
- 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-28 21:08:37 +00:00
Max Horn
3da8e08c0c Fixed various warnings
svn-id: r15939
2004-11-28 13:10:57 +00:00
Max Horn
540ba778e9 fixed an unsigned comparision warning (does this code really do what you intended it to do?)
svn-id: r15938
2004-11-28 13:09:02 +00:00
Max Horn
3225ae0203 const correctness fix
svn-id: r15937
2004-11-28 13:08:23 +00:00
Jerome Fisher
6d255be202 - More cleanup.
- Another tuning tweak. Sounds better to my ear, but still guesswork.

svn-id: r15934
2004-11-28 07:25:18 +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
2149e0fc78 - Cleanup. Still waiting for a real MT-32 to check PCM tuning.
svn-id: r15931
2004-11-28 06:03:23 +00:00
Jerome Fisher
39817f91b3 - Tweaked tuning.
svn-id: r15930
2004-11-28 05:42:12 +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
1a7ca2dc2a AudioStream::read() has been removed quite some time ago, now making sure that change is reflected everywhere
svn-id: r15911
2004-11-27 13:54:09 +00:00
Jerome Fisher
ea79c9c5e7 - Don't compile inline asm on versions of GCC < 3 (it uses MMX registers, which don't seem to be supported).
svn-id: r15830
2004-11-19 01:39:16 +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
Torbjörn Andersson
73afa3165b This has to be a typo.
svn-id: r15809
2004-11-14 14:58:39 +00:00
Eugene Sandulenko
2fb46f1b95 Make #pragma pack really multiplatform. Old code didn't work on
non-Win32 platforms.

svn-id: r15805
2004-11-14 11:46:29 +00:00
Jerome Fisher
504d54e8ab - Huge cleanup of LUT stuff.
- 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-14 08:04:56 +00:00
Jerome Fisher
0ed79dfad7 - Prettied up, fixed sign-extension bug.
svn-id: r15803
2004-11-14 07:54:43 +00:00
Jerome Fisher
a158e884a0 - More cleanup.
- Note-on MIDI commands outside the range 12-108 are now raised/lowered by octaves until in range (instead of being ignored).

svn-id: r15802
2004-11-14 04:40:12 +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
Paweł Kołodziejski
22afdfc5c9 renamed file mt32
svn-id: r15794
2004-11-12 11:32:35 +00:00
Paweł Kołodziejski
6f8f614893 renamed file mt32
svn-id: r15793
2004-11-12 11:09:47 +00:00
Jerome Fisher
e4f600ee48 - Minor improvement to failure handling.
svn-id: r15777
2004-11-10 10:50:47 +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
daee2edcfe oops
svn-id: r15734
2004-11-08 10:17:47 +00:00
Max Horn
79509f9383 cleanup
svn-id: r15733
2004-11-08 10:16:07 +00:00
Eugene Sandulenko
6d38776da0 Fix it on LE systems. SCUMM_LITTLE_ENDIAN is defined in common/scummsys.h,
so it's a good idea to have that included before check :)

svn-id: r15732
2004-11-08 01:17:55 +00:00
Max Horn
e759cf5522 Re-apply endian fix
svn-id: r15731
2004-11-07 18:25:32 +00:00
Torbjörn Andersson
6b3432a93e Be more consistent with the other module.mk files.
svn-id: r15719
2004-11-06 09:26:36 +00:00
Travis Howell
b36be2d8bc Remove stray ;
svn-id: r15717
2004-11-06 05:18:04 +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
Eugene Sandulenko
6fd31192e1 o Sync with upstream source
o Move back to old sawtooth filter, which sounds better

svn-id: r15683
2004-10-24 19:21:38 +00:00
Torbjörn Andersson
53d1021985 More cleanup. Too bored to continue now.
svn-id: r15682
2004-10-24 15:04:19 +00:00
Torbjörn Andersson
22581c3c10 More cleanup.
svn-id: r15681
2004-10-24 14:50:34 +00:00
Eugene Sandulenko
7b84693125 o Check size of waveforms.raw so output rate could be adjusted
o Eliminate rom_path, as we use our File class

svn-id: r15679
2004-10-24 13:03:42 +00:00
Eugene Sandulenko
e8811e7158 Oops
svn-id: r15670
2004-10-23 20:56:53 +00:00
Eugene Sandulenko
0b07a5f484 o Turn BASE_FREQ constant into variable. MT-32 has to be run in lesser time 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-23 20:33:39 +00:00
Paweł Kołodziejski
c10cce6af1 fixed warnings
svn-id: r15665
2004-10-23 13:39:03 +00:00
Torbjörn Andersson
879c2562e6 More cleanup. Too bored to go on.
svn-id: r15664
2004-10-23 13:23:46 +00:00
Torbjörn Andersson
62ca7b6644 Cleanup
svn-id: r15663
2004-10-23 13:17:03 +00:00
Torbjörn Andersson
4d8bc9862c Cleanup
svn-id: r15662
2004-10-23 13:02:05 +00:00
Torbjörn Andersson
07a6802dff Cleaned up axtoi()
svn-id: r15661
2004-10-23 12:50:31 +00:00
Torbjörn Andersson
1a36eeda0e ScummVM style (partial)
svn-id: r15653
2004-10-22 15:59:11 +00:00
Max Horn
5c53a3e260 cleanup
svn-id: r15652
2004-10-22 15:56:39 +00:00
Torbjörn Andersson
bf588c163f ScummVM style.
svn-id: r15651
2004-10-22 15:48:56 +00:00
Torbjörn Andersson
a4eb97da4c Replaced the Bit* data types with ScummVM's int* and uint* types. The
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-22 15:39:28 +00:00
Torbjörn Andersson
e88cd31e4d Indentation
svn-id: r15646
2004-10-22 10:24:48 +00:00
Torbjörn Andersson
8e1481ae8f Fixed warning. Hopefully without breaking anything.
The __int64 problem remains, though.

svn-id: r15645
2004-10-22 10:13:18 +00:00
Travis Howell
3843b6cb02 Correction for mingw compile
svn-id: r15644
2004-10-22 09:38:11 +00:00
Max Horn
5c87bcafa6 Fix sign warnings
svn-id: r15638
2004-10-21 23:03:09 +00:00
Eugene Sandulenko
9d0b746aaa Patch #1048326 Better MT-32 support
svn-id: r15635
2004-10-21 22:37:37 +00:00
Max Horn
72df42e047 Fix for bug #1049937 (FOA: Regression in Adlib music)
svn-id: r15618
2004-10-19 23:03:04 +00:00
Torbjörn Andersson
61e438df22 Made the calculation of _samples_per_tick a bit less prone to arithmetic
overflow. It failed if the output rate was 44100 Hz. (It didn't use to, but
somewhere along the line an unsigned value was changed to a signed. This
seemed like a better fix, though.)

svn-id: r15610
2004-10-19 08:47:10 +00:00
Max Horn
82a3d09a65 Fix warning
svn-id: r15593
2004-10-17 19:34:43 +00:00
Max Horn
267144e69c added MidiDriver_Emulated base class used by the adlib & ym2612 midi 'drivers'
svn-id: r15589
2004-10-17 17:49:45 +00:00
Max Horn
649eb19a3e Cleanup
svn-id: r15588
2004-10-17 17:12:35 +00:00
Max Horn
bdf66b1a07 Make use of the new setupPremix variant (i.e. use an AudioStream subclass instead of a premix proc)
svn-id: r15523
2004-10-11 22:19:22 +00:00
Chris Apers
2ca4529bba Use common PI value instead
svn-id: r15435
2004-10-06 10:14:31 +00:00
Chris Apers
951131e7c2 Zodiac midi driver
svn-id: r15028
2004-09-12 11:14:14 +00:00
Max Horn
759cd67de5 cleanup of TimerProc mess
svn-id: r14683
2004-08-22 13:27:34 +00:00
Jonathan Gray
d1616e1cb5 Add passthrough ability. Patch by Christian Schoenebeck with slight modifications
svn-id: r14354
2004-07-27 13:21:52 +00:00
Torbjörn Andersson
578b87b856 Reverted to the old random_nr() function. This appears to have been the
cause of bug #916886: Calling getRandomNumber(-1) causes ScummVM to crash,
while calling random_nr(-1) doesn't. We may still want to replace it with
getRandomNumber() later, of course.

svn-id: r13341
2004-03-19 07:36:20 +00:00
Max Horn
1b537be8d4 Patch #902111: Change remaining random function calls to use RandomSource
svn-id: r13262
2004-03-13 18:44:10 +00:00
Max Horn
d158280425 the OSystem changes we discussed on the ML (note: renaming of the existing OSystem API is not yet finished); porters will have to fix their ports to get them to compile again
svn-id: r13036
2004-02-24 22:39:42 +00:00
Chris Apers
2420bf2900 Prepare Zodiac MIDI support
svn-id: r12734
2004-02-05 13:56:39 +00:00
Joost Peters
11c8ff9544 Handle command 0xD0 (queen uses this) - thanks aholler.
svn-id: r12533
2004-01-20 10:51:53 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
c07a290d8c disable the reverb hack for now; at hacked in sound font support (specify 'soundfont' config option with path to a .SF2 file); simplify code a bit by using OpenDefaultComponent; allow usage of any music device, not just the DLSSynth (this may or may not help people with real MIDI devices)
svn-id: r11918
2003-12-25 17:23:49 +00:00
Max Horn
032d8ad52e fix various buglets (like, only 15 of the 16 channels were being inited; also, the 'All note off' code caused odd problems, not yet sure why. I am disabling it for now)
svn-id: r11884
2003-12-24 12:53:07 +00:00
Max Horn
e9b193f2e5 fix drum channel
svn-id: r11883
2003-12-24 02:25:59 +00:00
Jonathan Gray
7c320d63de add config file parameter to specify the desired port when using the ALSA music driver
svn-id: r11583
2003-12-11 14:38:43 +00:00
Paweł Kołodziejski
13c7acee9d cleanup whitespaces
svn-id: r11220
2003-11-08 22:57:42 +00:00
Marcus Comstedt
ef5e193d59 stdafx.h needs to be included first.
svn-id: r11117
2003-11-03 22:28:37 +00:00
Max Horn
7eab653832 cleanup
svn-id: r10894
2003-10-18 13:04:59 +00:00
Chris Apers
9033d3dbab Make PalmOS port happy
svn-id: r10843
2003-10-17 08:15:00 +00:00
Jamieson Christian
da9fcd9ceb More Euphony/YM2612 instrument layering and polyphony
fixes. Aside from variations in the instrument timbre,
the output from ScummVM now seems to match up with the
output from UNZ (MAME YM2612 emulator).

svn-id: r10672
2003-10-07 15:15:26 +00:00
Jamieson Christian
f49a741cfb Remove my trace output. :P
svn-id: r10669
2003-10-07 13:12:29 +00:00
Jamieson Christian
027543b30b More polyphony tweaks. Sounding a bit better.
svn-id: r10668
2003-10-07 13:11:54 +00:00
Max Horn
8c9dc47ee1 fixed warnings
svn-id: r10646
2003-10-06 22:33:54 +00:00
Max Horn
6cad2556ef removed unused 'rate' param from nextTick; another tiny tweak to Operator2612::nextTick (avoids one memory store over here, woohoo <g>)
svn-id: r10644
2003-10-06 15:26:01 +00:00
Jonathan Gray
5ca9daeebd remove <string> include so we don't depend on stdlib stuff (not used anyway) this also stops compile problems arising from our overloaded memory operators here
svn-id: r10643
2003-10-06 14:32:22 +00:00
Max Horn
7829083a78 malloc/new optimizations
svn-id: r10642
2003-10-06 14:15:01 +00:00
Jamieson Christian
83ace36fcc Per-channel polyphony now > 1
svn-id: r10641
2003-10-06 14:08:33 +00:00
Max Horn
52efd44852 even more optimizations
svn-id: r10639
2003-10-06 13:37:54 +00:00
Max Horn
5a1bd7574a some more tweaks
svn-id: r10637
2003-10-06 13:02:06 +00:00
Max Horn
ca13989959 some incremental changes (more will follow, this is step-by-step optimzation, watch it happen in pseudo-real-time and color. icecream is sold at the entrance, please stop smoking
svn-id: r10636
2003-10-06 12:33:40 +00:00
Jamieson Christian
94134421bc More performance optimizations
svn-id: r10629
2003-10-06 04:41:25 +00:00
Max Horn
a4150583cc oops - that happesn if you incorrectly re-apply a broken patch =)
svn-id: r10628
2003-10-06 01:25:24 +00:00
Max Horn
ef485006b1 more optimizations
svn-id: r10627
2003-10-06 01:24:22 +00:00
Jamieson Christian
97d7223bca Fix compiler warnings
svn-id: r10626
2003-10-06 01:08:38 +00:00
Jamieson Christian
f16775476f The real YM2612 implementation. Portable,
and with significant performances optimizations
thanks to Fingolfin, or optimizing emperor. :)

svn-id: r10625
2003-10-06 01:01:31 +00:00
Jamieson Christian
a722d0601e Preliminary preparation for new YM2612 FM emulator.
All the hooks are in, but actual implementation
needs to be checked for portability.

svn-id: r10615
2003-10-05 15:36:52 +00:00
Max Horn
17bf7b95aa removed duplicate g_timer object (one was global, one was static to timer.cpp); set g_system earlier (might prevent a few race conditions)
svn-id: r10471
2003-09-28 21:08:48 +00:00
Jamieson Christian
7f707acfb6 Converted the MPU-401 timer to use the Timer class.
Since this was the only place where we were using
create_thread, that method should be removable now.
I also removed the midi_driver_thread overrides
for the MorphOS and YPA1 (Palm) backends. These need
to be tested by their respective porters.

svn-id: r10414
2003-09-26 14:05:33 +00:00
Jamieson Christian
a30eb131bb Fix for Bug [810564] ALL: missing instruments with native MT-32
As defined in Patch [811623] MT-32 patch for Bug 810564

Added a channel mask to MPU-401 devices so that --native-mt32
may force the device to use only the subset of MIDI channels
actually supported by the MT-32. Also added a best-guess
interpretation of iMuse Part priority in the SysEx 0x00 msg,
since part priorities become more of an issue when the
channel count is cramped.

svn-id: r10409
2003-09-25 22:32:05 +00:00
Max Horn
9470c9f661 changed & documented the premixer semantics
svn-id: r10294
2003-09-18 16:01:33 +00:00
Torbjörn Andersson
3342a20578 Extend the ALSA version check to look at SND_LIB_MAJOR as well. They're
bound to hit 1.0 any year now.

Of course, this is completely untested.

svn-id: r10288
2003-09-18 07:27:48 +00:00
Max Horn
be9d4066e1 moved engine.* to base; this fixes some linking issues when building a barebone ScummVM (or maybe I just want to increase our CVS stats? <g>)
svn-id: r10287
2003-09-18 02:07:18 +00:00
Max Horn
925ddb1b86 moved declaration of error/warning/debug from engine.h to util.h
svn-id: r10151
2003-09-10 12:23:42 +00:00
Ruediger Hanke
191c4b9b8e use startup message, avoid possible race condition on exit
svn-id: r9833
2003-08-23 18:03:17 +00:00
Jochen Hoenicke
d1391b8f2d Changed adlib note priorities for small header games
svn-id: r9746
2003-08-17 19:31:10 +00:00
Jochen Hoenicke
3b75fa8d3c Changed on_timer frequency in adlib so V3 SFX are correctly timed.
Changed V3 conversion code to adapt to the new (correct) speed.

svn-id: r9712
2003-08-15 16:40:17 +00:00
Travis Howell
124650e073 Remove debug code that shouldn't have been commit
svn-id: r9655
2003-08-13 12:16:42 +00:00
Travis Howell
b198fbc3bb Add adlib music for indy3ega/loom and adlib sfx, patch #770862
svn-id: r9649
2003-08-12 16:09:41 +00:00
Jamieson Christian
dbc42e0fb3 Revamped the GM-to-FM emulation tables.
The new tables come directly from the Adlib driver
for the original Sam & Max distro. Sam & Max using
Adlib should now sound essentially identical to
the original distro ("a few more tests"), and other
games without specific Adlib support, such as Simon,
should sound a whole lot closer to the GM tonality.
Percussion support is now comprehensive for Sam & Max
and a lot more thorough for other games.

svn-id: r9605
2003-08-08 12:06:14 +00:00
Jamieson Christian
154e872d5a Added generic send() option to MidiChannel.
This circumvents problems doing generic send()
calls to MidiDrivers that support more than
16 MIDI channels (i.e. Adlib). Because of the
way it interacts with MidiDriver, Simon could
have run into a problem if it tried to
allocate more than 15 Adlib music channels
(though this would only happen in very, VERY
rare circumstances).

Also fixed a problem with the channel
numbering scheme used by MidiDriver_Adlib,
in particular the percussion channel number.

svn-id: r9604
2003-08-08 11:54:24 +00:00
Max Horn
75db41750e getting rid of g_mixer; removing lots of whitespace
svn-id: r9527
2003-08-05 23:58:24 +00:00
Max Horn
c431e229b3 removing whitespace
svn-id: r9526
2003-08-05 23:57:37 +00:00
Ruediger Hanke
c99f6980c7 Hotfixes ...
svn-id: r9514
2003-08-05 18:18:26 +00:00
Travis Howell
318a6dc408 Rvert this non-smallheader adlib change
svn-id: r9491
2003-08-05 12:43:03 +00:00
Travis Howell
8bf012d966 Add adlib music improvements for indy3/monkeyega/monkeyvga and cleanups from patch #770862
svn-id: r9480
2003-08-05 05:21:57 +00:00
Jamieson Christian
f6984add8f Fixed unit'd var in Adlib driver
svn-id: r9195
2003-07-26 19:52:34 +00:00
Ruediger Hanke
5c9ebd053e Some MorphOS port fixes
svn-id: r9136
2003-07-22 22:30:16 +00:00
Max Horn
b05e7de7bb replaced SCUMMVM_VERSION/SCUMMVM_CVS by gScummVMVersion/gScummVMBuildDate/gScummVMFullVersion; made engine.o depend on all other .o files, so that the build date in it is always up-to-date
svn-id: r9032
2003-07-15 02:16:33 +00:00
Jamieson Christian
c4455fc0fd Fix for OOB Adlib frequencies
svn-id: r8907
2003-07-11 10:47:10 +00:00
Jamieson Christian
378856a693 Post FMOPL-reversion cleanup.
svn-id: r8906
2003-07-11 10:23:13 +00:00
Jamieson Christian
8b8b964aad Reverted to "old" YM3812 (FMOPL) emulator code.
Until specific information regarding the benefits
of migrating to the new emulator can be made
available, the "old" code will remain in effect
for the benefit of slower hardware platforms such
as some WinCE-based devices.

svn-id: r8903
2003-07-11 07:14:21 +00:00
Jamieson Christian
39b37df37a Fix for Bug [766984]: FOA: Adlib sound distortion
Added check for OOB note numbers when instantiating
Adlib registers with frequency information. Must check
WHY exactly we're getting OOB note numbers (and *way*
OOB, at that).

svn-id: r8902
2003-07-11 06:25:37 +00:00
Chris Apers
aba8284008 New thread emu
svn-id: r8837
2003-07-07 08:53:05 +00:00
Oliver Kiehl
c29d39fad7 fix compile
svn-id: r8814
2003-07-06 20:19:54 +00:00
Max Horn
85c467c6a0 fixed two leaks
svn-id: r8739
2003-07-04 13:16:48 +00:00
Max Horn
3ed9aae095 const correctness
svn-id: r8727
2003-07-03 22:06:13 +00:00
Max Horn
6598673ac3 cleanup
svn-id: r8718
2003-07-02 23:24:05 +00:00
Max Horn
c9d22c69a2 fixed volume controller (compared to the core midi backend, volumes are now equal; plus this is the logical implementation :-)
svn-id: r8642
2003-06-24 11:56:43 +00:00
Jonathan Gray
9ce9ce620f fix typo
svn-id: r8495
2003-06-15 01:05:03 +00:00
Jamieson Christian
66af2e9861 Added MPU401 crash fix
svn-id: r8450
2003-06-12 17:34:34 +00:00
Torbjörn Andersson
f504809b87 Applied Jamieson630's race condition fix to the ALSA driver as well.
svn-id: r8440
2003-06-12 06:45:48 +00:00
Jamieson Christian
eb23eb1cd7 Removed unnecessary warning.
svn-id: r8436
2003-06-11 18:30:28 +00:00
Jamieson Christian
d2c952b315 Fixed race condition in MPU401 shutdown
svn-id: r8432
2003-06-11 05:54:46 +00:00
Jonathan Gray
738497ef14 actually sending the event helps too
svn-id: r8219
2003-06-01 03:39:44 +00:00
Jonathan Gray
220c2f6389 give alsa sysex more chance of working, still broken though
svn-id: r8218
2003-06-01 03:25:14 +00:00
Jamieson Christian
3103dfa1f3 Fixed SysEx errors
svn-id: r8212
2003-06-01 02:37:37 +00:00
Jamieson Christian
e2b2f8cc64 Fixed stupid SysEx error
svn-id: r8211
2003-06-01 02:25:07 +00:00
Jonathan Gray
8f4660fb5c hopefully add sysex support to alsa midi backend
svn-id: r8210
2003-06-01 02:08:47 +00:00
Jamieson Christian
f047955b0d Restored SEQ_MIDIPUTC SysEx approach
svn-id: r8208
2003-06-01 01:45:08 +00:00
Jamieson Christian
c5ecbf65cb Another slight tweak to the EV_SYSEX code
svn-id: r8201
2003-06-01 00:14:04 +00:00
Jamieson Christian
3323aa4212 EV_SYSEX definition
svn-id: r8198
2003-05-31 23:27:19 +00:00
Jamieson Christian
5cfb556d67 EV_SYSEX based SysEx for -eseq
svn-id: r8197
2003-05-31 23:14:36 +00:00
Jamieson Christian
ef198afd7c Possible fix for -eseq SysEx
svn-id: r8196
2003-05-31 22:16:25 +00:00
Chris Apers
6054d1c517 Fix a sound problem on exit
svn-id: r8097
2003-05-29 12:09:33 +00:00
Chris Apers
2bb68e1278 Braces
svn-id: r8051
2003-05-28 18:36:29 +00:00
Max Horn
21b41a5456 cleanup
svn-id: r8037
2003-05-27 23:18:03 +00:00
Jamieson Christian
c6568530bd Revamped iMuse and Player classes. Player now uses MidiParser to parse its data, which will allow it to parse other MIDI formats. To receive parsed data, Player now derives from MidiDriver to act as a "fake MIDI driver".
Miscellaneous upgrades and fixes to MidiParser, including the Smart Jump (which could not be tested before iMuse started making use of the MidiParser).

*** THIS IS A BIG UPGRADE! EXTENSIVE REGRESSION TESTING IS NEEDED! ***

This has been tested through the intros and a number of other scenes from MI2, FOA and S&M.

NOTE! This upgrade introduces savegame format version V19. Earlier version savegames will load, but the music will simply start over from the beginning. Only V19 and later games will properly restore the position of the music! Don't say you weren't warned....

svn-id: r7849
2003-05-23 04:19:47 +00:00
Max Horn
c152233f80 get rid of some tables
svn-id: r7834
2003-05-22 21:24:36 +00:00
Max Horn
9fb601cd3f silence 'Unknown MIDI effect' warning in Simon2
svn-id: r7785
2003-05-21 16:07:39 +00:00
Max Horn
7d4442fca5 yet more memoy init fixes
svn-id: r7727
2003-05-20 14:17:18 +00:00
Max Horn
fc7806b80d more memoy init fixes
svn-id: r7725
2003-05-20 14:08:33 +00:00
Max Horn
19f77c0381 init member vars
svn-id: r7722
2003-05-20 13:05:14 +00:00
Jamieson Christian
a8627b1da6 Fixed Adlib priorities for non-SCUMM games
svn-id: r7694
2003-05-19 19:04:39 +00:00
Jamieson Christian
c81b58d38e Implemented new Simon MIDI module, switching from MidiStreamer to MidiParser. Restructuring enables XMIDI support and vc_72 implementation. Various cleanup on MidiParser's and MidiDriver's.
svn-id: r7654
2003-05-18 23:55:53 +00:00
Jonathan Gray
cf54a63639 HAVE_CONFIG_H
svn-id: r7632
2003-05-18 13:39:02 +00:00
Jamieson Christian
c88e0b5301 Fixed Adlib sound problem on old (small header) games. Thanks for eriktorbjorn for the material that led to the solution.
svn-id: r7610
2003-05-17 17:20:27 +00:00
Jamieson Christian
66cbaa1df7 Moved SEQ driver to its own file
svn-id: r7605
2003-05-17 14:26:58 +00:00
Jamieson Christian
7e7719fd16 Possible fix for Windows SysEx transmissions
svn-id: r7525
2003-05-15 14:16:12 +00:00
Jamieson Christian
cb5d44bc12 Fixed tambourine percussion patch
svn-id: r7522
2003-05-15 01:17:33 +00:00
Jamieson Christian
979b465415 Added rudimentary Adlib percussion support.
Semantic fixes -- Adlib "MIDI Channels" are now "Voices"
Miscellaneous cleanup/streamlining.

svn-id: r7520
2003-05-15 00:05:32 +00:00
Max Horn
325c9b321c new fmopl (from adplug, which has it from mame; we can use it under the LGPL should we ever have to)
svn-id: r7328
2003-05-04 21:17:42 +00:00
Max Horn
38b6a9f090 palmos midi driver
svn-id: r7221
2003-04-30 12:46:02 +00:00
Paweł Kołodziejski
aa3766018f updated copyrights headers
svn-id: r6726
2003-03-06 21:46:56 +00:00
Paweł Kołodziejski
a8c3057875 and more cleanup ....
svn-id: r6719
2003-03-06 18:30:44 +00:00
Max Horn
cc8f6f5ded added SysEx support to the CoreAudio midi backend - though I have no clue what effect this will have, or how I could test this...
svn-id: r6677
2003-03-03 22:39:04 +00:00
Travis Howell
ef67537f09 Add missing simon 1/2 adlib control codes, purpose unknown.
svn-id: r6596
2003-02-10 11:51:23 +00:00
Nicolas Bacca
2c755a1f31 Change AdLib emulation quality for slower devices - added PROP_GET_FMOPL_ENV_BITS and PROP_GET_FMOPL_EG_ENT
svn-id: r6573
2003-01-29 21:28:37 +00:00
Jamieson Christian
b942f42670 First-revision SysEx support for -ewindows.
svn-id: r6381
2003-01-10 14:40:22 +00:00
Jonathan Gray
8acd77b85e make alsa driver print out the correct port
svn-id: r6272
2002-12-30 06:24:59 +00:00
Ruediger Hanke
2d46b1e4d7 This could hardly work, how did this change? scratch head" morphos.cpp
svn-id: r6151
2002-12-25 21:46:35 +00:00
Ruediger Hanke
9e0e918397 Fix midi driver thread for MorphOS
svn-id: r6123
2002-12-25 12:36:29 +00:00
Ruediger Hanke
580df4d2d0 Moved MorphOS midi driver to backends/midi
svn-id: r6120
2002-12-25 12:02:27 +00:00
Jamieson Christian
65ee19610c Instrument definition revamp.
IMuseDriver abstract class removed.
IMuseGM is now IMuseDriver.
Miscellaneous cleanup.

svn-id: r6017
2002-12-18 13:22:40 +00:00
Jamieson Christian
fec55e0b57 Fixed Adlib compilation problem
svn-id: r6014
2002-12-18 07:53:45 +00:00
Jamieson Christian
71e7d1512f message.log
svn-id: r6012
2002-12-18 07:48:02 +00:00
Jonathan Gray
6c20dc48c7 fix up alsa after recent midi changes
svn-id: r5911
2002-12-12 03:22:30 +00:00
Jamieson Christian
8f419dcaa8 Fixed VC++ errors in Windows driver after streaming capability was removed.
svn-id: r5908
2002-12-12 01:35:57 +00:00
Max Horn
bf62494fd5 ripped out obsolete midi streaming code from backends (this may break Alsa/SEQ/Windows/Morphos compile, I tried my best, but you'll have to clean up after me)
svn-id: r5905
2002-12-11 16:09:58 +00:00
Max Horn
0602c7ed49 fixed legal header
svn-id: r5902
2002-12-11 02:38:38 +00:00
Jamieson Christian
7d3a423df7 Separated Windows MIDI driver into its own file
svn-id: r5901
2002-12-11 02:08:32 +00:00
Travis Howell
90b844d95e Compile fix
svn-id: r5895
2002-12-09 02:40:22 +00:00
Oliver Kiehl
a112545d7e split alsa from mididrv
svn-id: r5890
2002-12-08 20:47:42 +00:00
Max Horn
0ac3214fd5 started to split out the midi drivers
svn-id: r5889
2002-12-08 20:19:01 +00:00
Jamieson Christian
cc6c37e1ad Fixed Adlib instrument setup in old (GF_SMALL_HEADER) games.
Restored MT-32 emulation lost during restructuring.

svn-id: r5786
2002-12-01 15:51:29 +00:00
Oliver Kiehl
5215379191 fixed compile problems
svn-id: r5724
2002-11-26 20:14:12 +00:00
Jamieson Christian
973164a741 Restructured MIDI channel allocation architecture.
Adlib no longer suffers from 16-channel MIDI restrictions.
Fixes a regression in the MI2 intro music under Adlib.

svn-id: r5721
2002-11-26 16:54:58 +00:00
Oliver Kiehl
efb40c99e8 added .cvsignore
svn-id: r5714
2002-11-24 15:41:17 +00:00
Max Horn
afa6707b22 fixed warnings
svn-id: r5680
2002-11-21 19:19:14 +00:00
James Brown
2274a4f9de Update module.mk system for the new adlib driver
svn-id: r5679
2002-11-21 19:17:00 +00:00
Jamieson Christian
c9ed09e7df Revamped Adlib functionality.
IMuseAdlib is defunct.
New MidiDriver_ADLIB device.
Simon 1/2 now supports Adlib.

svn-id: r5677
2002-11-21 19:06:42 +00:00