OSDN Git Service

Accept portaudio.dll without PaAsio_ShowControlPanel
authorStarg <starg@users.osdn.me>
Fri, 25 Aug 2017 21:06:30 +0000 (06:06 +0900)
committerStarg <starg@users.osdn.me>
Sun, 24 Dec 2017 02:14:34 +0000 (11:14 +0900)
timidity/w32_portaudio_dll.c

index d3470b7..668d7e8 100644 (file)
@@ -117,6 +117,11 @@ static struct portaudio_dll_ {
 
 static volatile HANDLE h_portaudio_dll = NULL;
 
+static PaError DummyPaAsio_ShowControlPanel(PaDeviceIndex device, void* systemSpecific)
+{
+    return paHostApiNotFound;
+}
+
 void free_portaudio_dll(void)
 {
        if(h_portaudio_dll){
@@ -201,7 +206,7 @@ int load_portaudio_dll(int a)
        portaudio_dll.Pa_Sleep = (type_Pa_Sleep)GetProcAddress(h_portaudio_dll,"Pa_Sleep");
        if(!portaudio_dll.Pa_Sleep){ free_portaudio_dll(); return -1; }
        portaudio_dll.PaAsio_ShowControlPanel = (type_PaAsio_ShowControlPanel)GetProcAddress(h_portaudio_dll,"PaAsio_ShowControlPanel");
-       if(!portaudio_dll.PaAsio_ShowControlPanel){ free_portaudio_dll(); return -1; }
+    if(!portaudio_dll.PaAsio_ShowControlPanel){ portaudio_dll.PaAsio_ShowControlPanel = &DummyPaAsio_ShowControlPanel; }
        return 0;
 }