diff options
Diffstat (limited to '3rdparty/portmidi/pm_linux/pmlinux.c')
-rw-r--r-- | 3rdparty/portmidi/pm_linux/pmlinux.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/3rdparty/portmidi/pm_linux/pmlinux.c b/3rdparty/portmidi/pm_linux/pmlinux.c index b05c54fccb9..05ac332c368 100644 --- a/3rdparty/portmidi/pm_linux/pmlinux.c +++ b/3rdparty/portmidi/pm_linux/pmlinux.c @@ -14,6 +14,7 @@ #include "portmidi.h" #include "pmutil.h" #include "pminternal.h" +#include "finddefault.h" #ifdef PMALSA #include "pmlinuxalsa.h" @@ -23,32 +24,34 @@ #include "pmlinuxnull.h" #endif +#if !(defined(PMALSA) || defined(PMNULL)) +#error One of PMALSA or PMNULL must be defined +#endif + PmDeviceID pm_default_input_device_id = -1; PmDeviceID pm_default_output_device_id = -1; -extern PmDeviceID find_default_device(char *path, int input, PmDeviceID id); - -void pm_init() +void pm_init(void) { /* Note: it is not an error for PMALSA to fail to initialize. * It may be a design error that the client cannot query what subsystems * are working properly other than by looking at the list of available * devices. */ - #ifdef PMALSA - pm_linuxalsa_init(); - #endif - #ifdef PMNULL +#ifdef PMALSA + pm_linuxalsa_init(); +#endif +#ifdef PMNULL pm_linuxnull_init(); - #endif +#endif // this is set when we return to Pm_Initialize, but we need it // now in order to (successfully) call Pm_CountDevices() pm_initialized = TRUE; pm_default_input_device_id = find_default_device( - (char *)"/PortMidi/PM_RECOMMENDED_INPUT_DEVICE", TRUE, + "/PortMidi/PM_RECOMMENDED_INPUT_DEVICE", TRUE, pm_default_input_device_id); pm_default_output_device_id = find_default_device( - (char *)"/PortMidi/PM_RECOMMENDED_OUTPUT_DEVICE", FALSE, + "/PortMidi/PM_RECOMMENDED_OUTPUT_DEVICE", FALSE, pm_default_output_device_id); } @@ -57,14 +60,17 @@ void pm_term(void) #ifdef PMALSA pm_linuxalsa_term(); #endif + #ifdef PMNULL + pm_linuxnull_term(); + #endif } -PmDeviceID Pm_GetDefaultInputDeviceID() { +PmDeviceID Pm_GetDefaultInputDeviceID(void) { Pm_Initialize(); return pm_default_input_device_id; } -PmDeviceID Pm_GetDefaultOutputDeviceID() { +PmDeviceID Pm_GetDefaultOutputDeviceID(void) { Pm_Initialize(); return pm_default_output_device_id; } |