ports/audio/fluidsynth/patches/patch-src_drivers_fluid_mdriver_c

62 lines
2.2 KiB
Text

Index: src/drivers/fluid_mdriver.c
--- src/drivers/fluid_mdriver.c.orig
+++ src/drivers/fluid_mdriver.c
@@ -24,7 +24,7 @@
#undef FLUID_MIDI_SUPPORT
#if ALSA_SUPPORT || JACK_SUPPORT || OSS_SUPPORT || \
- WINMIDI_SUPPORT || MIDISHARE_SUPPORT || COREMIDI_SUPPORT
+ WINMIDI_SUPPORT || MIDISHARE_SUPPORT || COREMIDI_SUPPORT || SNDIO_SUPPORT
/* At least an input driver exits */
#define FLUID_MIDI_SUPPORT 1
#endif
@@ -53,6 +53,15 @@ fluid_midi_driver_t *new_fluid_jack_midi_driver (fluid
int delete_fluid_jack_midi_driver(fluid_midi_driver_t *p);
#endif
+/* SNDIO */
+#if SNDIO_SUPPORT
+fluid_midi_driver_t* new_fluid_sndio_midi_driver(fluid_settings_t* settings,
+ handle_midi_event_func_t handler,
+ void* event_handler_data);
+int delete_fluid_sndio_midi_driver(fluid_midi_driver_t* p);
+void fluid_sndio_midi_driver_settings(fluid_settings_t* settings);
+#endif
+
/* OSS */
#if OSS_SUPPORT
fluid_midi_driver_t* new_fluid_oss_midi_driver(fluid_settings_t* settings,
@@ -105,6 +114,12 @@ struct fluid_mdriver_definition_t {
struct fluid_mdriver_definition_t fluid_midi_drivers[] = {
+#if SNDIO_SUPPORT
+ { "sndio",
+ new_fluid_sndio_midi_driver,
+ delete_fluid_sndio_midi_driver,
+ fluid_sndio_midi_driver_settings },
+#endif
#if JACK_SUPPORT
{ "jack",
new_fluid_jack_midi_driver,
@@ -158,7 +173,9 @@ void fluid_midi_driver_settings(fluid_settings_t* sett
FLUID_DEFAULT_MIDI_RT_PRIO, 0, 99, 0, NULL, NULL);
/* Set the default driver */
-#if ALSA_SUPPORT
+#if SNDIO_SUPPORT
+ fluid_settings_register_str(settings, "midi.driver", "sndio", 0, NULL, NULL);
+#elif ALSA_SUPPORT
fluid_settings_register_str(settings, "midi.driver", "alsa_seq", 0, NULL, NULL);
#elif JACK_SUPPORT
fluid_settings_register_str(settings, "midi.driver", "jack", 0, NULL, NULL);
@@ -178,6 +195,9 @@ void fluid_midi_driver_settings(fluid_settings_t* sett
#if ALSA_SUPPORT
fluid_settings_add_option(settings, "midi.driver", "alsa_seq");
fluid_settings_add_option(settings, "midi.driver", "alsa_raw");
+#endif
+#if SNDIO_SUPPORT
+ fluid_settings_add_option(settings, "midi.driver", "sndio");
#endif
#if JACK_SUPPORT
fluid_settings_add_option(settings, "midi.driver", "jack");