aboutsummaryrefslogtreecommitdiff
path: root/sound/midiparser.cpp
AgeCommit message (Collapse)Author
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-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-07-26For for Bug [775654] DOTT: Hanging notesJamieson Christian
Corrected active notes tracking when switching between Type 2 SMF tracks. Although Note Off events from the previous track are properly simulated, those sustaining notes are cleared from the active notes list so that jumps within the new track will not attempt to sustain them again. svn-id: r9194
2003-07-10Fix for Bug [766426]: V5 Games: Adlib SFX not loopedJamieson Christian
Modified Smart Jump logic to deal with active notes whose Note On and Note Off events BOTH occur OUTSIDE the range of the jump. While this is not a thorough way to deal with Note On events that occur outside jump points, it at least deals with the issue of long, unchanging Adlib SFX used by some earlier SCUMM games. svn-id: r8892
2003-06-18Use stdafx.h instead of manually including system headers.Marcus Comstedt
svn-id: r8541
2003-06-01Fixed hanging notes on Smart Jump when Note Off event cannot be found.Jamieson Christian
(I'm not sure why the Note Off would not be found, but at least we're properly dealing with such notes now.) svn-id: r8250
2003-05-25Fixed occassional music crashes when loading games.Jamieson Christian
Thanks to eriktorbjorn for finding this issue. svn-id: r7959
2003-05-24allNotesOff() now sends to all 16 channels, not just the first 15. Duh.Jamieson Christian
svn-id: r7899
2003-05-23Fixed problem with hanging notes on some synth modules.Jamieson Christian
Various little MidiParser fixes. svn-id: r7863
2003-05-23Removed annoying warningJamieson Christian
svn-id: r7851
2003-05-23Fixed gcc warningJamieson Christian
svn-id: r7850
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-22Added "smart-jump" capability to MidiParser.Jamieson Christian
svn-id: r7831
2003-05-21More Simon music fixesJamieson Christian
svn-id: r7769
2003-05-20Simon music fixesJamieson Christian
svn-id: r7744
2003-05-19Fixed anonymous structs warning.Jamieson Christian
svn-id: r7696
2003-05-19Moved common parsing logic into MidiParser base class.Jamieson Christian
Added auto-loop capability. svn-id: r7692