mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-12-01 00:21:14 +00:00
Simplify MIDI driver installation
This commit is contained in:
parent
70f4551e90
commit
a7c5b66872
1 changed files with 27 additions and 51 deletions
|
@ -38,6 +38,20 @@ struct fluid_mdriver_definition_t
|
||||||
|
|
||||||
static const struct fluid_mdriver_definition_t fluid_midi_drivers[] =
|
static const struct fluid_mdriver_definition_t fluid_midi_drivers[] =
|
||||||
{
|
{
|
||||||
|
#if ALSA_SUPPORT
|
||||||
|
{
|
||||||
|
"alsa_seq",
|
||||||
|
new_fluid_alsa_seq_driver,
|
||||||
|
delete_fluid_alsa_seq_driver,
|
||||||
|
fluid_alsa_seq_driver_settings
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alsa_raw",
|
||||||
|
new_fluid_alsa_rawmidi_driver,
|
||||||
|
delete_fluid_alsa_rawmidi_driver,
|
||||||
|
fluid_alsa_rawmidi_driver_settings
|
||||||
|
},
|
||||||
|
#endif
|
||||||
#if JACK_SUPPORT
|
#if JACK_SUPPORT
|
||||||
{
|
{
|
||||||
"jack",
|
"jack",
|
||||||
|
@ -54,20 +68,6 @@ static const struct fluid_mdriver_definition_t fluid_midi_drivers[] =
|
||||||
fluid_oss_midi_driver_settings
|
fluid_oss_midi_driver_settings
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
#if ALSA_SUPPORT
|
|
||||||
{
|
|
||||||
"alsa_raw",
|
|
||||||
new_fluid_alsa_rawmidi_driver,
|
|
||||||
delete_fluid_alsa_rawmidi_driver,
|
|
||||||
fluid_alsa_rawmidi_driver_settings
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"alsa_seq",
|
|
||||||
new_fluid_alsa_seq_driver,
|
|
||||||
delete_fluid_alsa_seq_driver,
|
|
||||||
fluid_alsa_seq_driver_settings
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
#if WINMIDI_SUPPORT
|
#if WINMIDI_SUPPORT
|
||||||
{
|
{
|
||||||
"winmidi",
|
"winmidi",
|
||||||
|
@ -100,57 +100,33 @@ static const struct fluid_mdriver_definition_t fluid_midi_drivers[] =
|
||||||
void fluid_midi_driver_settings(fluid_settings_t *settings)
|
void fluid_midi_driver_settings(fluid_settings_t *settings)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
const char *def_name = NULL;
|
||||||
|
|
||||||
fluid_settings_register_int(settings, "midi.autoconnect", 0, 0, 1, FLUID_HINT_TOGGLED);
|
fluid_settings_register_int(settings, "midi.autoconnect", 0, 0, 1, FLUID_HINT_TOGGLED);
|
||||||
|
|
||||||
fluid_settings_register_int(settings, "midi.realtime-prio",
|
fluid_settings_register_int(settings, "midi.realtime-prio",
|
||||||
FLUID_DEFAULT_MIDI_RT_PRIO, 0, 99, 0);
|
FLUID_DEFAULT_MIDI_RT_PRIO, 0, 99, 0);
|
||||||
|
|
||||||
/* Set the default driver */
|
|
||||||
#if ALSA_SUPPORT
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "alsa_seq", 0);
|
|
||||||
#elif JACK_SUPPORT
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "jack", 0);
|
|
||||||
#elif OSS_SUPPORT
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "oss", 0);
|
|
||||||
#elif WINMIDI_SUPPORT
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "winmidi", 0);
|
|
||||||
#elif MIDISHARE_SUPPORT
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "midishare", 0);
|
|
||||||
#elif COREMIDI_SUPPORT
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "coremidi", 0);
|
|
||||||
#else
|
|
||||||
fluid_settings_register_str(settings, "midi.driver", "", 0);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Add all drivers to the list of options */
|
|
||||||
#if ALSA_SUPPORT
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "alsa_seq");
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "alsa_raw");
|
|
||||||
#endif
|
|
||||||
#if JACK_SUPPORT
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "jack");
|
|
||||||
#endif
|
|
||||||
#if OSS_SUPPORT
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "oss");
|
|
||||||
#endif
|
|
||||||
#if WINMIDI_SUPPORT
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "winmidi");
|
|
||||||
#endif
|
|
||||||
#if MIDISHARE_SUPPORT
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "midishare");
|
|
||||||
#endif
|
|
||||||
#if COREMIDI_SUPPORT
|
|
||||||
fluid_settings_add_option(settings, "midi.driver", "coremidi");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
for(i = 0; i < FLUID_N_ELEMENTS(fluid_midi_drivers) - 1; i++)
|
for(i = 0; i < FLUID_N_ELEMENTS(fluid_midi_drivers) - 1; i++)
|
||||||
{
|
{
|
||||||
|
/* Select the default driver */
|
||||||
|
if (def_name == NULL)
|
||||||
|
{
|
||||||
|
def_name = fluid_midi_drivers[i].name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add the driver to the list of options */
|
||||||
|
fluid_settings_add_option(settings, "midi.driver", fluid_midi_drivers[i].name);
|
||||||
|
|
||||||
if(fluid_midi_drivers[i].settings != NULL)
|
if(fluid_midi_drivers[i].settings != NULL)
|
||||||
{
|
{
|
||||||
fluid_midi_drivers[i].settings(settings);
|
fluid_midi_drivers[i].settings(settings);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set the default driver */
|
||||||
|
fluid_settings_register_str(settings, "midi.driver", def_name ? def_name : "", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue