- This adds an accurate imuse midi driver implementation for the
FM-Towns versions of MI2 and INDY4. Until now you could only use the
PC devices for these two games (which was not a real issue since the
audio tracks are dedicated AdLib and MT-32 tracks anyway; for FM-Towns
the AdLib music simply gets converted which is not really satisfactory).
Anyway, the new driver it will sound just like when using an emulator
like UNZ.
- The YM2612 code was removed since it was not used anymore (except for
the plugin code which was moved to a separate file). Some explanation
about this: The YM2612 code was an incomplete (no instrument support, no
pcm support, no proper tempo handling, etc.) implementation of the
FM-Towns euphony driver which is used for some sound effects in SCUMM3
games (e.g. LOOM distaff). We do have a rather complete and accurate
implementation of that driver in fmtowns_pc98\towns_euphony.cpp (used
only in KYRA 1 FM-Towns at first, but also in SCUMM3 since last summer).
So this is safe to be removed.
- renamed some stuff in the new midi driver code
- fixed minor bug in midi driver code
- fixed minor bug in euphony driver code
- add some functionality to towns audio interface
This adds an extra detune parameter which is assigned via sysex code 0.
Most tracks don't use this (= assign a value of 0), so it isn't really a
very noticeable feature.
This fixes a leak in PreAGI games (which never deleted their
RandomSource), ensures that PreAGI's RandomSource has a name (and hence
is registered with the event recorder) and even slightly simplifies the
AgiEngine destructor.
This change ensures that only RandomSource is used which also is
registered with the event recorder. Moreover, it gets rid of a static
RandomSource instance inside Actor::renderIdle.
This also removes the dependency of engines on the event recorder header
and API, and will make it easier to RandomSources that are not properly
registered.