aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.h
AgeCommit message (Collapse)Author
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-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-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-08make even more use of Scumm::_musicEngine; added MusicEngine::setMasterVolumeMax Horn
svn-id: r10097
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-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-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-08-01#include cleanup (explicityl specify the location for headers from common/, ↵Max Horn
so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level) svn-id: r9359
2003-07-05updated code to use type MutexRef; added class StackLock (from sdl backend, ↵Max Horn
now in util.*) svn-id: r8777
2003-06-15moved GameId declaration to common/engine.h (more logical); moved scumm ↵Max Horn
specific stuff from gameDetector.h to scumm.h; cleaned up some #includes (ideally, never #include something in a header file if you can avoid it - this cuts down interdepencies) svn-id: r8496
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-19Proof of concept for XMIDI parser in Humongous games.Jamieson Christian
You must still uncomment the VAR_SOUNDPARAM setting for this to work...? svn-id: r7670
2003-05-17Fixed Adlib sound problem on old (small header) games. Thanks for ↵Jamieson Christian
eriktorbjorn for the material that led to the solution. svn-id: r7610
2003-05-17Added command line options forJamieson Christian
native MT-32 support and combination Adilb/native MIDI drivers. svn-id: r7594
2003-05-16More IMuse cleanupJamieson Christian
svn-id: r7578
2003-05-16IMuseDriver functionality absorbed into IMuseInternal.Jamieson Christian
Initial structural support for multiple MidiDriver's. svn-id: r7559
2003-03-23cleanupMax Horn
svn-id: r6847
2003-03-18cleanupMax Horn
svn-id: r6832
2003-03-06updated copyrights headersPaweł Kołodziejski
svn-id: r6726
2002-12-28Separated IMuseDigital into its own files.Jamieson Christian
svn-id: r6229
2002-12-25more -pedantic warnings fixedMax Horn
svn-id: r6109
2002-12-21IMuseMonitor functionality now built into IMuse itself.Jamieson Christian
IMuseInternal no longer derives from IMuse. This eliminates a couple layers of indirection and speeds things up. Miscellaneous source cleanup. svn-id: r6049
2002-12-11Fixed myriad VC++ compile/link problems.Jamieson Christian
PLEASE DON'T MAKE CHANGES TO THE ACTUAL PROJECT FILES UNLESS YOU MAKE THEM FOR *ALL* PRIMARY PORTS! svn-id: r5900
2002-12-05Fixed inappropriate expiration of sound resources,Jamieson Christian
which fixes concurrency issues esp. in PocketPC and MorphOS. Stubbed SysEx command 2 (start of song) to get rid of annoying warning. Changed MT-32 instrument warnings to fit on one (80-char) line. svn-id: r5842
2002-11-07Add newline to end of fileTravis Howell
svn-id: r5453
2002-11-07class -> struct to make Visual C++ happyMax Horn
svn-id: r5450
2002-11-06make it possible to #include imuse.h on its ownMax Horn
svn-id: r5443
2002-10-21Changed IMuse from a proxy into a virtual base classJamieson Christian
svn-id: r5205
2002-10-16fixes to imusePaweł Kołodziejski
svn-id: r5161
2002-10-15changes to imusePaweł Kołodziejski
svn-id: r5157
2002-10-15cleanup sfx and music in imuse, changed talkdelay description(disable) in ↵Paweł Kołodziejski
the dig svn-id: r5148
2002-10-08added delay before start playing sample to get chance for doComandPaweł Kołodziejski
svn-id: r5109
2002-10-08synced with local sources (imuse)Paweł Kołodziejski
svn-id: r5107
2002-10-04added looping voc samples in imuse(not tested)Paweł Kołodziejski
svn-id: r5087
2002-10-03changes in loops in imusePaweł Kołodziejski
svn-id: r5082
2002-10-03synced with local sourcesPaweł Kołodziejski
svn-id: r5080
2002-10-01unsigned <-> signed, local vars were not initedMax Horn
svn-id: r5065