From 4fdbd7deec04f312c7b9913f0116d8204b9f653d Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 8 Feb 2013 16:43:55 +0100 Subject: [PATCH] (RMenu) Some cleanups to RMenu resampler code --- frontend/menu/rmenu.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/frontend/menu/rmenu.c b/frontend/menu/rmenu.c index aaa4b213ae..284901c108 100644 --- a/frontend/menu/rmenu.c +++ b/frontend/menu/rmenu.c @@ -296,13 +296,13 @@ static void populate_setting_item(void *data, unsigned input) if (strstr(g_settings.audio.resampler, "sinc")) { snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Sinc"); - snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sinc resampler] - slower but moreaccurate sound."); + snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Sinc resampler] - slightly slower but better sound quality at high frequencies."); } else #endif { snprintf(current_item->setting_text, sizeof(current_item->setting_text), "Hermite"); - snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Hermite resampler] - faster but less accurate with high sampling rates (such as 44KHz/48KHz)."); + snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Hermite resampler] - faster but less accurate at high frequencies."); } break; case SETTING_EMU_CURRENT_SAVE_STATE_SLOT: @@ -1452,24 +1452,30 @@ static int set_setting_action(void *data, unsigned switchvalue, uint64_t input) if (g_extern.main_is_init) { - if (rarch_resampler_realloc(&g_extern.audio_data.resampler_data, &g_extern.audio_data.resampler, + if (!rarch_resampler_realloc(&g_extern.audio_data.resampler_data, &g_extern.audio_data.resampler, g_settings.audio.resampler)) { - /* TODO */ + RARCH_ERR("Failed to initialize resampler \"%s\".\n", g_settings.audio.resampler); + g_extern.audio_active = false; } } } if(input & (1ULL << RMENU_DEVICE_NAV_START)) { +#ifdef HAVE_SINC + snprintf(g_settings.audio.resampler, sizeof(g_settings.audio.resampler), "sinc"); +#else snprintf(g_settings.audio.resampler, sizeof(g_settings.audio.resampler), "hermite"); +#endif if (g_extern.main_is_init) { - if (rarch_resampler_realloc(&g_extern.audio_data.resampler_data, &g_extern.audio_data.resampler, + if (!rarch_resampler_realloc(&g_extern.audio_data.resampler_data, &g_extern.audio_data.resampler, g_settings.audio.resampler)) { - /* TODO */ + RARCH_ERR("Failed to initialize resampler \"%s\".\n", g_settings.audio.resampler); + g_extern.audio_active = false; } } }