(svn r10444) -Codechange: switch to c++ classes and inheritance for sound/music/video drivers, using self-registration based on the blitter-model.

This commit is contained in:
peter1138
2007-07-05 12:23:54 +00:00
parent 7884a07b43
commit 5e85e8c5e0
48 changed files with 883 additions and 557 deletions

View File

@@ -3,8 +3,30 @@
#ifndef MUSIC_DMUSIC_H
#define MUSIC_DMUSIC_H
#include "../hal.h"
#include "music_driver.hpp"
extern const HalMusicDriver _dmusic_midi_driver;
class MusicDriver_DMusic: public MusicDriver {
public:
/* virtual */ bool CanProbe() { return true; }
/* virtual */ const char *Start(const char * const *param);
/* virtual */ void Stop();
/* virtual */ void PlaySong(const char *filename);
/* virtual */ void StopSong();
/* virtual */ bool IsSongPlaying();
/* virtual */ void SetVolume(byte vol);
};
class FMusicDriver_DMusic: public MusicDriverFactory<FMusicDriver_DMusic> {
public:
/* virtual */ const char *GetName() { return "dmusic"; }
/* virtual */ const char *GetDescription() { return "DirectMusic MIDI Driver"; }
/* virtual */ Driver *CreateInstance() { return new MusicDriver_DMusic(); }
};
#endif /* MUSIC_DMUSIC_H */