changeset 3816:9d070c1a45fa SDL-ryan-multiple-audio-device

Moved AudioBootstrap section in converted drivers to bottom of source, so I could delete the predeclarations (one more thing to forget to update when changing the API, otherwise). There're a few other cleanups that snuck into this commit, too.
author Ryan C. Gordon <icculus@icculus.org>
date Fri, 06 Oct 2006 04:46:58 +0000
parents 3234d6eee011
children 103bbe13f5eb
files src/audio/arts/SDL_artsaudio.c src/audio/bsd/SDL_bsdaudio.c src/audio/dc/SDL_dcaudio.c src/audio/disk/SDL_diskaudio.c src/audio/dma/SDL_dmaaudio.c src/audio/dsp/SDL_dspaudio.c src/audio/dummy/SDL_dummyaudio.c src/audio/esd/SDL_esdaudio.c src/audio/macosx/SDL_coreaudio.c src/audio/macrom/SDL_romaudio.c
diffstat 10 files changed, 170 insertions(+), 273 deletions(-) [+]
line wrap: on
line diff
--- a/src/audio/arts/SDL_artsaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/arts/SDL_artsaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -39,14 +39,6 @@
 /* The tag name used by artsc audio */
 #define ARTS_DRIVER_NAME         "arts"
 
-/* Audio driver functions */
-static int ARTS_OpenDevice(_THIS, const char *devname, int iscapture);
-static void ARTS_WaitDevice(_THIS);
-static void ARTS_PlayDevice(_THIS);
-static Uint8 *ARTS_GetDeviceBuf(_THIS);
-static void ARTS_CloseDevice(_THIS);
-static void ARTS_WaitDone(_THIS);
-
 #ifdef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
 
 static const char *arts_library = SDL_AUDIO_DRIVER_ARTS_DYNAMIC;
@@ -160,28 +152,6 @@
 }
 
 
-static int
-ARTS_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Set the function pointers */
-    impl->OpenDevice = ARTS_OpenDevice;
-    impl->PlayDevice = ARTS_PlayDevice;
-    impl->WaitDevice = ARTS_WaitDevice;
-    impl->GetDeviceBuf = ARTS_GetDeviceBuf;
-    impl->CloseDevice = ARTS_CloseDevice;
-    impl->WaitDone = ARTS_WaitDone;
-    impl->OnlyHasDefaultOutputDevice = 1;
-
-    return 1;
-}
-
-
-AudioBootStrap ARTS_bootstrap = {
-    ARTS_DRIVER_NAME, "Analog RealTime Synthesizer",
-    ARTS_Available, ARTS_Init, 0
-};
-
-
 /* This function waits until it is possible to write a full sound buffer */
 static void
 ARTS_WaitDevice(_THIS)
@@ -370,4 +340,26 @@
     return 1;
 }
 
+
+static int
+ARTS_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Set the function pointers */
+    impl->OpenDevice = ARTS_OpenDevice;
+    impl->PlayDevice = ARTS_PlayDevice;
+    impl->WaitDevice = ARTS_WaitDevice;
+    impl->GetDeviceBuf = ARTS_GetDeviceBuf;
+    impl->CloseDevice = ARTS_CloseDevice;
+    impl->WaitDone = ARTS_WaitDone;
+    impl->OnlyHasDefaultOutputDevice = 1;
+
+    return 1;
+}
+
+
+AudioBootStrap ARTS_bootstrap = {
+    ARTS_DRIVER_NAME, "Analog RealTime Synthesizer",
+    ARTS_Available, ARTS_Init, 0
+};
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/bsd/SDL_bsdaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/bsd/SDL_bsdaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -269,46 +269,18 @@
             "waiting		:   %s\n"
             "active		:   %s\n"
             "",
