aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse_player.cpp
AgeCommit message (Collapse)Author
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-03Fix for Bug [817242] ALL: MT-32 to GM key velocity conversionJamieson Christian
Implemented dynamic range matching for MT-32 tracks routed to GM output devices. svn-id: r10573
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-09-29Cleanup, mostly related to matching up semanticsJamieson Christian
between Part and MidiChannel (which Part may derive from eventually). svn-id: r10480
2003-09-25Fix for Bug [810564] ALL: missing instruments with native MT-32Jamieson Christian
As defined in Patch [811623] MT-32 patch for Bug 810564 Added a channel mask to MPU-401 devices so that --native-mt32 may force the device to use only the subset of MIDI channels actually supported by the MT-32. Also added a best-guess interpretation of iMuse Part priority in the SysEx 0x00 msg, since part priorities become more of an issue when the channel count is cramped. svn-id: r10409
2003-09-18moved engine.* to base; this fixes some linking issues when building a ↵Max Horn
barebone ScummVM (or maybe I just want to increase our CVS stats? <g>) svn-id: r10287
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-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-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-21Fix for Bug [792178] MI1: Intro asynchronity regressionJamieson Christian
Reverted Hoenicke's change. Why was this change made anyway? Do not reinstate the "tempo tweak" before talking to me about why it was needed. svn-id: r9810
2003-08-17More adlib tempo tweaksJochen Hoenicke
svn-id: r9742
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-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-13Made Player::decode_sysex_bytes const-correct.Bertrand Augereau
Explicitly stated a bit masking to please VC.NET2003 runtime small types conversion checks. svn-id: r9673
2003-08-08Fixed type mismatch warningJamieson Christian
svn-id: r9594
2003-08-08Added missing break after caseJamieson Christian
svn-id: r9592
2003-08-07Fix for Bug [780924] IMUSE: Pitchbend isn't reset when changing tracksJamieson Christian
When scanning (not jumping) to a target location in a different track, the current track is first scanned to the end to update the player state before starting into the new track. Miscellaneous scan-related cleanup is included. svn-id: r9589
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-07-31Fix for RC bug [780675] MI2: Reoccuring crashJamieson Christian
Tightened up OOB track selection handling in MidiParser. Apparently some SMFs in the Mac version of MI2 (and other games?) specify track -1 in their jump commands to indicate a jump within the same track. svn-id: r9321
2003-06-27sync implementation with interfaceMax Horn
svn-id: r8671
2003-06-01Hack to fix odd usage of the ParameterFaderJamieson Christian
in S&M around the dinosaurs. svn-id: r8251
2003-05-31fixed mismatch between declaration and implementationMax Horn
svn-id: r8172
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-25Fixed occassional music crashes when loading games.Jamieson Christian
Thanks to eriktorbjorn for finding this issue. svn-id: r7959
2003-05-24Possible fix for hanging notes in iMuseJamieson Christian
svn-id: r7902
2003-05-24Removed more unnecessary codeJamieson Christian
svn-id: r7901
2003-05-24Various iMuse cleanupJamieson Christian
svn-id: r7900
2003-05-24Fix for bug [742688] FOA: Missing music at Sophia's lecture.Jamieson Christian
Added check for 0-length parameter fades, just in case. svn-id: r7887
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