23 #ifndef KYRA_SOUND_PCDRIVER_H 24 #define KYRA_SOUND_PCDRIVER_H 26 #include "kyra/resource/resource.h" 39 virtual void initDriver() = 0;
40 virtual void setSoundData(uint8 *data, uint32 size) = 0;
41 virtual void startSound(
int track,
int volume) = 0;
42 virtual bool isChannelPlaying(
int channel)
const = 0;
43 virtual void stopAllChannels() = 0;
45 virtual int getSoundTrigger()
const {
return 0; }
46 virtual void resetSoundTrigger() {}
48 virtual void setMusicVolume(uint8 volume) = 0;
49 virtual void setSfxVolume(uint8 volume) = 0;
52 virtual void setSyncJumpMask(uint16) {}
55 uint8 *getProgram(
int progId) {
57 if (progId < 0 || progId >= (int32)_soundDataSize / 2)
60 const uint16 offset = READ_LE_UINT16(_soundData + 2 * progId);
70 if (offset == 0 || offset >= _soundDataSize) {
73 return _soundData + offset;
78 uint32 _soundDataSize;
Definition: detection.h:27