aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_internal.h
AgeCommit message (Collapse)Author
2005-01-07cleanupMax Horn
svn-id: r16476
2005-01-01Updated copyrightMax Horn
svn-id: r16398
2004-12-03Fixed an Adlib regression with older games (e.g. EGA Loom, Indy 3 andTorbjörn Andersson
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
2004-11-28Trying to cleanup the volume control mess inside the SCUMM engine: renamed ↵Max Horn
MusicEngine::setMasterVolume to setMusicVolume; fixed iMuse to use the correct method for setMusicVolume (previously modified the iMuse internal volume control); hooked up the volume control of various other music engines; added ScummEngine::setupVolume method which can be called whenever volume settings change, and which gurantees that those are handled uniformly svn-id: r15944
2004-11-27To really, truly fix the multi-midi race condition, the adlib driver is now ↵Jerome Fisher
always created before iMuse initialisation. This necessitated removing the multimidi toggle from the debug console. svn-id: r15912
2004-01-06updated copyright noticeMax Horn
svn-id: r12176
2003-11-08cleanup whitespacesPaweł Kołodziejski
svn-id: r11217
2003-10-17Added trace output for IMuse doCommand codes that we're not sureJamieson Christian
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
2003-10-15removed the kDefault*Volume constantsMax Horn
svn-id: r10816
2003-10-05Preliminary preparation for new YM2612 FM emulator.Jamieson Christian
All the hooks are in, but actual implementation needs to be checked for portability. svn-id: r10615
2003-10-03introduced namespace Scumm; made #include statements use scumm/ prefix ↵Max Horn
explicitly svn-id: r10571
2003-10-03const as const canMax Horn
svn-id: r10555
2003-10-02renamed class Scumm to ScummEngine (consisten with other engine names; also ↵Max Horn
makes room for a potential 'Scumm' namespace) svn-id: r10549
2003-10-01Fix for Bug [812737] ALL: pitchbend range with MT32Jamieson Christian
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
2003-09-30Fix for Bug [812740] ALL: MT32: some notes cut off earlyJamieson Christian
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
2003-09-29Cleanup, mostly related to matching up semanticsJamieson Christian
between Part and MidiChannel (which Part may derive from eventually). svn-id: r10480
2003-09-29Fixed iMuse termination sequence to avoid deadlock.Jamieson Christian
Fixes Bug [813920]. svn-id: r10477
2003-09-28Added terminate() to the MusicEngine and publicizedJamieson Christian
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
2003-09-21removed unused macroMax Horn
svn-id: r10357
2003-09-07cleanup/refactoringMax Horn
svn-id: r10070
2003-09-07some cleanup; clarified isSoundInUse semantics and the difference between ↵Max Horn
IMuse::get_sound_active and IMuse::getSoundStatus; added lots of const qualifiers to IMuse; rewrote IMuseInternal::getSoundStatus (hopefully not breaking it); added MusicEngine::getSoundStatus svn-id: r10069
2003-09-07added common base class MusicEngine for iMuse/iMuseDigital/Player_V123 ↵Max Horn
(initial stab, more work to follow) svn-id: r10066
2003-08-16More corrections to the VAR_MUSIC_TIMERJamieson Christian
computations, mostly to produce the exptected output with AD resources. svn-id: r9730
2003-08-16Corrected timing mechanism for RO music streams.Jamieson Christian
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
2003-08-13Made Player::decode_sysex_bytes const-correct.Bertrand Augereau
svn-id: r9672
2003-08-12Removed unused stuff.Jamieson Christian
svn-id: r9647
2003-08-06Upgraded IMuse::doCommand() to support more than 8 parameters.Jamieson Christian
V6 scripts can specify up to 16 parameters to be passed to doCommand(). In most cases 8 or fewer parameters were used, but occasional uses of 9 or 10 parameters resulted in incorrect iMuse behavior due to lost doCommand() data. ImTrigger was also upgraded to support 8 parameters instead of 4, since the incorrect behavior that was observed involved the use of triggered commands that required more than 4 parameters. Since ImTrigger data is not currently being saved (which is bad), we do not at this time have to go to another savegame format to support the additional ImTrigger data (which is good). This fix corrects a problem in the Tunnel of Love. When the "execution scene" music finishes and the hidden door opens, the Tunnel of Love music is supposed to start up again. In ScummVM, it never would, do to the loss of parameters for a trigger-based "Parameter Fade" command. A bit of miscellaneous cleanup has also been made. svn-id: r9579
2003-08-05getting rid of g_mixer; removing lots of whitespaceMax Horn
svn-id: r9527
2003-08-01indention fix (so the code adheres to our indention rules)Max Horn
svn-id: r9384
2003-06-01Some last SysEx cleanup.Jamieson Christian
svn-id: r8223
2003-05-26Fixed a MORONIC oob memory write. Now back to remedial C++ classJamieson Christian
svn-id: r8019
2003-05-25More cleanup, plus more crash-aversion fixes.Jamieson Christian
Restored the -t command line option that had gotten lost in the revamp. svn-id: r7962
2003-05-25Fixed music starting at incorrect location when loading gameJamieson Christian
svn-id: r7961
2003-05-24Put the comment back on IMUSE_DEBUG. Duh.Jamieson Christian
svn-id: r7903
2003-05-24Removed more unnecessary codeJamieson Christian
svn-id: r7901
2003-05-24Various iMuse cleanupJamieson Christian
svn-id: r7900
2003-05-23Added XMIDI support to IMuse. IMuse now plays music from Humongous games.Jamieson Christian
Added some IMuse property options to support some assumptions that seem to be made by Humongous games. This is still preliminary. It will play music, and it will switch between songs. But I don't know if it's switching to the right song at the right time. svn-id: r7869
2003-05-23Revamped iMuse and Player classes. Player now uses MidiParser to parse its ↵Jamieson Christian
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-22Separated IMuse Player into its own fileJamieson Christian
svn-id: r7832