Monkey VGA) that was introduced by a recent "multi MIDI" change.
The "old Adlib" property was set too late in the iMUSE player, so the Adlib
driver would always think the game was new. I've removed this property from
the iMUSE player, since it's only function appeared to be to pass it on to
the Adlib player, and now set it in the Adlib player directly instead.
Also removed some remaining "multi MIDI" traces from the iMUSE player that
I believe were obsoleted by the aforementioned "multi MIDI" change.
svn-id: r15974
are even used by the game scripts. This is in preparation for a
restructuring of the volume model.
Also removed unused get_music_volume() member.
svn-id: r10872
Manual scaling of pitchbends to account for the fact that the
MT32 doesn't respond to RPN-based pitchbend range adjustments.
Also tweaked the MT32 partial reserve settings per Bug [812740].
svn-id: r10521
logicdeluxe's patch to set MT-32 partial reserves
equally for all channels, to ensure that entire
notes don't get cut off. The patch as committed is
slightly modified to reorder the MT-32 initialization
sequence. The mods (1) ensure a brief delay between
SysEx transmissions to give the MT-32 time to process
each request, and (2) hopefully sequence the delays
such that the ScummVM welcome message is actually
readable and doesn't just flash for a split-second
(as was the reported behavior in the past).
svn-id: r10498
the iMuse implementation. This allows the termination
sequence to be done BEFORE object destruction, so
that the destructor is not making calls that may not
be appropriate during object destruction. (Virtual
functions were the concern, although I'm not sure any
of that was happening anyway. Oh well, better to be
safe than sorry.)
I implemented an empty terminate() in the base class,
but the other MusicEngine derivatives may have stuff
in their destructors that should be moved to this
method. I didn't check.
svn-id: r10452
Implemented a parser for Euphony music. No
FM instrument support yet, as the FM chip used
by FM Towns is not being emulated yet. In the
meantime, a stock FM-emulated GM instrument is
being used instead.
This at least makes the Zak Towns kazoo tune
and the Loom Towns distaff audible. Emulation
of the FM Towns synth chip, or suitable
emulation using the OPL2 synth, is still
under investigation.
svn-id: r10265
performance by omitting redundancies
Removed the use of the _bank member for iMuse Parts.
The member is still being saved/loaded, and a
warning will display if a non-zero _bank value is
set. If it turns out some musical passage is actually
using the _bank, we'll need to reinstate it.
Otherwise, after sufficient testing we can obsolete
it in the savegames.
svn-id: r10261
Implemented _cmd_queue save/load. In addition to requiring
_cmd_queue information, this bug arises from a rare assumption
that sound resources are loaded in memory even though they
aren't currently playing. Therefore, a list of sound resources
loaded in memory is included in the savegame, so that all
relevant sound resources are reloaded when the savegame is
loaded. This also fixes an unreported music bug in S&M when
saving a game while outside the Bumpusville mansion.
As a result of savegame format modifications, we are now at
savegame version 23.
svn-id: r10254
a simple number. So that it's still obvious
that the number refers to version, a VER()
macro does nothing to the number but makes
it obvious what the number is for. This
has the exact same effect as the enum that
was going to get more and more lengthy
as the savegame version evolved.
svn-id: r9901
RO streams have built-in timer markers (the
unknown 0xA0 mentioned in FR [742249]) that
override automated methods of updating
VAR_MUSIC_TIMER. Since these timer markers
do not seem to be present in AD resources, the
old mechanism is used if MD_ADLIB is the current
MidiDriver.
svn-id: r9720
in monkeyvga/ega. Tested in monkeyvga, but
not in monkeyega yet. There are still wrinkles
to work out, but the parser for the new format
is in and hooked up.
svn-id: r9684
Included the ImDeferredCommand list when checking for
sounds that have been queued to play. Also added
sound queue processing between execution of exit script
and entry script. In the case of this bug, the entry
script required that the iMuse state be fully up to
date, including last-moment changes from the previous
exit script.
svn-id: r9622