aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/midiparser_sci.h
diff options
context:
space:
mode:
authorFilippos Karapetis2010-06-03 21:57:49 +0000
committerFilippos Karapetis2010-06-03 21:57:49 +0000
commit1973bd5a71fc2847b123e0f1d769220210eceba4 (patch)
tree7e3ee0f6005e48bc7ff4ff5c4b76d75ab3e46af6 /engines/sci/sound/midiparser_sci.h
parent576306c323d092b590e184ececb70745633aae4e (diff)
downloadscummvm-rg350-1973bd5a71fc2847b123e0f1d769220210eceba4.tar.gz
scummvm-rg350-1973bd5a71fc2847b123e0f1d769220210eceba4.tar.bz2
scummvm-rg350-1973bd5a71fc2847b123e0f1d769220210eceba4.zip
Added channel remapping to MidiParser_SCI (currently unused)
svn-id: r49414
Diffstat (limited to 'engines/sci/sound/midiparser_sci.h')
-rw-r--r--engines/sci/sound/midiparser_sci.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/sci/sound/midiparser_sci.h b/engines/sci/sound/midiparser_sci.h
index f95c71ce2f..d9ae583aff 100644
--- a/engines/sci/sound/midiparser_sci.h
+++ b/engines/sci/sound/midiparser_sci.h
@@ -71,7 +71,16 @@ public:
jumpToTick(0);
}
+ void remapChannel(byte channel, byte newChannel) {
+ assert(channel < 0xF); // don't touch special SCI channel 15
+ assert(newChannel < 0xF); // don't touch special SCI channel 15
+ _channelRemap[channel] = newChannel;
+ }
+
protected:
+ bool isChannelUsed(byte channel) { return _channelsUsed & (1 << channel); }
+ void setChannelUsed(byte channel) { _channelsUsed |= (1 << channel); }
+
void parseNextEvent(EventInfo &info);
byte *midiMixChannels();
byte *midiFilterChannels(int channelMask);
@@ -93,6 +102,8 @@ protected:
// A 16-bit mask, containing the channels used
// by the currently parsed song
uint16 _channelsUsed;
+
+ byte _channelRemap[16];
};
} // End of namespace Sci