From b275e10e3fd41fda4c37d04178e7847345a7ab19 Mon Sep 17 00:00:00 2001 From: Darren Alton Date: Thu, 21 Aug 2008 12:38:21 +0000 Subject: [PATCH] Some more work on the audio driver. --- Makefile.ds | 5 +++-- include/SDL_config.h.in | 5 +++++ src/audio/nds/SDL_ndsaudio.c | 19 ++++++++++++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/Makefile.ds b/Makefile.ds index 573f007f6..cabe0a3f6 100644 --- a/Makefile.ds +++ b/Makefile.ds @@ -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 \ diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in index cf1a61c06..89d157cd8 100644 --- a/include/SDL_config.h.in +++ b/include/SDL_config.h.in @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/src/audio/nds/SDL_ndsaudio.c b/src/audio/nds/SDL_ndsaudio.c index de1e2d91a..fbe6197a5 100644 --- a/src/audio/nds/SDL_ndsaudio.c +++ b/src/audio/nds/SDL_ndsaudio.c @@ -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) { @@ -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) { @@ -63,6 +66,7 @@ NDSAUD_OpenDevice(_THIS, const char *devname, int iscapture) 64, /* panning/balance */ 0); /* sound format*/ + TRACE("-NDSAUD_OpenDevice\n"); return 1; } @@ -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 */ @@ -89,6 +95,7 @@ NDSAUD_PlayDevice(_THIS) static Uint8 * NDSAUD_GetDeviceBuf(_THIS) { /* is this right? */ + TRACE("!NDSAUD_GetDeviceBuf\n"); return this->hidden->mixbuf; } @@ -96,29 +103,39 @@ 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: */