41#define SOUND_CHANNEL_A (1 << 0)
46#define SOUND_CHANNEL_B (1 << 1)
51#define SOUND_CHANNEL_C (1 << 2)
56#define SOUND_CHANNEL_ALL (SOUND_CHANNEL_A | SOUND_CHANNEL_B | SOUND_CHANNEL_C)
62#define SOUND_SPEED_1X (4)
69#define SOUND_SPEED_MIN (1)
76#define SOUND_SPEED_MAX (8)
uint16_t priority
Priority for using this sound clip as a sound effect.
struct sound_fragment ** fragments
Pointer to an array of pointers to sound fragments.
size_t num_fragments
Number of sound fragments.
uint8_t * streams[3]
A list of pointers to the sound data stream for each channel.
void sound_stop(void)
MSX Stop the BGM.
void sound_set_speed(uint8_t multiplier)
MSX Sets the playback speed multiplier for background music.
void sound_set_volume(uint8_t volume)
MSX Set main volume level.
void sound_start(void)
MSX Start the BGM.
void sound_init(void)
MSX This function initializes the PSG and the sound driver.
void sound_effect(const struct sound_clip *s)
MSX Plays the specified music clip as sound effect.
void sound_pause(void)
MSX Pause the BGM.
void sound_set_mute(uint8_t mute)
MSX Mute/unmute for each sound channel.
void sound_player(void)
MSX Main routine of the sound driver.
void sound_set_repeat(bool repeat)
MSX Turn on/off the auto-repeat of the BGM.
void sound_set_bgm(const struct sound_clip *s)
MSX Sets the specified music clip as BGM in the sound driver.
The sound clip structure.
The sound fragment structure.