OpenSNES Audio System. More...
#include <snes/types.h>Go to the source code of this file.
Classes | |
| struct | AudioSample |
| BRR sample descriptor. More... | |
| struct | AudioVoiceState |
| Voice state information. More... | |
Macros | |
| #define | AUDIO_ATTACK_FAST 12 |
| #define | AUDIO_ATTACK_INSTANT 15 |
| ADSR attack rates (0=4.1s, 15=instant) | |
| #define | AUDIO_ATTACK_MEDIUM 8 |
| #define | AUDIO_ATTACK_SLOW 4 |
| #define | AUDIO_DECAY_FAST 7 |
| #define | AUDIO_DECAY_MEDIUM 4 |
| #define | AUDIO_DECAY_NONE 0 |
| ADSR decay rates. | |
| #define | AUDIO_DECAY_SLOW 1 |
| #define | AUDIO_ECHO_DELAY_MAX 15 |
| #define | AUDIO_ECHO_DELAY_MIN 1 |
| Echo delay (delay_ms = value * 16ms) | |
| #define | AUDIO_ERR_INVALID_ID 2 |
| #define | AUDIO_ERR_NO_MEMORY 1 |
| #define | AUDIO_ERR_NOT_LOADED 3 |
| #define | AUDIO_ERR_TIMEOUT 4 |
| #define | AUDIO_MAX_SAMPLES 64 |
| Maximum number of sample slots. | |
| #define | AUDIO_MAX_VOICES 8 |
| Maximum number of voices. | |
| #define | AUDIO_OK 0 |
| Error codes. | |
| #define | AUDIO_PAN_CENTER 8 |
| #define | AUDIO_PAN_LEFT 0 |
| Pan positions (0-15 scale) | |
| #define | AUDIO_PAN_RIGHT 15 |
| #define | AUDIO_PITCH_C3 0x085F |
| Common pitch values. | |
| #define | AUDIO_PITCH_C4 0x10BE |
| #define | AUDIO_PITCH_C5 0x217C |
| #define | AUDIO_PITCH_DEFAULT 0x1000 |
| Default pitch (1.0x playback rate) | |
| #define | AUDIO_RELEASE_FAST 24 |
| #define | AUDIO_RELEASE_INSTANT 31 |
| ADSR release rates (0=infinite, 31=instant) | |
| #define | AUDIO_RELEASE_MEDIUM 16 |
| #define | AUDIO_RELEASE_SLOW 8 |
| #define | AUDIO_SUSTAIN_FULL 7 |
| ADSR sustain levels (0=1/8, 7=full) | |
| #define | AUDIO_SUSTAIN_HALF 3 |
| #define | AUDIO_SUSTAIN_QUARTER 1 |
| #define | AUDIO_VOICE_AUTO 0xFF |
| Auto-allocate voice in audioPlaySampleEx. | |
| #define | AUDIO_VOL_MAX 127 |
| Maximum volume value. | |
| #define | AUDIO_VOL_MIN 0 |
| #define | audioSetPan(id, pan) /* No-op, use audioPlaySampleEx instead */ |
| Legacy pan conversion (0-127 to 0-15) | |
| #define | audioStop() audioStopAll() |
| Alias for audioStopAll. | |
| #define | audioStopSample(id) audioStopVoice(id) |
| Alias for audioStopVoice. | |
Functions | |
| void | audioDisableEcho (void) |
| Disable echo for all voices. | |
| void | audioEnableEcho (u8 voiceMask) |
| Enable echo for specific voices. | |
| u16 | audioGetFreeMemory (void) |
| Get available SPC700 RAM for samples. | |
| u8 | audioGetSampleInfo (u8 id, AudioSample *info) |
| Get information about a loaded sample. | |
| void | audioGetVoiceState (u8 voice, AudioVoiceState *state) |
| Get current state of a voice. | |
| u8 | audioGetVolume (void) |
| Get current master volume. | |
| void | audioInit (void) |
| Initialize the audio system. | |
| u8 | audioIsReady (void) |
| Check if audio system is ready. | |
| u8 | audioLoadSample (u8 id, const u8 *brrData, u16 size, u16 loopPoint) |
| Load a BRR sample into SPC700 RAM. | |
| u8 | audioPlaySample (u8 sampleId) |
| Play a sample with default settings. | |
| u8 | audioPlaySampleEx (u8 sampleId, u8 volume, u8 pan, u16 pitch) |
| Play a sample with custom settings. | |
| void | audioSetADSR (u8 voice, u8 attack, u8 decay, u8 sustain, u8 release) |
| Set ADSR envelope for a voice. | |
| void | audioSetEcho (u8 delay, s8 feedback, s8 volumeL, s8 volumeR) |
| Configure echo parameters. | |
| void | audioSetEchoFilter (const s8 fir[8]) |
| Set FIR filter coefficients for echo. | |
| void | audioSetGain (u8 voice, u8 mode) |
| Set GAIN mode for a voice (alternative to ADSR) | |
| void | audioSetVoicePitch (u8 voice, u16 pitch) |
| Set pitch for a specific voice. | |
| void | audioSetVoiceVolume (u8 voice, u8 volumeL, u8 volumeR) |
| Set volume for a specific voice. | |
| void | audioSetVolume (u8 volume) |
| Set master volume. | |
| void | audioStopAll (void) |
| Stop all audio playback. | |
| void | audioStopVoice (u8 voice) |
| Stop a specific voice. | |
| void | audioUnloadSample (u8 id) |
| Unload a sample from a slot. | |
| void | audioUpdate (void) |
| Process audio updates. | |
OpenSNES Audio System.
Comprehensive audio API featuring: