From 7681777e32a6c645c2d986f9f70f6de232ae00b1 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 28 Apr 2013 11:08:29 +0000 Subject: sid plugin: added config support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3423 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Input/sid/decoder_sid.cpp | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/plugins/Input/sid/decoder_sid.cpp b/src/plugins/Input/sid/decoder_sid.cpp index bd15965b9..e038c8e96 100644 --- a/src/plugins/Input/sid/decoder_sid.cpp +++ b/src/plugins/Input/sid/decoder_sid.cpp @@ -18,7 +18,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#include +#include +#include #include #include #include @@ -84,16 +85,34 @@ bool DecoderSID::initialize() metadata.insert(Qmmp::URL, m_url); addMetaData(metadata); - sidbuilder *rs = new ReSIDfpBuilder("ReSIDfp builder"); + //read settings + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + settings.beginGroup("SID"); + settings.value("use_hvsc", false).toBool(); + QString hvsc_default_path = QFileInfo(Qmmp::configFile()).absolutePath() + "/Songlengths.txt"; + settings.value("hvsc_path", hvsc_default_path).toString(); + + sidbuilder *rs = 0; + if(settings.value("engine", "residfp").toString() == "residfp") + { + rs = new ReSIDfpBuilder("ReSIDfp builder"); + qDebug("DecoderSID: using ReSIDfp emulation"); + } + else + { + rs = new ReSIDBuilder("ReSID builder"); + qDebug("DecoderSID: using ReSID emulation"); + } rs->create(m_player->info().maxsids()); SidConfig cfg = m_player->config(); - - cfg.frequency = 44100; - cfg.samplingMethod = SidConfig::INTERPOLATE; + cfg.frequency = settings.value("sample_rate", 44100).toInt(); + int sm = settings.value("resampling_method", SidConfig::INTERPOLATE).toInt(); + cfg.samplingMethod = (SidConfig::sampling_method_t) sm; cfg.playback = SidConfig::STEREO; cfg.sidEmulation = rs; - cfg.fastSampling = false; + cfg.fastSampling = settings.value("fast_resampling", false).toBool(); + settings.endGroup(); if(!m_player->config(cfg)) { -- cgit v1.2.3-13-gbd6f