Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Some more work on the audio driver.
Browse files Browse the repository at this point in the history
  • Loading branch information
Darren Alton committed Aug 21, 2008
1 parent 0d9edf0 commit b275e10
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 3 deletions.
5 changes: 3 additions & 2 deletions Makefile.ds
Expand Up @@ -28,13 +28,14 @@ CFLAGS = -mthumb -mthumb-interwork \
-DARM9 -D__NDS__ -I$(DEVKITPRO)/libnds/include -DENABLE_NDS -DNO_SIGNAL_H -DDISABLE_THREADS -DPACKAGE=\"SDL\" -DVERSION=\"1.3\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 \
-Iinclude -Isrc -Isrc/audio -Isrc/cdrom -Isrc/endian -Isrc/events -Isrc/joystick -Isrc/thread/nds -Isrc/thread -Isrc/timer -Isrc/video

#src/audio/disk/SDL_diskaudio.c \
#src/audio/dummy/SDL_dummyaudio.c \

SRCS = \
src/SDL.c \
src/SDL_compat.c \
src/SDL_error.c \
src/SDL_fatal.c \
src/audio/disk/SDL_diskaudio.c \
src/audio/dummy/SDL_dummyaudio.c \
src/audio/nds/SDL_ndsaudio.c \
src/audio/SDL_audio.c \
src/audio/SDL_audiocvt.c \
Expand Down
5 changes: 5 additions & 0 deletions include/SDL_config.h.in
Expand Up @@ -176,6 +176,7 @@
#undef SDL_AUDIO_DRIVER_MMEAUDIO
#undef SDL_AUDIO_DRIVER_NAS
#undef SDL_AUDIO_DRIVER_NAS_DYNAMIC
#undef SDL_AUDIO_DRIVER_NDS
#undef SDL_AUDIO_DRIVER_OSS
#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H
#undef SDL_AUDIO_DRIVER_PAUDIO
Expand Down Expand Up @@ -210,6 +211,7 @@
#undef SDL_JOYSTICK_IOKIT
#undef SDL_JOYSTICK_LINUX
#undef SDL_JOYSTICK_MINT
#undef SDL_JOYSTICK_NDS
#undef SDL_JOYSTICK_OS2
#undef SDL_JOYSTICK_RISCOS
#undef SDL_JOYSTICK_WINMM
Expand All @@ -228,6 +230,7 @@
/* Enable various threading systems */
#undef SDL_THREAD_BEOS
#undef SDL_THREAD_DC
#undef SDL_THREAD_NDS
#undef SDL_THREAD_OS2
#undef SDL_THREAD_PTH
#undef SDL_THREAD_PTHREAD
Expand All @@ -241,6 +244,7 @@
#undef SDL_TIMER_DC
#undef SDL_TIMER_DUMMY
#undef SDL_TIMER_MINT
#undef SDL_TIMER_NDS
#undef SDL_TIMER_OS2
#undef SDL_TIMER_RISCOS
#undef SDL_TIMER_UNIX
Expand All @@ -258,6 +262,7 @@
#undef SDL_VIDEO_DRIVER_GEM
#undef SDL_VIDEO_DRIVER_IPOD
#undef SDL_VIDEO_DRIVER_NANOX
#undef SDL_VIDEO_DRIVER_NDS
#undef SDL_VIDEO_DRIVER_OS2FS
#undef SDL_VIDEO_DRIVER_PHOTON
#undef SDL_VIDEO_DRIVER_PS2GS
Expand Down
19 changes: 18 additions & 1 deletion src/audio/nds/SDL_ndsaudio.c
Expand Up @@ -31,6 +31,8 @@
#include "../SDL_audio_c.h"
#include "SDL_ndsaudio.h"

#define TRACE printf

static int
NDSAUD_OpenDevice(_THIS, const char *devname, int iscapture)
{
Expand All @@ -44,6 +46,7 @@ NDSAUD_OpenDevice(_THIS, const char *devname, int iscapture)
}
SDL_memset(this->hidden, 0, (sizeof *this->hidden));

TRACE("+NDSAUD_OpenDevice\n");
while ((!valid_datatype) && (test_format)) {
this->spec.format = test_format;
switch (test_format) {
Expand All @@ -63,6 +66,7 @@ NDSAUD_OpenDevice(_THIS, const char *devname, int iscapture)
64, /* panning/balance */
0); /* sound format*/

TRACE("-NDSAUD_OpenDevice\n");
return 1;
}

Expand All @@ -73,9 +77,11 @@ NDSAUD_PlayDevice(_THIS)
if(!sound) {
SDL_OutOfMemory();
}
TRACE("+NDSAUD_PlayDevice\n");

playGenericSound(this->hidden->mixbuf, this->hidden->mixlen);

TRACE("-NDSAUD_PlayDevice\n");
// sound->data = this->hidden->mixbuf;/* pointer to raw audio data */
// sound->len = this->hidden->mixlen; /* size of raw data pointed to above */
// sound->rate = 22050; /* sample rate = 22050Hz */
Expand All @@ -89,36 +95,47 @@ NDSAUD_PlayDevice(_THIS)
static Uint8 *
NDSAUD_GetDeviceBuf(_THIS)
{ /* is this right? */
TRACE("!NDSAUD_GetDeviceBuf\n");
return this->hidden->mixbuf;
}

static void
NDSAUD_WaitDevice(_THIS)
{
/* stub */
TRACE("!NDSAUD_WaitDevice\n");
}

static void
NDSAUD_CloseDevice(_THIS)
{
/* stub */
TRACE("!NDSAUD_CloseDevice\n");
}

static int
NDSAUD_Init(SDL_AudioDriverImpl * impl)
{
TRACE("+NDSAUD_Init\n");

/* Set the function pointers */
impl->OpenDevice = NDSAUD_OpenDevice;
impl->PlayDevice = NDSAUD_PlayDevice;
impl->WaitDevice = NDSAUD_WaitDevice;
impl->GetDeviceBuf = NDSAUD_GetDeviceBuf;
impl->CloseDevice = NDSAUD_CloseDevice;

/* and the capabilities */
impl->HasCaptureSupport = 1;
impl->OnlyHasDefaultOutputDevice = 1;
impl->OnlyHasDefaultInputDevice = 1;

TRACE("-NDSAUD_Init\n");
return 1;
}

AudioBootStrap NDSAUD_bootstrap = {
"nds", "SDL NDS audio driver", NDSAUD_Init, 1
"nds", "SDL NDS audio driver", NDSAUD_Init, 0 /*1?*/
};

/* vi: set ts=4 sw=4 expandtab: */

0 comments on commit b275e10

Please sign in to comment.