-            info.
-            play.
-            buffer_size,
-            info.
-            play.
-            sample_rate,
-            info.
-            play.
-            channels,
-            info.
-            play.
-            precision,
-            info.
-            play.
-            encoding,
-            info.
-            play.
-            seek,
-            info.
-            play.
-            samples,
-            info.
-            play.
-            eof,
-            info.
-            play.
-            pause
-            ?
-            "yes"
-            :
-            "no",
-            info.
-            play.
-            error
-            ?
-            "yes"
-            :
-            "no",
-            info.
-            play.waiting ? "yes" : "no", info.play.active ? "yes" : "no");
+            info.play.buffer_size,
+            info.play.sample_rate,
+            info.play.channels,
+            info.play.precision,
+            info.play.encoding,
+            info.play.seek,
+            info.play.samples,
+            info.play.eof,
+            info.play.pause ? "yes" : "no",
+            info.play.error ? "yes" : "no",
+            info.play.waiting ? "yes" : "no",
+            info.play.active ? "yes" : "no");
 
     fprintf(stderr, "\n"
             "[audio info]\n"
--- a/src/audio/dc/SDL_dcaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/dc/SDL_dcaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -28,7 +28,6 @@
 #include "SDL_audio.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_dcaudio.h"
 
 #include "aica.h"
--- a/src/audio/disk/SDL_diskaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/disk/SDL_diskaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -45,13 +45,6 @@
 #define DISKENVR_WRITEDELAY      "SDL_DISKAUDIODELAY"
 #define DISKDEFAULT_WRITEDELAY   150
 
-/* Audio driver functions */
-static int DISKAUD_OpenDevice(_THIS, const char *devname, int iscapture);
-static void DISKAUD_WaitDevice(_THIS);
-static void DISKAUD_PlayDevice(_THIS);
-static Uint8 *DISKAUD_GetDeviceBuf(_THIS);
-static void DISKAUD_CloseDevice(_THIS);
-
 static const char *
 DISKAUD_GetOutputFilename(const char *devname)
 {
@@ -71,27 +64,6 @@
     return 1;  /* always available. */
 }
 
-static int
-DISKAUD_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Initialize all variables that we clean on shutdown */
-    SDL_memset(impl, '\0', sizeof (SDL_AudioDriverImpl));
-
-    /* Set the function pointers */
-    impl->OpenDevice = DISKAUD_OpenDevice;
-    impl->WaitDevice = DISKAUD_WaitDevice;
-    impl->PlayDevice = DISKAUD_PlayDevice;
-    impl->GetDeviceBuf = DISKAUD_GetDeviceBuf;
-    impl->CloseDevice = DISKAUD_CloseDevice;
-
-    return 1;
-}
-
-AudioBootStrap DISKAUD_bootstrap = {
-    DISKAUD_DRIVER_NAME, "direct-to-disk audio",
-    DISKAUD_Available, DISKAUD_Init, 1
-};
-
 /* This function waits until it is possible to write a full sound buffer */
 static void
 DISKAUD_WaitDevice(_THIS)
@@ -183,4 +155,25 @@
     return 1;
 }
 
+static int
+DISKAUD_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Initialize all variables that we clean on shutdown */
+    SDL_memset(impl, '\0', sizeof (SDL_AudioDriverImpl));
+
+    /* Set the function pointers */
+    impl->OpenDevice = DISKAUD_OpenDevice;
+    impl->WaitDevice = DISKAUD_WaitDevice;
+    impl->PlayDevice = DISKAUD_PlayDevice;
+    impl->GetDeviceBuf = DISKAUD_GetDeviceBuf;
+    impl->CloseDevice = DISKAUD_CloseDevice;
+
+    return 1;
+}
+
+AudioBootStrap DISKAUD_bootstrap = {
+    DISKAUD_DRIVER_NAME, "direct-to-disk audio",
+    DISKAUD_Available, DISKAUD_Init, 1
+};
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/dma/SDL_dmaaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/dma/SDL_dmaaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -62,18 +62,6 @@
 #define OPEN_FLAGS_INPUT    (O_RDWR|O_NONBLOCK)
 #define OPEN_FLAGS_OUTPUT   (O_RDWR|O_NONBLOCK)
 
-/* Audio driver functions */
-static int DMA_DetectDevices(int iscapture);
-static const char *DMA_GetDeviceName(int index, int iscapture);
-static int DMA_OpenDevice(_THIS, const char *devname, int iscapture);
-static void DMA_WaitDevice(_THIS);
-static void DMA_PlayDevice(_THIS);
-static Uint8 *DMA_GetDeviceBuf(_THIS);
-static void DMA_CloseDevice(_THIS);
-static void DMA_Deinitialize(void);
-
-/* Audio driver bootstrap functions */
-
 static char **outputDevices = NULL;
 static int outputDeviceCount = 0;
 static char **inputDevices = NULL;
@@ -138,29 +126,6 @@
     return available;
 }
 
