From 742c49cee7bb512ab9750440442655805d12378c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 6 Jun 2020 14:48:42 +0200 Subject: [PATCH] Revert "Cleanups" This reverts commit 802d501c39806510e15dbbe1cdd938979e6a0dde. --- retroarch.c | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/retroarch.c b/retroarch.c index eb3b475ea5..6759ba3f07 100644 --- a/retroarch.c +++ b/retroarch.c @@ -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_input_enabled(void); 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 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; 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; *len += strlen(opt) + 1; @@ -11711,10 +11712,7 @@ bool command_event(enum event_command cmd, void *data) #endif break; case CMD_EVENT_AUDIO_STOP: - if ( p_rarch->midi_drv_data && - p_rarch->midi_drv_output_enabled) - midi_driver_set_all_sounds_off(p_rarch); - + midi_driver_set_all_sounds_off(p_rarch); if (!audio_driver_stop(p_rarch)) return false; break; @@ -23158,6 +23156,14 @@ static midi_driver_t *midi_driver_find_driver(const char *ident) 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 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 }; bool result = true; - event.data = data; - event.data_size = sizeof(data); - event.delta_time = 0; + if (!p_rarch->midi_drv_data || !p_rarch->midi_drv_output_enabled) + return false; + + event.data = data; + event.data_size = sizeof(data); + event.delta_time = 0; for (i = 0; i < 16; ++i) { @@ -29063,9 +29072,7 @@ static const void *find_driver_nonempty( } else if (string_is_equal(label, "midi_driver")) { - bool no_handle = (i < 0 || i >= ARRAY_SIZE(midi_drivers)); - - if (!no_handle) + if (midi_driver_find_handle(i)) { const char *ident = midi_drivers[i]->ident; if (!add_entry)