Revert "Cleanups"

This reverts commit 802d501c39806510e15dbbe1cdd938979e6a0dde.
This commit is contained in:
twinaphex 2020-06-06 14:48:42 +02:00
parent 7063f3df13
commit 742c49cee7

View File

@ -2497,6 +2497,7 @@ static bool midi_driver_write(uint8_t byte, uint32_t delta_time);
static bool midi_driver_output_enabled(void); static bool midi_driver_output_enabled(void);
static bool midi_driver_input_enabled(void); static bool midi_driver_input_enabled(void);
static bool midi_driver_set_all_sounds_off(struct rarch_state *p_rarch); static bool midi_driver_set_all_sounds_off(struct rarch_state *p_rarch);
static const void *midi_driver_find_handle(int index);
static bool midi_driver_flush(void); static bool midi_driver_flush(void);
static void retroarch_deinit_core_options(struct rarch_state *p_rarch); static void retroarch_deinit_core_options(struct rarch_state *p_rarch);
@ -6671,7 +6672,7 @@ struct string_list *string_list_new_special(enum string_list_type type,
} }
break; break;
case STRING_LIST_MIDI_DRIVERS: case STRING_LIST_MIDI_DRIVERS:
for (i = 0; midi_drivers[i]; i++) for (i = 0; midi_driver_find_handle(i); i++)
{ {
const char *opt = midi_drivers[i]->ident; const char *opt = midi_drivers[i]->ident;
*len += strlen(opt) + 1; *len += strlen(opt) + 1;
@ -11711,10 +11712,7 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
break; break;
case CMD_EVENT_AUDIO_STOP: case CMD_EVENT_AUDIO_STOP:
if ( p_rarch->midi_drv_data && midi_driver_set_all_sounds_off(p_rarch);
p_rarch->midi_drv_output_enabled)
midi_driver_set_all_sounds_off(p_rarch);
if (!audio_driver_stop(p_rarch)) if (!audio_driver_stop(p_rarch))
return false; return false;
break; break;
@ -23158,6 +23156,14 @@ static midi_driver_t *midi_driver_find_driver(const char *ident)
return &midi_null; return &midi_null;
} }
static const void *midi_driver_find_handle(int index)
{
if (index < 0 || index >= ARRAY_SIZE(midi_drivers))
return NULL;
return midi_drivers[index];
}
struct string_list *midi_driver_get_avail_inputs(void) struct string_list *midi_driver_get_avail_inputs(void)
{ {
struct rarch_state *p_rarch = &rarch_st; struct rarch_state *p_rarch = &rarch_st;
@ -23177,9 +23183,12 @@ static bool midi_driver_set_all_sounds_off(struct rarch_state *p_rarch)
uint8_t data[3] = { 0xB0, 120, 0 }; uint8_t data[3] = { 0xB0, 120, 0 };
bool result = true; bool result = true;
event.data = data; if (!p_rarch->midi_drv_data || !p_rarch->midi_drv_output_enabled)
event.data_size = sizeof(data); return false;
event.delta_time = 0;
event.data = data;
event.data_size = sizeof(data);
event.delta_time = 0;
for (i = 0; i < 16; ++i) for (i = 0; i < 16; ++i)
{ {
@ -29063,9 +29072,7 @@ static const void *find_driver_nonempty(
} }
else if (string_is_equal(label, "midi_driver")) else if (string_is_equal(label, "midi_driver"))
{ {
bool no_handle = (i < 0 || i >= ARRAY_SIZE(midi_drivers)); if (midi_driver_find_handle(i))
if (!no_handle)
{ {
const char *ident = midi_drivers[i]->ident; const char *ident = midi_drivers[i]->ident;
if (!add_entry) if (!add_entry)