aboutsummaryrefslogtreecommitdiff
path: root/scumm/imuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/imuse.h')
-rw-r--r--scumm/imuse.h42
1 files changed, 20 insertions, 22 deletions
diff --git a/scumm/imuse.h b/scumm/imuse.h
index 26942ba85b..f80b2b314f 100644
--- a/scumm/imuse.h
+++ b/scumm/imuse.h
@@ -29,25 +29,26 @@ public:
PROP_TEMPO_BASE = 1,
};
- IMuse();
- ~IMuse();
-
- void on_timer(); // For the MacOS 9 port only
- void pause(bool paused);
- int save_or_load(Serializer *ser, Scumm *scumm);
- int set_music_volume(uint vol);
- int get_music_volume();
- int set_master_volume(uint vol);
- int get_master_volume();
- bool start_sound(int sound);
- int stop_sound(int sound);
- int stop_all_sounds();
- int get_sound_status(int sound);
- int32 do_command(int a, int b, int c, int d, int e, int f, int g, int h);
- int clear_queue();
- void setBase(byte **base);
- uint32 property(int prop, uint32 value);
-
+ IMuse() { }
+ virtual ~IMuse() { };
+
+ virtual void on_timer() = 0; // For the MacOS 9 port only
+ virtual void pause(bool paused) = 0;
+ virtual int save_or_load(Serializer *ser, Scumm *scumm) = 0;
+ virtual int set_music_volume(uint vol) = 0;
+ virtual int get_music_volume() = 0;
+ virtual int set_master_volume(uint vol) = 0;
+ virtual int get_master_volume() = 0;
+ virtual bool start_sound(int sound) = 0;
+ virtual int stop_sound(int sound) = 0;
+ virtual int stop_all_sounds() = 0;
+ virtual int get_sound_status(int sound) = 0;
+ virtual int32 do_command(int a, int b, int c, int d, int e, int f, int g, int h) = 0;
+ virtual int clear_queue() = 0;
+ virtual void setBase(byte **base) = 0;
+ virtual uint32 property(int prop, uint32 value) = 0;
+
+ // Factory methods
static IMuse *create(OSystem *syst, MidiDriver *midi, SoundMixer *mixer);
static IMuse *create_adlib(OSystem *syst, SoundMixer *mixer) {
@@ -56,9 +57,6 @@ public:
static IMuse *create_midi(OSystem *syst, MidiDriver *midi) {
return create(syst, midi, NULL);
}
-
-private:
- IMuseInternal *_imuse; // Pointer to the real imuse object
};
#define MAX_DIGITAL_CHANNELS 8