Repurpose RSound IP address setting.

It's hardcoded for RSound, but it's actually setting the generic audio device ...
This commit is contained in:
Themaister 2014-03-02 12:25:38 +01:00
parent 4ae4d40364
commit a13da8da19
5 changed files with 40 additions and 44 deletions

View File

@ -1998,15 +1998,13 @@ void menu_populate_entries(void *data, unsigned menu_type)
file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, 0);
#else
file_list_push(rgui->selection_buf, "Volume Level", RGUI_SETTINGS_AUDIO_VOLUME, 0);
#endif
#ifdef HAVE_RSOUND
file_list_push(rgui->selection_buf, "RSound Server IP Address", RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS, 0);
#endif
break;
case RGUI_SETTINGS_DRIVERS:
file_list_clear(rgui->selection_buf);
file_list_push(rgui->selection_buf, "Video Driver", RGUI_SETTINGS_DRIVER_VIDEO, 0);
file_list_push(rgui->selection_buf, "Audio Driver", RGUI_SETTINGS_DRIVER_AUDIO, 0);
file_list_push(rgui->selection_buf, "Audio Device", RGUI_SETTINGS_DRIVER_AUDIO_DEVICE, 0);
file_list_push(rgui->selection_buf, "Audio Resampler", RGUI_SETTINGS_DRIVER_AUDIO_RESAMPLER, 0);
file_list_push(rgui->selection_buf, "Input Driver", RGUI_SETTINGS_DRIVER_INPUT, 0);
#ifdef HAVE_CAMERA

View File

@ -126,6 +126,7 @@ typedef enum
RGUI_SETTINGS_DISK_APPEND,
RGUI_SETTINGS_DRIVER_VIDEO,
RGUI_SETTINGS_DRIVER_AUDIO,
RGUI_SETTINGS_DRIVER_AUDIO_DEVICE,
RGUI_SETTINGS_DRIVER_AUDIO_RESAMPLER,
RGUI_SETTINGS_DRIVER_INPUT,
RGUI_SETTINGS_DRIVER_CAMERA,
@ -154,7 +155,6 @@ typedef enum
RGUI_SETTINGS_AUDIO_VOLUME_LEVEL, // XBOX1 only it seems. FIXME: Refactor this?
RGUI_SETTINGS_AUDIO_VOLUME,
RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE,
RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS,
RGUI_SETTINGS_ZIP_EXTRACT,
RGUI_SETTINGS_DEBUG_TEXT,
RGUI_SETTINGS_RESTART_EMULATOR,

View File

@ -82,8 +82,7 @@ void netplay_nickname_callback(void *userdata, const char *str)
}
#endif
#ifdef HAVE_RSOUND
void rsound_ipaddress_callback(void *userdata, const char *str)
void audio_device_callback(void *userdata, const char *str)
{
rgui_handle_t *rgui = (rgui_handle_t*)userdata;
@ -91,7 +90,6 @@ void rsound_ipaddress_callback(void *userdata, const char *str)
strlcpy(g_settings.audio.device, str, sizeof(g_settings.audio.device));
menu_key_end_line(rgui);
}
#endif
#ifdef HAVE_SHADER_MANAGER
void preset_filename_callback(void *userdata, const char *str)

View File