-
-static int
-DMA_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Set the function pointers */
-    impl->DetectDevices = DMA_DetectDevices;
-    impl->GetDeviceName = DMA_GetDeviceName;
-    impl->OpenDevice = DMA_OpenDevice;
-    impl->WaitDevice = DMA_WaitDevice;
-    impl->PlayDevice = DMA_PlayDevice;
-    impl->GetDeviceBuf = DMA_GetDeviceBuf;
-    impl->CloseDevice = DMA_CloseDevice;
-    impl->Deinitialize = DMA_Deinitialize;
-
-    build_device_lists();
-    return 1;
-}
-
-AudioBootStrap DMA_bootstrap = {
-    DMA_DRIVER_NAME, "OSS /dev/dsp DMA audio",
-    DMA_Available, DMA_Init, 0
-};
-
 static void DMA_Deinitialize(void)
 {
     free_device_lists();
@@ -557,4 +522,26 @@
     }
 }
 
+static int
+DMA_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Set the function pointers */
+    impl->DetectDevices = DMA_DetectDevices;
+    impl->GetDeviceName = DMA_GetDeviceName;
+    impl->OpenDevice = DMA_OpenDevice;
+    impl->WaitDevice = DMA_WaitDevice;
+    impl->PlayDevice = DMA_PlayDevice;
+    impl->GetDeviceBuf = DMA_GetDeviceBuf;
+    impl->CloseDevice = DMA_CloseDevice;
+    impl->Deinitialize = DMA_Deinitialize;
+
+    build_device_lists();
+    return 1;
+}
+
+AudioBootStrap DMA_bootstrap = {
+    DMA_DRIVER_NAME, "OSS /dev/dsp DMA audio",
+    DMA_Available, DMA_Init, 0
+};
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/dsp/SDL_dspaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/dsp/SDL_dspaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -58,16 +58,6 @@
 #define OPEN_FLAGS_OUTPUT    (O_WRONLY|O_NONBLOCK)
 #define OPEN_FLAGS_INPUT    (O_RDONLY|O_NONBLOCK)
 
-/* Audio driver functions */
-static int DSP_DetectDevices(int iscapture);
-static const char *DSP_GetDeviceName(int index, int iscapture);
-static int DSP_OpenDevice(_THIS, const char *devname, int iscapture);
-static void DSP_WaitDevice(_THIS);
-static void DSP_PlayDevice(_THIS);
-static Uint8 *DSP_GetDeviceBuf(_THIS);
-static void DSP_CloseDevice(_THIS);
-static void DSP_Deinitialize(void);
-
 /* Audio driver bootstrap functions */
 
 static char **outputDevices = NULL;
@@ -116,29 +106,6 @@
 }
 
 
-static int
-DSP_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Set the function pointers */
-    impl->DetectDevices = DSP_DetectDevices;
-    impl->GetDeviceName = DSP_GetDeviceName;
-    impl->OpenDevice = DSP_OpenDevice;
-    impl->PlayDevice = DSP_PlayDevice;
-    impl->GetDeviceBuf = DSP_GetDeviceBuf;
-    impl->CloseDevice = DSP_CloseDevice;
-    impl->Deinitialize = DSP_Deinitialize;
-
-    build_device_lists();
-    return 1;
-}
-
-
-AudioBootStrap DSP_bootstrap = {
-    DSP_DRIVER_NAME, "OSS /dev/dsp standard audio",
-    DSP_Available, DSP_Init, 0
-};
-
-
 static void DSP_Deinitialize(void)
 {
     free_device_lists();
@@ -402,4 +369,26 @@
     }
 }
 
+static int
+DSP_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Set the function pointers */
+    impl->DetectDevices = DSP_DetectDevices;
+    impl->GetDeviceName = DSP_GetDeviceName;
+    impl->OpenDevice = DSP_OpenDevice;
+    impl->PlayDevice = DSP_PlayDevice;
+    impl->GetDeviceBuf = DSP_GetDeviceBuf;
+    impl->CloseDevice = DSP_CloseDevice;
+    impl->Deinitialize = DSP_Deinitialize;
+
+    build_device_lists();
+    return 1;
+}
+
+
+AudioBootStrap DSP_bootstrap = {
+    DSP_DRIVER_NAME, "OSS /dev/dsp standard audio",
+    DSP_Available, DSP_Init, 0
+};
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/dummy/SDL_dummyaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/dummy/SDL_dummyaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -35,10 +35,6 @@
 /* The tag name used by DUMMY audio */
 #define DUMMYAUD_DRIVER_NAME         "dummy"
 
