aboutsummaryrefslogtreecommitdiff
path: root/sound/midiparser.cpp
AgeCommit message (Collapse)Author
2007-09-19Merged common/stdafx.h into common/scummsys.h. All referencing files have ↵Nicola Mettifogo
been updated. svn-id: r28966
2007-08-22Reverted commit #28696, as the cause for it was different and has been fixed ↵Filippos Karapetis
with commit #28697 svn-id: r28699
2007-08-22Detach the player callback handler when the music is being unloaded. Fixes ↵Filippos Karapetis
bug #1734416 - "AUDIO: ITE: Random crashes with the MIDI parser" svn-id: r28696
2007-05-30Updated legal headers in source files, based on what Pidgin (the IM client ↵Max Horn
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots svn-id: r27024
2007-02-16Unified how we deal with (and how we generate) MIDI sysex messages -- in ↵Max Horn
particular, we now always do so w/o framing the message (documented this with a Doxygen comment in the MidiDriver class) svn-id: r25630
2006-02-11Change CVS keywords to SVN keywordsMax Horn
svn-id: r20515
2006-01-18Update copyright noticeEugene Sandulenko
svn-id: r20088
2005-10-18Update FSF address. Eek. Actually that took place on May 1, 2005Eugene Sandulenko
svn-id: r19142
2005-10-12Looks like my pitch wheel change still has the ability to break things. SeeTorbjörn Andersson
bug #1324103. I've changed it - again - so that now it only centers the pitch wheels on unload if a new mpCenterPitchWheelOnUnload property has been set. Currently only the SAGA engine does that, so if it still breaks it only breaks SAGA. I've also fixed what looked like an unintentional fall-through in the MidiParser::property() function. Surently that can't cause any new regressions? Please. svn-id: r19032
2005-10-11Moved the pitch wheel centering to unloadMusic() instead, since having itTorbjörn Andersson
in allNotesOff() broke the Kyra music. I have no idea why. svn-id: r19023
2005-10-10Removed the "reset all controllers" message. It currently breaks on Adlib,Torbjörn Andersson
and I don't want to have to worry about it. Centering the pitch wheel is the change that I primarily wanted to make, and that should be supported by every MIDI driver we have. svn-id: r18999
2005-10-10I noticed yesterday that if you change music in IHNM at the "right" moment,Torbjörn Andersson
the music will be horribly out of tune because the pitch wheel setting from the old music will still apply. I hope allNotesOff() is the correct place to ensure that the pitch wheel is centered. svn-id: r18998
2005-06-24For consistency, specify directory when including files.Torbjörn Andersson
svn-id: r18454
2005-06-24When including files from common/, explicitly use the common/ prefixMax Horn
svn-id: r18444
2005-05-27More whitespace changes.Torbjörn Andersson
svn-id: r18273
2005-01-01Updated copyrightMax Horn
svn-id: r16398
2004-11-11Erm, this was never meant to be commited. I might as well leave the .h ↵James Brown
change for now, until kyra is investigated further. svn-id: r15788
2004-11-11Prevent infinite loop by displaying the launcher after a game start FAILURE too.James Brown
svn-id: r15787
2004-05-31Make allNotesOff() also turn off all "hanging notes". Without this change,Torbjörn Andersson
I wasn't able to fully stop ITE's XMIDI music - there would always be a couple of notes hanging even after unloading it. Apparently this music doesn't use the "active notes" mechanism at all, and I guess the ALSA driver doesn't support the "All Note Off" event. I'm still not 100% sure this is the correct fix, but unless someone has any better idea... svn-id: r13910
2004-04-29Changed printf() to warning(). (Even in the case where the message used toTorbjörn Andersson
say "ERROR".) svn-id: r13677
2004-01-06updated copyright noticeMax Horn
svn-id: r12176
2003-12-24explicitly turn off all active sounds -> not all MIDI devices support the ↵Max Horn
'All note off' event, at least according to http://crystal.apana.org.au/ghansper/midi_introduction/midi_channel_mode.html ; and now, the quicktime MIDI code doesn't support it anymore, too ;-) svn-id: r11885
2003-11-08cleanup whitespacesPaweł Kołodziejski
svn-id: r11221
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