22 #ifndef ALCACHOFA_SOUNDS_H 23 #define ALCACHOFA_SOUNDS_H 25 #include "alcachofa/scheduler.h" 26 #include "audio/mixer.h" 27 #include "audio/audiostream.h" 32 using ::Audio::SoundHandle;
44 void pauseAll(
bool paused);
45 void fadeOut(SoundHandle
id, uint32 duration);
46 void fadeOutVoiceAndSFX(uint32 duration);
47 bool isAlive(SoundHandle
id);
48 void setVolume(SoundHandle
id, byte volume);
49 void setAppropriateVolume(SoundHandle
id,
50 MainCharacterKind processCharacter,
52 bool isNoisy(SoundHandle
id,
float windowSize,
float minDifferences);
54 void startMusic(
int musicId);
55 void queueMusic(
int musicId);
56 void fadeMusic(uint32 duration = 500);
57 void setMusicToRoom(
int roomMusicId);
59 inline bool isMusicPlaying()
const {
return _isMusicPlaying; }
60 inline int musicID()
const {
return _nextMusicID; }
61 inline FakeSemaphore &musicSemaphore() {
return _musicSemaphore; }
65 void fadeOut(uint32 duration);
69 uint32 _fadeStart = 0,
74 Playback *getPlaybackById(SoundHandle
id);
80 SoundHandle _musicSoundID = {};
81 bool _isMusicPlaying =
false;
82 int _nextMusicID = -1;
90 void debugPrint()
override;
91 const char *taskName()
const override;
93 SoundHandle _soundHandle;
100 void debugPrint()
override;
101 const char *taskName()
const override;
108 #endif // ALCACHOFA_SOUNDS_H Definition: alcachofa.h:45
Definition: scheduler.h:84
Definition: scheduler.h:164
bool isNoisy(SoundHandle id, float windowSize, float minDifferences)
used for lip-sync
Definition: serializer.h:79
Definition: objects.h:419
SoundType
Definition: mixer.h:73
Definition: scheduler.h:60
This fake semaphore does not work in multi-threaded scenarios It is used as a safer option for a simp...
Definition: common.h:84