From 40504d781032581d0a37d0d996909e5f7084dae9 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sun, 22 Nov 2009 11:58:14 +0000 Subject: Add patch #2876221 - FBEAR: Fix for MIDI piano notes (DOS version), with minor change. svn-id: r46081 --- engines/scumm/imuse/imuse.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'engines/scumm/imuse/imuse.cpp') 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); } -- cgit v1.2.3