From 3ad9cb51827caaa5bc2f983850ffcb8223cb6984 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 23 Sep 2014 07:20:10 +0200 Subject: [PATCH] Make resampler code more export-friendly --- audio/resamplers/nearest.c | 2 ++ audio/resamplers/resampler.c | 62 +++++++++++++++--------------------- audio/resamplers/sinc.c | 4 ++- 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/audio/resamplers/nearest.c b/audio/resamplers/nearest.c index 94cca881c2..7cc089ddd1 100644 --- a/audio/resamplers/nearest.c +++ b/audio/resamplers/nearest.c @@ -1,6 +1,8 @@ #include "resampler.h" +#ifdef RARCH_INTERNAL #include "../../libretro.h" #include "../../performance.h" +#endif #include #include #include diff --git a/audio/resamplers/resampler.c b/audio/resamplers/resampler.c index 6cebb9c351..c89096c0cb 100644 --- a/audio/resamplers/resampler.c +++ b/audio/resamplers/resampler.c @@ -20,17 +20,9 @@ #include "../../config.h" #endif -#include "../../general.h" - -#if !defined(RESAMPLER_TEST) && defined(RARCH_INTERNAL) -#include "../../general.h" -#endif - static const rarch_resampler_t *resampler_drivers[] = { &sinc_resampler, -#ifdef HAVE_CC_RESAMPLER &CC_resampler, -#endif &nearest_resampler, NULL, }; @@ -44,6 +36,32 @@ static int find_resampler_driver_index(const char *driver) return -1; } +#if !defined(RESAMPLER_TEST) && defined(RARCH_INTERNAL) +#include "../../general.h" + +void find_prev_resampler_driver(void) +{ + int i = find_resampler_driver_index(g_settings.audio.resampler); + if (i > 0) + strlcpy(g_settings.audio.resampler, resampler_drivers[i - 1]->ident, + sizeof(g_settings.audio.resampler)); + else + RARCH_WARN("Couldn't find any previous resampler driver (current one: \"%s\").\n", + g_extern.audio_data.resampler->ident); +} + +void find_next_resampler_driver(void) +{ + int i = find_resampler_driver_index(g_settings.audio.resampler); + if (i >= 0 && resampler_drivers[i + 1]) + strlcpy(g_settings.audio.resampler, resampler_drivers[i + 1]->ident, + sizeof(g_settings.audio.resampler)); + else + RARCH_WARN("Couldn't find any next resampler driver (current one: \"%s\").\n", + g_extern.audio_data.resampler->ident); +} +#endif + /* Resampler is used by multiple modules so avoid * clobbering g_extern.audio_data.resampler here. */ @@ -68,34 +86,6 @@ static const rarch_resampler_t *find_resampler_driver(const char *ident) } } -#ifndef RESAMPLER_TEST -void find_prev_resampler_driver(void) -{ - int i = find_resampler_driver_index(g_settings.audio.resampler); - if (i > 0) - strlcpy(g_settings.audio.resampler, resampler_drivers[i - 1]->ident, - sizeof(g_settings.audio.resampler)); -#ifdef RARCH_INTERNAL - else - RARCH_WARN("Couldn't find any previous resampler driver (current one: \"%s\").\n", - g_extern.audio_data.resampler->ident); -#endif -} - -void find_next_resampler_driver(void) -{ - int i = find_resampler_driver_index(g_settings.audio.resampler); - if (i >= 0 && resampler_drivers[i + 1]) - strlcpy(g_settings.audio.resampler, resampler_drivers[i + 1]->ident, - sizeof(g_settings.audio.resampler)); -#ifdef RARCH_INTERNAL - else - RARCH_WARN("Couldn't find any next resampler driver (current one: \"%s\").\n", - g_extern.audio_data.resampler->ident); -#endif -} -#endif - bool rarch_resampler_realloc(void **re, const rarch_resampler_t **backend, const char *ident, double bw_ratio) { diff --git a/audio/resamplers/sinc.c b/audio/resamplers/sinc.c index 242028e7cc..bd8b53e7bc 100644 --- a/audio/resamplers/sinc.c +++ b/audio/resamplers/sinc.c @@ -16,8 +16,8 @@ /* Bog-standard windowed SINC implementation. */ #include "resampler.h" +#ifdef RARCH_INTERNAL #include "../../libretro.h" -#ifndef RARCH_INTERNAL #include "../../performance.h" #endif #include @@ -25,7 +25,9 @@ #include #include #include +#ifdef _WIN32 #include "../../msvc/msvc_compat.h" +#endif #if !defined(RESAMPLER_TEST) && defined(RARCH_INTERNAL) #include "../../general.h"