include/nds/arm9/as_lib9.h File Reference

#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 Documentation

#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 (  )     fclose(f)

#define FILE_OPEN (  )     fopen(f, "rb")

#define FILE_READ ( buf,
size,
num,
 )     fread(buf, size, num, f)

#define FILE_SEEK ( f,
pos,
off   )     fseek(f, pos, off)

#define FILE_TELL (  )     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


Generated on Sat Jun 13 12:55:13 2009 for PAlib - Programmer's Arsenal by  doxygen 1.5.8