From a8573860fa4f295c65fed92720c7509e64505f73 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 2 Mar 2014 07:22:19 +0100 Subject: [PATCH] Compile in rsound audio driver by default and make RSound Server IP Address setting configurable by keyboard --- Makefile | 10 ++++------ frontend/menu/menu_settings.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index fd2d0da9c8..55d4642eaa 100644 --- a/Makefile +++ b/Makefile @@ -116,18 +116,16 @@ endif ifeq ($(HAVE_NETPLAY), 1) OBJ += netplay.o +#ifeq ($(HAVE_RSOUND), 1) + OBJ += audio/librsound.o audio/rsound.o + DEFINES += -DHAVE_RSOUND +#endif endif ifeq ($(HAVE_COMMAND), 1) OBJ += command.o endif -ifeq ($(HAVE_RSOUND), 1) - OBJ += audio/rsound.o - DEFINES += $(RSOUND_CFLAGS) - LIBS += $(RSOUND_LIBS) -endif - ifeq ($(HAVE_OSS), 1) OBJ += audio/oss.o endif diff --git a/frontend/menu/menu_settings.c b/frontend/menu/menu_settings.c index f37ba5346b..7e17d11b56 100644 --- a/frontend/menu/menu_settings.c +++ b/frontend/menu/menu_settings.c @@ -314,6 +314,20 @@ int menu_settings_toggle_setting(void *data, unsigned setting, unsigned action, return menu_set_settings(rgui, setting, action); } +static void rsound_ipaddress_callback(void *userdata, const char *str) +{ + rgui_handle_t *rgui = (rgui_handle_t*)userdata; + + if (str && *str) + { + strlcpy(g_settings.audio.device, str, sizeof(g_settings.audio.device)); + } + rgui->keyboard.display = false; + rgui->keyboard.label = NULL; + rgui->old_input_state = -1ULL; // Avoid triggering states on pressing return. + g_extern.system.key_event = menu_key_event; +} + #ifdef HAVE_OSK static bool osk_callback_enter_rsound(void *data) { @@ -1643,6 +1657,10 @@ int menu_set_settings(void *data, unsigned setting, unsigned action) else #endif { + g_extern.system.key_event = NULL; + rgui->keyboard.display = true; + rgui->keyboard.label = "Server IP Address: "; + rgui->keyboard.buffer = input_keyboard_start_line(rgui, rsound_ipaddress_callback); } } #endif