-/* Audio driver functions */
-static int DUMMYAUD_OpenDevice(_THIS, const char *devname, int iscapture);
-
-/* Audio driver bootstrap functions */
 static int
 DUMMYAUD_Available(void)
 {
@@ -46,6 +42,13 @@
 }
 
 static int
+DUMMYAUD_OpenDevice(_THIS, const char *devname, int iscapture)
+{
+    return 1;   /* always succeeds. */
+}
+
+
+static int
 DUMMYAUD_Init(SDL_AudioDriverImpl *impl)
 {
     /* Set the function pointers */
@@ -60,10 +63,4 @@
     DUMMYAUD_Available, DUMMYAUD_Init, 1
 };
 
-static int
-DUMMYAUD_OpenDevice(_THIS, const char *devname, int iscapture)
-{
-    return 1;   /* always succeeds. */
-}
-
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/esd/SDL_esdaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/esd/SDL_esdaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -45,13 +45,6 @@
 /* The tag name used by ESD audio */
 #define ESD_DRIVER_NAME		"esd"
 
-/* Audio driver functions */
-static int ESD_OpenDevice(_THIS, const char *devname, int iscapture);
-static void ESD_WaitDevice(_THIS);
-static void ESD_PlayDevice(_THIS);
-static Uint8 *ESD_GetDeviceBuf(_THIS);
-static void ESD_CloseDevice(_THIS);
-
 #ifdef SDL_AUDIO_DRIVER_ESD_DYNAMIC
 
 static const char *esd_library = SDL_AUDIO_DRIVER_ESD_DYNAMIC;
@@ -122,8 +115,6 @@
 
 #endif /* SDL_AUDIO_DRIVER_ESD_DYNAMIC */
 
-/* Audio driver bootstrap functions */
-
 static int
 ESD_Available(void)
 {
@@ -144,26 +135,6 @@
 }
 
 
-static int
-ESD_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Set the function pointers */
-    impl->OpenDevice = ESD_OpenDevice;
-    impl->PlayDevice = ESD_PlayDevice;
-    impl->WaitDevice = ESD_WaitDevice;
-    impl->GetDeviceBuf = ESD_GetDeviceBuf;
-    impl->CloseDevice = ESD_CloseDevice;
-    impl->OnlyHasDefaultOutputDevice = 1;
-
-    return 1;
-}
-
-
-AudioBootStrap ESD_bootstrap = {
-    ESD_DRIVER_NAME, "Enlightened Sound Daemon",
-    ESD_Available, ESD_Init, 0
-};
-
 /* This function waits until it is possible to write a full sound buffer */
 static void
 ESD_WaitDevice(_THIS)
@@ -360,4 +331,25 @@
     return 1;
 }
 
+
+static int
+ESD_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Set the function pointers */
+    impl->OpenDevice = ESD_OpenDevice;
+    impl->PlayDevice = ESD_PlayDevice;
+    impl->WaitDevice = ESD_WaitDevice;
+    impl->GetDeviceBuf = ESD_GetDeviceBuf;
+    impl->CloseDevice = ESD_CloseDevice;
+    impl->OnlyHasDefaultOutputDevice = 1;
+
+    return 1;
+}
+
+
+AudioBootStrap ESD_bootstrap = {
+    ESD_DRIVER_NAME, "Enlightened Sound Daemon",
+    ESD_Available, ESD_Init, 0
+};
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/macosx/SDL_coreaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/macosx/SDL_coreaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -201,20 +201,6 @@
     return 0;
 }
 
-
-/* Audio driver functions */
-
-static int COREAUDIO_DetectDevices(int iscapture);
-static const char *COREAUDIO_GetDeviceName(int index, int iscapture);
-static int COREAUDIO_OpenDevice(_THIS, const char *devname, int iscapture);
-static void COREAUDIO_WaitDevice(_THIS);
-static void COREAUDIO_PlayDevice(_THIS);
-static Uint8 *COREAUDIO_GetDeviceBuf(_THIS);
-static void COREAUDIO_CloseDevice(_THIS);
-static void COREAUDIO_Deinitialize(void);
-
-/* Audio driver bootstrap functions */
-
 static int
 COREAUDIO_Available(void)
 {
@@ -222,28 +208,6 @@
 }
 
 static int
