diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-04-28 11:08:29 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-04-28 11:08:29 +0000 |
| commit | 7681777e32a6c645c2d986f9f70f6de232ae00b1 (patch) | |
| tree | 7d79d4a60c7dc4605ffbb653748580ea9bf8a70c /src/plugins/Input/sid/decoder_sid.cpp | |
| parent | 83cfe6146a5fa7e0a310da94bc4e3c4f6370bd1c (diff) | |
| download | qmmp-7681777e32a6c645c2d986f9f70f6de232ae00b1.tar.gz qmmp-7681777e32a6c645c2d986f9f70f6de232ae00b1.tar.bz2 qmmp-7681777e32a6c645c2d986f9f70f6de232ae00b1.zip | |
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
Diffstat (limited to 'src/plugins/Input/sid/decoder_sid.cpp')
| -rw-r--r-- | src/plugins/Input/sid/decoder_sid.cpp | 31 |
1 files changed, 25 insertions, 6 deletions
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 <QFile> +#include <QFileInfo> +#include <QSettings> #include <sidplayfp/sidplayfp.h> #include <sidplayfp/SidTune.h> #include <sidplayfp/sidbuilder.h> @@ -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)) { |
