aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/imuse/imuse.cpp
diff options
context:
space:
mode:
authorTravis Howell2009-11-22 11:58:14 +0000
committerTravis Howell2009-11-22 11:58:14 +0000
commit40504d781032581d0a37d0d996909e5f7084dae9 (patch)
treeacd94cd6a94cb424a07e4de722d7f4ed505987f2 /engines/scumm/imuse/imuse.cpp
parentbb0c7657316942859a7a8575236320cf819d07c6 (diff)
downloadscummvm-rg350-40504d781032581d0a37d0d996909e5f7084dae9.tar.gz
scummvm-rg350-40504d781032581d0a37d0d996909e5f7084dae9.tar.bz2
scummvm-rg350-40504d781032581d0a37d0d996909e5f7084dae9.zip
Add patch #2876221 - FBEAR: Fix for MIDI piano notes (DOS version), with minor change.
svn-id: r46081
Diffstat (limited to 'engines/scumm/imuse/imuse.cpp')
-rw-r--r--engines/scumm/imuse/imuse.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/scumm/imuse/imuse.cpp b/engines/scumm/imuse/imuse.cpp
index 409e1140f1..5b00a973f9 100644
--- a/engines/scumm/imuse/imuse.cpp
+++ b/engines/scumm/imuse/imuse.cpp
@@ -491,7 +491,10 @@ void IMuseInternal::addSysexHandler(byte mfgID, sysexfunc handler) {
_sysex = handler;
}
-
+void IMuseInternal::startSoundWithNoteOffset(int sound, int offset) {
+ Common::StackLock lock(_mutex, "IMuseInternal::startSound()");
+ startSound_internal(sound, offset);
+}
////////////////////////////////////////
//
@@ -559,7 +562,7 @@ int IMuseInternal::getMusicTimer() const {
//
////////////////////////////////////////
-bool IMuseInternal::startSound_internal(int sound) {
+bool IMuseInternal::startSound_internal(int sound, int offset) {
// Do not start a sound if it is already set to start on an ImTrigger
// event. This fixes carnival music problems where a sound has been set
// to trigger at the right time, but then is started up immediately
@@ -632,6 +635,7 @@ bool IMuseInternal::startSound_internal(int sound) {
ImClearTrigger(81, 1);
player->clear();
+ player->setOffsetNote(offset);
return player->startSound(sound, driver, _direct_passthrough);
}