9#include "../AudioDriver.h"
10#include "../../libgui/GuiSoundOggPlayer.h"
20 void start()
override;
23 int32_t
playVoice(
const uint8_t* data, int32_t length,
int volume)
override;
30 void playStream(
const uint8_t* data, int32_t length,
bool loop,
int volume)
override;
Platform audio backend GuiSound delegates to: fixed one-shot PCM voices plus one background OGG strea...
Platform-agnostic Tremor (integer OGG) decoder.
GC/Wii AudioDriver: AESND-based fixed voices for one-shots, wraps a GuiSoundOggPlayer for the backgro...
void resumeVoice(int32_t voice) override
Resumes a voice paused with pauseVoice().
void shutdown() override
Releases everything init() allocated. Call stop() first.
void stop() override
Stops the audio backend.
void setVoiceVolume(int32_t voice, int volume) override
Changes the volume of a playing voice.
int32_t playVoice(const uint8_t *data, int32_t length, int volume) override
Start a one-shot/short PCM voice.
void pauseVoice(int32_t voice) override
Pauses a playing voice, keeping its position and slot.
void init() override
Allocates the backend's audio resources. Does not start playback; see start().
bool isStreamPlaying() override
void start() override
Starts the audio backend running (eg. registers the DSP/AX callback).
void playStream(const uint8_t *data, int32_t length, bool loop, int volume) override
Streamed (OGG) playback.
void resumeStream() override
Resumes a stream paused with pauseStream().
void stopStream() override
Stops the stream started by playStream().
bool isVoicePlaying(int32_t voice) override
void setStreamVolume(int volume) override
Changes the stream volume.
void pauseStream() override
Pauses the stream, keeping its position.
void handleStreamCallback(int voice)
AESND callback hook, called from interrupt context to refill the stream voice.
void stopVoice(int32_t voice) override
Stops a voice returned by playVoice() and frees its slot.