Some more work on the audio driver. gsoc2008_nds
authorDarren Alton <dalton@stevens.edu>
Thu, 21 Aug 2008 12:38:21 +0000
branchgsoc2008_nds
changeset 2697 c9121b04cffa
parent 2696 0b395a60deff
child 2698 e1da92da346c
Some more work on the audio driver.
Makefile.ds
include/SDL_config.h.in
src/audio/nds/SDL_ndsaudio.c
--- a/Makefile.ds	Mon Aug 18 07:29:52 2008 +0000
+++ b/Makefile.ds	Thu Aug 21 12:38:21 2008 +0000
@@ -28,13 +28,14 @@
 		-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 \
--- a/include/SDL_config.h.in	Mon Aug 18 07:29:52 2008 +0000
+++ b/include/SDL_config.h.in	Thu Aug 21 12:38:21 2008 +0000
@@ -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
--- a/src/audio/nds/SDL_ndsaudio.c	Mon Aug 18 07:29:52 2008 +0000
+++ b/src/audio/nds/SDL_ndsaudio.c	Thu Aug 21 12:38:21 2008 +0000
@@ -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 @@
     }
     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 @@
                     64,     /* panning/balance */
                     0);     /* sound format*/
 
+    TRACE("-NDSAUD_OpenDevice\n");
     return 1;
 }
 
@@ -73,9 +77,11 @@
     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 @@
 static Uint8 *
 NDSAUD_GetDeviceBuf(_THIS)
 {   /* is this right? */
+    TRACE("!NDSAUD_GetDeviceBuf\n");
     return this->hidden->mixbuf;
 }
 
@@ -96,29 +103,39 @@
 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: */