27 #ifndef ICB_FXMANAGER_H__INCLUDED_ 28 #define ICB_FXMANAGER_H__INCLUDED_ 30 #include "engines/icb/sound/direct_sound.h" 32 #include "audio/audiostream.h" 33 #include "audio/mixer.h" 37 extern bool8 noSoundEngine;
39 #define SAMPLE_NAME_LENGTH 64 42 enum FxFlags { EMPTY, DELAYED, QUEUED, PLAYING, READY };
44 char name[SAMPLE_NAME_LENGTH];
69 int32 Register(
const int32
id,
const char *name,
const int32 delay = 0, uint32 byteOffsetInCluster = 0);
70 void Unregister(int32
id);
83 void SetVolume(int32
id, int32 vol);
84 void SetPitch(int32
id, int32 pitch);
88 void SetPan(int32
id, int32 pan);
91 void SetLooping(int32
id, int32 loop = 1) { m_effects[id].looped = loop; }
92 bool8 IsPlaying(int32
id) {
return (m_effects[
id].flags == Effect::PLAYING) ? TRUE8 : FALSE8; }
94 int32 GetDefaultRate(
const char *name, uint32 byteOffsetInCluster = 0);
96 int32 GetDefaultLength(int32
id) {
return m_effects[id].length; }
99 bool8 Load(int32
id,
const char *name, uint32 byteOffsetInCluster = 0);
102 int32 GetDefaultRateByID(int32
id) {
return m_effects[id].rate; }
103 int32 GetDefaultRateByName(
const char *name, uint32 byteOffsetInCluster = 0);
Definition: fx_manager.h:59
Definition: audiostream.h:212
Definition: fx_manager.h:41