@ -27,7 +27,7 @@ void menu_key_start_line(rgui_handle_t *rgui, const char *label, input_keyboard_
void netplay_port_callback(void *userdata, const char *str);
void netplay_ipaddress_callback(void *userdata, const char *str);
void netplay_nickname_callback(void *userdata, const char *str);
void rsound_ipaddress_callback(void *userdata, const char *str);
void audio_device_callback(void *userdata, const char *str);
void preset_filename_callback(void *userdata, const char *str);
#endif

View File

@ -383,7 +383,7 @@ int menu_settings_toggle_setting(void *data, unsigned setting, unsigned action,
}
#ifdef HAVE_OSK
static bool osk_callback_enter_rsound(void *data)
static bool osk_callback_enter_audio_device(void *data)
{
if (g_extern.lifecycle_state & (1ULL << MODE_OSK_ENTRY_SUCCESS)
&& driver.osk && driver.osk->get_text_buf)
@ -407,7 +407,7 @@ do_exit:
return true;
}
static bool osk_callback_enter_rsound_init(void *data)
static bool osk_callback_enter_audio_device_init(void *data)
{
if (!driver.osk)
return false;
@ -415,7 +415,7 @@ static bool osk_callback_enter_rsound_init(void *data)
if (driver.osk->write_initial_msg)
driver.osk->write_initial_msg(driver.osk_data, L"192.168.1.1");
if (driver.osk->write_msg)
driver.osk->write_msg(driver.osk_data, L"Enter IP address for the RSound Server.");
driver.osk->write_msg(driver.osk_data, L"Enter Audio Device / IP address for audio driver.");
if (driver.osk->start)
driver.osk->start(driver.osk_data);
@ -1188,6 +1188,22 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
else if (action == RGUI_ACTION_RIGHT)
find_next_audio_driver();
break;
case RGUI_SETTINGS_DRIVER_AUDIO_DEVICE:
if (action == RGUI_ACTION_OK)
{
#ifdef HAVE_OSK
if (g_settings.osk.enable)
{
g_extern.osk.cb_init = osk_callback_enter_audio_device_init;
g_extern.osk.cb_callback = osk_callback_enter_audio_device;
}
else
#endif
menu_key_start_line(rgui, "Audio Device Name / IP: ", audio_device_callback);
}
else if (action == RGUI_ACTION_START)
*g_settings.audio.device = '\0';
break;
case RGUI_SETTINGS_DRIVER_AUDIO_RESAMPLER:
if (action == RGUI_ACTION_LEFT)
find_prev_resampler_driver();
@ -1634,22 +1650,6 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
#ifndef HAVE_RMENU
rgui->need_refresh = true;
#endif
break;
case RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS:
#ifdef HAVE_RSOUND
if (action == RGUI_ACTION_OK)
{
#ifdef HAVE_OSK
if (g_settings.osk.enable)
{
g_extern.osk.cb_init = osk_callback_enter_rsound_init;
g_extern.osk.cb_callback = osk_callback_enter_rsound;
}
else
#endif
menu_key_start_line(rgui, "Server IP Address: ", rsound_ipaddress_callback);
}
#endif
break;
case RGUI_SETTINGS_SHADER_APPLY:
@ -1678,6 +1678,20 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
}
break;
}
case RGUI_SETTINGS_SHADER_PRESET_SAVE:
if (action == RGUI_ACTION_OK)
{
#ifdef HAVE_OSK
if (g_settings.osk.enable)
{
g_extern.osk.cb_init = osk_callback_enter_filename_init;
g_extern.osk.cb_callback = osk_callback_enter_filename;
}
else
#endif
menu_key_start_line(rgui, "Preset Filename: ", preset_filename_callback);
}
break;
#endif
#ifdef _XBOX1
case RGUI_SETTINGS_FLICKER_FILTER:
@ -1713,20 +1727,6 @@ int menu_set_settings(void *data, unsigned setting, unsigned action)
}
break;
#endif
case RGUI_SETTINGS_SHADER_PRESET_SAVE:
if (action == RGUI_ACTION_OK)
{
#ifdef HAVE_OSK
if (g_settings.osk.enable)
{
g_extern.osk.cb_init = osk_callback_enter_filename_init;
g_extern.osk.cb_callback = osk_callback_enter_filename;
}
else
#endif
menu_key_start_line(rgui, "Preset Filename: ", preset_filename_callback);
}
break;
case RGUI_SETTINGS_CUSTOM_BGM_CONTROL_ENABLE:
switch (action)
{
@ -1892,6 +1892,9 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
case RGUI_SETTINGS_DRIVER_AUDIO:
strlcpy(type_str, g_settings.audio.driver, type_str_size);
break;
case RGUI_SETTINGS_DRIVER_AUDIO_DEVICE:
strlcpy(type_str, g_settings.audio.device, type_str_size);
break;
case RGUI_SETTINGS_DRIVER_AUDIO_RESAMPLER:
strlcpy(type_str, g_settings.audio.resampler, type_str_size);
break;
@ -2214,9 +2217,6 @@ void menu_set_settings_label(char *type_str, size_t type_str_size, unsigned *w,
case RGUI_SETTINGS_AUDIO_VOLUME:
snprintf(type_str, type_str_size, "%.1f dB", g_extern.audio_data.volume_db);
break;
case RGUI_SETTINGS_RSOUND_SERVER_IP_ADDRESS:
strlcpy(type_str, g_settings.audio.device, type_str_size);
break;
#ifdef _XBOX1
case RGUI_SETTINGS_FLICKER_FILTER:
snprintf(type_str, type_str_size, "%d", g_extern.console.screen.flicker_filter_index);