aboutsummaryrefslogtreecommitdiff
path: root/scumm/instrument.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/instrument.h')
-rw-r--r--scumm/instrument.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/scumm/instrument.h b/scumm/instrument.h
index e28bf5321c..a3ab367142 100644
--- a/scumm/instrument.h
+++ b/scumm/instrument.h
@@ -30,10 +30,15 @@
class Serializer;
class MidiChannel;
+class Instrument;
+
+
+
class InstrumentInternal {
public:
virtual void saveOrLoad (Serializer *s) = 0;
virtual void send (MidiChannel *mc) = 0;
+ virtual void copy_to (Instrument *dest) = 0;
};
class Instrument {
@@ -52,6 +57,7 @@ public:
Instrument() : _type (0), _instrument (0) { }
void clear();
+ void copy_to (Instrument *dest) { if (_instrument) _instrument->copy_to (dest); else dest->clear(); }
void program (byte program, bool mt32);
void adlib (byte *instrument);
void roland (byte *instrument);