#include "SoundCommon.h"
#include <nds.h>
#include <stdio.h>
#include "../PA_Shared.h"
Data Structures | |
struct | SoundInfo |
sound info More... | |
struct | SoundChannel |
sound channel info More... | |
struct | MP3Player |
MP3 player info. More... | |
struct | IPC_SoundSystem |
IPC structure for the sound system. More... | |
Defines | |
#define | MAX_NGRAN 2 |
#define | MAX_NCHAN 2 |
#define | MAX_NSAMP 576 |
#define | AS_AUDIOBUFFER_SIZE 8 * MAX_NCHAN * MAX_NGRAN * MAX_NSAMP |
#define | AS_FILEBUFFER_SIZE 8 * 1024 |
#define | IPC_Sound ((IPC_SoundSystem*)((u32)(PA_IPC_compat) + sizeof(PA_TransferRegion) + sizeof(SND_CONTROL) + sizeof(MT_MSG_CMD))) |
#define | MP3FILE FILE |
#define | FILE_CLOSE(f) fclose(f) |
#define | FILE_OPEN(f) fopen(f, "rb") |
#define | FILE_READ(buf, size, num, f) fread(buf, size, num, f) |
#define | FILE_SEEK(f, pos, off) fseek(f, pos, off) |
#define | FILE_TELL(f) ftell(f) |
#define | AS_BASE_VOLUME 96 |
#define | AS_VOL_NORMALIZE 97 |
#define | AS_PANNING_SHIFT 1 |
#define | AS_SoundQuickPlay(name) AS_SoundDefaultPlay((u8*)name, (u32)name##_size, 127, 64, false, 0) |
easiest way to play a sound, using default settings | |
Enumerations | |
enum | MP3Command { MP3CMD_ARM9ALLOCDONE = 256, MP3CMD_NONE = 0, MP3CMD_MIX = 1, MP3CMD_MIXING = 2, MP3CMD_WAITING = 4, MP3CMD_INIT = 8, MP3CMD_STOP = 16, MP3CMD_PLAY = 32, MP3CMD_PAUSE = 64, MP3CMD_SETRATE = 128 } |
mp3 commands More... | |
enum | SoundCommand { SNDCMD_ARM7READY = 128, SNDCMD_NONE = 0, SNDCMD_DELAY = 1, SNDCMD_STOP = 2, SNDCMD_PLAY = 4, SNDCMD_SETVOLUME = 8, SNDCMD_SETPAN = 16, SNDCMD_SETRATE = 32, SNDCMD_SETMASTERVOLUME = 64 } |
sound commands More... | |
enum | MP3Status { MP3ST_STOPPED = 0, MP3ST_PLAYING = 1, MP3ST_PAUSED = 2, MP3ST_OUT_OF_DATA = 4, MP3ST_DECODE_ERROR = 8, MP3ST_INITFAILED = 16 } |
mp3 states More... | |
enum | AS_MODE { AS_MODE_MP3 = 1, AS_MODE_SURROUND = 2, AS_MODE_16CH = 4, AS_MODE_8CH = 8 } |
ASlib modes. More... | |
enum | AS_DELAY { AS_NO_DELAY = 0, AS_SURROUND = 1, AS_REVERB = 4 } |
delay values More... | |
enum | AS_SOUNDFORMAT { AS_PCM_8BIT = 0, AS_PCM_16BIT = 1, AS_ADPCM = 2 } |
sound formats More... | |
Functions | |
void | AS_Init (u8 mode) |
initialize the ASLib | |
void | AS_ReserveChannel (u8 channel) |
reserve a particular DS channel (so it won't be used for the sound pool) | |
void | AS_SetMasterVolume (u8 volume) |
set the master volume (0..127) | |
void | AS_SetDefaultSettings (u8 format, s32 rate, u8 delay) |
set the default sound settings | |
int | AS_SoundPlay (SoundInfo sound) |
int | AS_SoundDefaultPlay (u8 *data, u32 size, u8 volume, u8 pan, u8 loop, u8 prio) |
void | AS_SetSoundPan (u8 chan, u8 pan) |
set the panning of a sound (0=left, 64=center, 127=right) | |
void | AS_SetSoundVolume (u8 chan, u8 volume) |
set the volume of a sound (0..127) | |
void | AS_SetSoundRate (u8 chan, u32 rate) |
set the sound sample rate | |
void | AS_SoundStop (u8 chan) |
stop playing a sound | |
void | AS_SoundDirectPlay (u8 chan, SoundInfo sound) |
play a sound directly using the given channel | |
void | AS_MP3DirectPlay (u8 *buffer, u32 size) |
play an mp3 directly from memory | |
void | AS_MP3StreamPlay (char *path) |
play an mp3 stream | |
void | AS_MP3Pause () |
pause an mp3 | |
void | AS_MP3Unpause () |
unpause an mp3 | |
void | AS_MP3Stop () |
stop an mp3 | |
int | AS_GetMP3Status () |
get the current mp3 status | |
void | AS_SetMP3Volume (u8 volume) |
set the mp3 volume (0..127) | |
void | AS_SetMP3Pan (u8 pan) |
set the mp3 panning (0=left, 64=center, 127=right) | |
void | AS_SetMP3Delay (u8 delay) |
set the default mp3 delay mode (warning: high values can cause glitches) | |
void | AS_SetMP3Loop (u8 loop) |
set the mp3 loop mode (false = one shot, true = loop indefinitely) | |
void | AS_SetMP3Rate (s32 rate) |
set the mp3 sample rate | |
void | AS_SoundVBL () |
void | AS_MP3FillBuffer (u8 *buffer, u32 bytes) |
private functions, defined in as_lib9.cpp | |
Variables | |
MP3FILE * | mp3file |
variables defined in as_lib9.cpp | |
u8 | as_default_format |
s32 | as_default_rate |
u8 | as_default_delay |
#define AS_AUDIOBUFFER_SIZE 8 * MAX_NCHAN * MAX_NGRAN * MAX_NSAMP |
#define AS_BASE_VOLUME 96 |
#define AS_FILEBUFFER_SIZE 8 * 1024 |
#define AS_PANNING_SHIFT 1 |
#define AS_VOL_NORMALIZE 97 |
#define FILE_CLOSE | ( | f | ) | fclose(f) |
#define FILE_OPEN | ( | f | ) | fopen(f, "rb") |
#define FILE_READ | ( | buf, | |||
size, | |||||
num, | |||||
f | ) | fread(buf, size, num, f) |
#define FILE_SEEK | ( | f, | |||
pos, | |||||
off | ) | fseek(f, pos, off) |
#define FILE_TELL | ( | f | ) | ftell(f) |
#define IPC_Sound ((IPC_SoundSystem*)((u32)(PA_IPC_compat) + sizeof(PA_TransferRegion) + sizeof(SND_CONTROL) + sizeof(MT_MSG_CMD))) |
#define MAX_NCHAN 2 |
#define MAX_NGRAN 2 |
#define MAX_NSAMP 576 |
#define MP3FILE FILE |