aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.cpp
AgeCommit message (Collapse)Author
2003-12-13cleanupMax Horn
svn-id: r11620
2003-11-16changed some shift operators to *, /Paweł Kołodziejski
svn-id: r11315
2003-11-08cleanup whitespacesPaweł Kołodziejski
svn-id: r11217
2003-10-17Another fix for Bug [817871] re hanging notes onJamieson Christian
pause with MT-32. Apparently the first fix doesn't work. svn-id: r10876
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-12Fix for Bug [817871]: Added MT-32 master volume adjustment to pause().Jamieson Christian
svn-id: r10759
2003-10-07Patch [818296] Modified MT-32 intialization sequence.Jamieson Christian
svn-id: r10666
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-30Fixed MT-32 init not getting calledJamieson Christian
svn-id: r10501
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-17new module 'base'; moved gameDetector.*, main.cpp and base/plugins.* there ↵Max Horn
(this removes the need for an ugly hack in the build system, and is also conceptionally cleaner) svn-id: r10282
2003-09-16Partial fix for Bug [636985] ZAK256: No kazoo tuneJamieson Christian
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
2003-09-15Feature Request [806641] Increase MIDIJamieson Christian
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
2003-09-14Fix for Bug [805593] MI2: Music stops in LeChuck's fortressJamieson Christian
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
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-29Replaced VER_V* notation for savegames withJamieson Christian
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
2003-08-23TypoTravis Howell
svn-id: r9827
2003-08-23Added explicit 'ASFX' awareness for clarityJamieson Christian
svn-id: r9826
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-16Fixed transpose/detune computationsJamieson Christian
svn-id: r9715
2003-08-15No need for those bracketsTravis Howell
svn-id: r9694
2003-08-15Don't confuse RO and ROL sound resourcesTravis Howell
svn-id: r9693
2003-08-14Added support for Roland MT-32 music tracksJamieson Christian
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
2003-08-12Removed unused stuff.Jamieson Christian
svn-id: r9647
2003-08-10Fix for Bug [785373] SAM: Overlapping music at Bigfoot conventionJamieson Christian
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
2003-08-07In fact, Nicolas, this is no more needed :)Chris Apers
svn-id: r9584
2003-08-06Remove old tweak that can break the music when restoring now ... Chris, you ↵Nicolas Bacca
should check it too :p svn-id: r9582
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-06Fix for Bug [780918] SAM: Music stops at BumpusvilleJamieson Christian
Tweaked handling of ImSetTrigger when the triggered command starts a new song. If the song to be started is already playing, we stop it (in preparation for a restart) ONLY if the song containing the command trigger is actually playing. Otherwise the restart is likely to never occur (as is the case with the Bumpusville mansion interior music). svn-id: r9576
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-07-15replaced SCUMMVM_VERSION/SCUMMVM_CVS by ↵Max Horn
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-07Fix for bug [761637] FOA: Music problems in endgame/credits.Jamieson Christian
Revision to the handle_maker() fix for bug #733401, since that didn't seem to take care of the problem. This fix chomps marker queue entries if it finds a matching marker not at the head of the queue. This might cause inappropriate behavior elsewhere; regression testing is advised. svn-id: r8831
2003-06-18Fix for bug [756555] ALL: With '-ewindows' notes don't stop at quitJamieson Christian
and bug [755176] SIMON2: Hanging notes More cleanup of the thread issues associated with iMuse and MidiParser shutdown. Untested. svn-id: r8546
2003-06-17I will add a wrapper for that (currently NULL driver)Chris Apers
svn-id: r8526
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-06-14Patch #754151: Removed READ_*_UNALIGNED and always read stuff bytewise; ↵Max Horn
augmented by some more changes of mine svn-id: r8482
2003-06-12This was missingChris Apers
svn-id: r8444