#pragma once #ifndef NOSOUND #include #include #include "engine/sound_defs.hpp" // for DVL_AULIB_SUPPORTS_SDL_RESAMPLER #ifdef DEVILUTIONX_RESAMPLER_SPEEX #include #endif #ifdef DVL_AULIB_SUPPORTS_SDL_RESAMPLER #include #endif #include "options.h" namespace devilution { inline std::unique_ptr CreateAulibResampler(int sourceRate) { if (Aulib::sampleRate() == sourceRate) return nullptr; switch (*GetOptions().Audio.resampler) { #ifdef DEVILUTIONX_RESAMPLER_SPEEX case Resampler::Speex: return std::make_unique(*GetOptions().Audio.resamplingQuality); #endif #ifdef DVL_AULIB_SUPPORTS_SDL_RESAMPLER case Resampler::SDL: return std::make_unique(); #endif } return nullptr; } } // namespace devilution #endif // !NOSOUND