From d0fdbefbfb60994ad8d6cf3b7129dcdd556c1924 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Mon, 8 Sep 2025 21:10:30 +1000 Subject: plugin/ap: fix collector Actually read from speakers not mic --- plugin/src/Caelestia/beattracker.cpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'plugin/src/Caelestia/beattracker.cpp') diff --git a/plugin/src/Caelestia/beattracker.cpp b/plugin/src/Caelestia/beattracker.cpp index 11938d0..d82da6e 100644 --- a/plugin/src/Caelestia/beattracker.cpp +++ b/plugin/src/Caelestia/beattracker.cpp @@ -1,15 +1,16 @@ #include "beattracker.hpp" +#include "audiocollector.hpp" #include "audioprovider.hpp" #include #include namespace caelestia { -BeatProcessor::BeatProcessor(AudioProvider* provider, QObject* parent) - : AudioProcessor(provider, parent) - , m_tempo(new_aubio_tempo("default", 1024, static_cast(m_chunkSize), static_cast(m_sampleRate))) - , m_in(new_fvec(static_cast(m_chunkSize))) +BeatProcessor::BeatProcessor(QObject* parent) + : AudioProcessor(parent) + , m_tempo(new_aubio_tempo("default", 1024, m_chunkSize, m_sampleRate)) + , m_in(new_fvec(m_chunkSize)) , m_out(new_fvec(2)) {}; BeatProcessor::~BeatProcessor() { @@ -18,10 +19,8 @@ BeatProcessor::~BeatProcessor() { del_fvec(m_out); } -void BeatProcessor::processChunk(const QVector& chunk) { - std::transform(chunk.constBegin(), chunk.constEnd(), m_in->data, [](double d) { - return static_cast(d); - }); +void BeatProcessor::process() { + AudioCollector::instance()->readChunk(m_in->data, m_chunkSize); aubio_tempo_do(m_tempo, m_in, m_out); if (m_out->data[0] != 0.0f) { @@ -29,10 +28,10 @@ void BeatProcessor::processChunk(const QVector& chunk) { } } -BeatTracker::BeatTracker(int sampleRate, int chunkSize, QObject* parent) - : AudioProvider(sampleRate, chunkSize, parent) +BeatTracker::BeatTracker(QObject* parent) + : AudioProvider(parent) , m_bpm(120) { - m_processor = new BeatProcessor(this); + m_processor = new BeatProcessor(); init(); connect(static_cast(m_processor), &BeatProcessor::beat, this, &BeatTracker::updateBpm); -- cgit v1.2.3-freya