-COREAUDIO_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Set the function pointers */
-    impl->DetectDevices = COREAUDIO_DetectDevices;
-    impl->GetDeviceName = COREAUDIO_GetDeviceName;
-    impl->OpenDevice = COREAUDIO_OpenDevice;
-    impl->CloseDevice = COREAUDIO_CloseDevice;
-    impl->Deinitialize = COREAUDIO_Deinitialize;
-    impl->ProvidesOwnCallbackThread = 1;
-
-    build_device_lists();  /* do an initial check for devices... */
-
-    return 1;
-}
-
-AudioBootStrap COREAUDIO_bootstrap = {
-    "coreaudio", "Mac OS X CoreAudio",
-    COREAUDIO_Available, COREAUDIO_Init, 0
-};
-
-
-static int
 COREAUDIO_DetectDevices(int iscapture)
 {
     if (iscapture) {
@@ -601,4 +565,25 @@
     return 1;  /* good to go. */
 }
 
+static int
+COREAUDIO_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Set the function pointers */
+    impl->DetectDevices = COREAUDIO_DetectDevices;
+    impl->GetDeviceName = COREAUDIO_GetDeviceName;
+    impl->OpenDevice = COREAUDIO_OpenDevice;
+    impl->CloseDevice = COREAUDIO_CloseDevice;
+    impl->Deinitialize = COREAUDIO_Deinitialize;
+    impl->ProvidesOwnCallbackThread = 1;
+
+    build_device_lists();  /* do an initial check for devices... */
+
+    return 1;
+}
+
+AudioBootStrap COREAUDIO_bootstrap = {
+    "coreaudio", "Mac OS X CoreAudio",
+    COREAUDIO_Available, COREAUDIO_Init, 0
+};
+
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/macrom/SDL_romaudio.c	Fri Oct 06 04:16:11 2006 +0000
+++ b/src/audio/macrom/SDL_romaudio.c	Fri Oct 06 04:46:58 2006 +0000
@@ -50,15 +50,6 @@
 #include "../SDL_sysaudio.h"
 #include "SDL_romaudio.h"
 
-/* Audio driver functions */
-
-static void SNDMGR_CloseDevice(_THIS);
-static int SNDMGR_OpenDevice(_THIS, const char *devname, int iscapture);
-static void SNDMGR_LockDevice(_THIS);
-static void SNDMGR_UnlockDevice(_THIS);
-
-/* Audio driver bootstrap functions */
-
 static int
 SNDMGR_Available(void)
 {
@@ -66,28 +57,6 @@
 }
 
 
-static int
-SNDMGR_Init(SDL_AudioDriverImpl *impl)
-{
-    /* Set the function pointers */
-    impl->OpenDevice = SNDMGR_OpenDevice;
-    impl->CloseDevice = SNDMGR_CloseDevice;
-    impl->ProvidesOwnCallbackThread = 1;
-    impl->OnlyHasDefaultOutputDevice = 1;
-
-#ifndef __MACOSX__               /* Mac OS X uses threaded audio, so normal thread code is okay */
-    impl->LockDevice = SNDMGR_LockDevice;
-    impl->UnlockDevice = SNDMGR_UnlockDevice;
-#endif
-
-    return 1;
-}
-
-AudioBootStrap SNDMGR_bootstrap = {
-    "sndmgr", SDL_MACOS_NAME " SoundManager",
-    SNDMGR_Available, SNDMGR_Init, 0
-};
-
 #pragma options align=power
 
 static volatile SInt32 audio_is_locked = 0;
@@ -331,4 +300,26 @@
     this->hidden = NULL;
 }
 
+static int
+SNDMGR_Init(SDL_AudioDriverImpl *impl)
+{
+    /* Set the function pointers */
+    impl->OpenDevice = SNDMGR_OpenDevice;
+    impl->CloseDevice = SNDMGR_CloseDevice;
+    impl->ProvidesOwnCallbackThread = 1;
+    impl->OnlyHasDefaultOutputDevice = 1;
+
+#ifndef __MACOSX__               /* Mac OS X uses threaded audio, so normal thread code is okay */
+    impl->LockDevice = SNDMGR_LockDevice;
+    impl->UnlockDevice = SNDMGR_UnlockDevice;
+#endif
+
+    return 1;
+}
+
+AudioBootStrap SNDMGR_bootstrap = {
+    "sndmgr", SDL_MACOS_NAME " SoundManager",
+    SNDMGR_Available, SNDMGR_Init, 0
+};
+
 /* vi: set ts=4 sw=4 expandtab: */