diff options
Diffstat (limited to 'scumm/imuse.h')
-rw-r--r-- | scumm/imuse.h | 42 |
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 |