MIDI driver cleanups (#14686)

This commit is contained in:
sonninnos 2022-11-29 12:29:39 +02:00 committed by GitHub
parent c75af6194b
commit 8e937ddd6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 22 deletions

View File

@ -1514,8 +1514,8 @@
#endif #endif
/* MIDI */ /* MIDI */
#define DEFAULT_MIDI_INPUT "Off" #define DEFAULT_MIDI_INPUT "OFF"
#define DEFAULT_MIDI_OUTPUT "Off" #define DEFAULT_MIDI_OUTPUT "OFF"
#define DEFAULT_MIDI_VOLUME 100 #define DEFAULT_MIDI_VOLUME 100
#ifdef HAVE_MIST #ifdef HAVE_MIST

View File

@ -8276,8 +8276,7 @@ static void general_write_handler(rarch_setting_t *setting)
case MENU_ENUM_LABEL_MIDI_OUTPUT: case MENU_ENUM_LABEL_MIDI_OUTPUT:
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
midi_driver_set_output(settings, midi_driver_set_output(settings, settings->arrays.midi_output);
settings->arrays.midi_output);
} }
break; break;
case MENU_ENUM_LABEL_MIDI_VOLUME: case MENU_ENUM_LABEL_MIDI_VOLUME:

View File

@ -23,6 +23,7 @@
#include "verbosity.h" #include "verbosity.h"
#define MIDI_DRIVER_BUF_SIZE 4096 #define MIDI_DRIVER_BUF_SIZE 4096
#define MIDI_DRIVER_OFF "OFF"
static void *rarch_midi_drv_data; static void *rarch_midi_drv_data;
static struct string_list *rarch_midi_drv_inputs; static struct string_list *rarch_midi_drv_inputs;
@ -239,8 +240,8 @@ bool midi_driver_init(void *data)
if (!rarch_midi_drv_inputs || !rarch_midi_drv_outputs) if (!rarch_midi_drv_inputs || !rarch_midi_drv_outputs)
ret = false; ret = false;
else if (!string_list_append(rarch_midi_drv_inputs, "Off", attr) || else if (!string_list_append(rarch_midi_drv_inputs, MIDI_DRIVER_OFF, attr) ||
!string_list_append(rarch_midi_drv_outputs, "Off", attr)) !string_list_append(rarch_midi_drv_outputs, MIDI_DRIVER_OFF, attr))
ret = false; ret = false;
else else
{ {
@ -262,7 +263,7 @@ bool midi_driver_init(void *data)
ret = false; ret = false;
else else
{ {
if (string_is_not_equal(settings->arrays.midi_input, "Off")) if (string_is_not_equal(settings->arrays.midi_input, MIDI_DRIVER_OFF))
{ {
if (string_list_find_elem(rarch_midi_drv_inputs, settings->arrays.midi_input)) if (string_list_find_elem(rarch_midi_drv_inputs, settings->arrays.midi_input))
input = settings->arrays.midi_input; input = settings->arrays.midi_input;
@ -271,11 +272,11 @@ bool midi_driver_init(void *data)
RARCH_WARN("[MIDI]: Input device \"%s\" unavailable.\n", RARCH_WARN("[MIDI]: Input device \"%s\" unavailable.\n",
settings->arrays.midi_input); settings->arrays.midi_input);
configuration_set_string(settings, configuration_set_string(settings,
settings->arrays.midi_input, "Off"); settings->arrays.midi_input, MIDI_DRIVER_OFF);
} }
} }
if (string_is_not_equal(settings->arrays.midi_output, "Off")) if (string_is_not_equal(settings->arrays.midi_output, MIDI_DRIVER_OFF))
{ {
if (string_list_find_elem(rarch_midi_drv_outputs, settings->arrays.midi_output)) if (string_list_find_elem(rarch_midi_drv_outputs, settings->arrays.midi_output))
output = settings->arrays.midi_output; output = settings->arrays.midi_output;
@ -284,7 +285,7 @@ bool midi_driver_init(void *data)
RARCH_WARN("[MIDI]: Output device \"%s\" unavailable.\n", RARCH_WARN("[MIDI]: Output device \"%s\" unavailable.\n",
settings->arrays.midi_output); settings->arrays.midi_output);
configuration_set_string(settings, configuration_set_string(settings,
settings->arrays.midi_output, "Off"); settings->arrays.midi_output, MIDI_DRIVER_OFF);
} }
} }
@ -301,11 +302,11 @@ bool midi_driver_init(void *data)
else else
{ {
if (input) if (input)
RARCH_LOG("[MIDI]: Input device \"%s\".\n", input); RARCH_LOG("[MIDI]: Input device: \"%s\".\n", input);
if (output) if (output)
{ {
RARCH_LOG("[MIDI]: Output device \"%s\".\n", output); RARCH_LOG("[MIDI]: Output device: \"%s\".\n", output);
midi_driver_set_volume(settings->uints.midi_volume); midi_driver_set_volume(settings->uints.midi_volume);
} }
} }
@ -332,7 +333,7 @@ bool midi_driver_set_input(const char *input)
return false; return false;
} }
if (string_is_equal(input, "Off")) if (string_is_equal(input, MIDI_DRIVER_OFF))
input = NULL; input = NULL;
if (!midi_drv->set_input(rarch_midi_drv_data, input)) if (!midi_drv->set_input(rarch_midi_drv_data, input))
@ -366,7 +367,7 @@ bool midi_driver_set_output(void *settings_data, const char *output)
return false; return false;
} }
if (string_is_equal(output, "Off")) if (string_is_equal(output, MIDI_DRIVER_OFF))
output = NULL; output = NULL;
if (!midi_drv->set_output(rarch_midi_drv_data, output)) if (!midi_drv->set_output(rarch_midi_drv_data, output))
@ -424,8 +425,7 @@ bool midi_driver_read(uint8_t *byte)
if (i == rarch_midi_drv_input_event.data_size) if (i == rarch_midi_drv_input_event.data_size)
{ {
rarch_midi_drv_input_event.data_size = MIDI_DRIVER_BUF_SIZE; rarch_midi_drv_input_event.data_size = MIDI_DRIVER_BUF_SIZE;
if (!midi_drv->read(rarch_midi_drv_data, if (!midi_drv->read(rarch_midi_drv_data, &rarch_midi_drv_input_event))
&rarch_midi_drv_input_event))
{ {
rarch_midi_drv_input_event.data_size = i; rarch_midi_drv_input_event.data_size = i;
return false; return false;
@ -475,8 +475,8 @@ bool midi_driver_write(uint8_t byte, uint32_t delta_time)
if (byte >= 0x80) if (byte >= 0x80)
{ {
if ( rarch_midi_drv_output_event.data_size && if ( rarch_midi_drv_output_event.data_size
rarch_midi_drv_output_event.data[0] == 0xF0) && rarch_midi_drv_output_event.data[0] == 0xF0)
{ {
if (byte == 0xF7) if (byte == 0xF7)
event_size = (int)rarch_midi_drv_output_event.data_size + 1; event_size = (int)rarch_midi_drv_output_event.data_size + 1;
@ -542,8 +542,7 @@ bool midi_driver_write(uint8_t byte, uint32_t delta_time)
if (rarch_midi_drv_output_event.data_size == event_size) if (rarch_midi_drv_output_event.data_size == event_size)
{ {
if (!midi_drv->write(rarch_midi_drv_data, if (!midi_drv->write(rarch_midi_drv_data, &rarch_midi_drv_output_event))
&rarch_midi_drv_output_event))
return false; return false;
#ifdef DEBUG #ifdef DEBUG
@ -586,8 +585,7 @@ bool midi_driver_flush(void)
return false; return false;
if (rarch_midi_drv_output_pending) if (rarch_midi_drv_output_pending)
rarch_midi_drv_output_pending = rarch_midi_drv_output_pending = !midi_drv->flush(rarch_midi_drv_data);
!midi_drv->flush(rarch_midi_drv_data);
return !rarch_midi_drv_output_pending; return !rarch_midi_drv_output_pending;
} }