aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/Effect/CMakeLists.txt2
-rw-r--r--src/plugins/Effect/Effect.pro2
-rw-r--r--src/plugins/Effect/bs2b/bs2bplugin.cpp26
-rw-r--r--src/plugins/Effect/bs2b/bs2bplugin.h2
4 files changed, 8 insertions, 24 deletions
diff --git a/src/plugins/Effect/CMakeLists.txt b/src/plugins/Effect/CMakeLists.txt
index a9903be42..1b5261e7c 100644
--- a/src/plugins/Effect/CMakeLists.txt
+++ b/src/plugins/Effect/CMakeLists.txt
@@ -9,7 +9,7 @@ IF(USE_SRC)
ENDIF(USE_SRC)
IF(USE_BS2B)
-#add_subdirectory(bs2b)
+add_subdirectory(bs2b)
ENDIF(USE_BS2B)
IF(USE_LADSPA)
diff --git a/src/plugins/Effect/Effect.pro b/src/plugins/Effect/Effect.pro
index a6a85998a..96e4ca13f 100644
--- a/src/plugins/Effect/Effect.pro
+++ b/src/plugins/Effect/Effect.pro
@@ -4,7 +4,7 @@ TEMPLATE = subdirs
#SUBDIRS += crossfade stereo
contains(CONFIG, BS2B_PLUGIN){
-#SUBDIRS += bs2b
+SUBDIRS += bs2b
}
unix {
diff --git a/src/plugins/Effect/bs2b/bs2bplugin.cpp b/src/plugins/Effect/bs2b/bs2bplugin.cpp
index 252f3e0ff..14c6f5db7 100644
--- a/src/plugins/Effect/bs2b/bs2bplugin.cpp
+++ b/src/plugins/Effect/bs2b/bs2bplugin.cpp
@@ -1,5 +1,5 @@
/***************************************************************************
- * Copyright (C) 2009-2014 by Ilya Kotov <forkotov02@hotmail.ru> *
+ * Copyright (C) 2009-2015 by Ilya Kotov <forkotov02@hotmail.ru> *
* Copyright (C) 2009 by Sebastian Pipping <sebastian@pipping.org> *
* *
* This program is free software; you can redistribute it and/or modify *
@@ -41,36 +41,20 @@ Bs2bPlugin::~Bs2bPlugin()
bs2b_close(m_bs2b_handler);
}
-#define CASE_BS2B(bitsPerSample, dataType, functionToCall, samples, out_data) \
- case bitsPerSample: \
- { \
- dataType * data = reinterpret_cast<dataType *>(out_data); \
- functionToCall(m_bs2b_handler, data, samples); \
- } \
- break;
-
void Bs2bPlugin::applyEffect(Buffer *b)
{
if(m_chan != 2)
return;
- uint samples = b->nbytes / audioParameters().sampleSize() / 2;
+
m_mutex.lock();
- switch (format())
- {
- CASE_BS2B(Qmmp::PCM_S8, int8_t, bs2b_cross_feed_s8, samples, b->data)
- CASE_BS2B(Qmmp::PCM_S16LE, int16_t, bs2b_cross_feed_s16le, samples, b->data)
- //CASE_BS2B(Qmmp::PCM_S24LE, bs2b_int24_t, bs2b_cross_feed_s24le, samples, out_data)
- CASE_BS2B(Qmmp::PCM_S32LE, int32_t, bs2b_cross_feed_s32le, samples, b->data)
- default:
- ; // noop
- }
+ bs2b_cross_feed_f(m_bs2b_handler, b->data, b->samples/2);
m_mutex.unlock();
}
-void Bs2bPlugin::configure(quint32 freq, ChannelMap map, Qmmp::AudioFormat format)
+void Bs2bPlugin::configure(quint32 freq, ChannelMap map)
{
m_chan = map.count();
- Effect::configure(freq, map, format);
+ Effect::configure(freq, map);
bs2b_set_srate(m_bs2b_handler,freq);
}
diff --git a/src/plugins/Effect/bs2b/bs2bplugin.h b/src/plugins/Effect/bs2b/bs2bplugin.h
index 8bb30f6b4..9cdfb322e 100644
--- a/src/plugins/Effect/bs2b/bs2bplugin.h
+++ b/src/plugins/Effect/bs2b/bs2bplugin.h
@@ -36,7 +36,7 @@ public:
virtual ~Bs2bPlugin();
void applyEffect(Buffer *b);
- void configure(quint32 freq, ChannelMap map, Qmmp::AudioFormat format);
+ void configure(quint32 freq, ChannelMap map);
void setCrossfeedLevel(uint32_t level);
static Bs2bPlugin* instance();