summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/cavaprovider.cpp
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-08 21:10:30 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-09-08 21:10:30 +1000
commitd0fdbefbfb60994ad8d6cf3b7129dcdd556c1924 (patch)
tree5319ea868c554d470ab3c74d7ba4a28442fbeaff /plugin/src/Caelestia/cavaprovider.cpp
parentdev: export cmake compile commands (diff)
downloadcaelestia-shell-d0fdbefbfb60994ad8d6cf3b7129dcdd556c1924.tar.gz
caelestia-shell-d0fdbefbfb60994ad8d6cf3b7129dcdd556c1924.tar.bz2
caelestia-shell-d0fdbefbfb60994ad8d6cf3b7129dcdd556c1924.zip
plugin/ap: fix collector
Actually read from speakers not mic
Diffstat (limited to 'plugin/src/Caelestia/cavaprovider.cpp')
-rw-r--r--plugin/src/Caelestia/cavaprovider.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/plugin/src/Caelestia/cavaprovider.cpp b/plugin/src/Caelestia/cavaprovider.cpp
index 8841ded..024c75d 100644
--- a/plugin/src/Caelestia/cavaprovider.cpp
+++ b/plugin/src/Caelestia/cavaprovider.cpp
@@ -1,5 +1,6 @@
#include "cavaprovider.hpp"
+#include "audiocollector.hpp"
#include "audioprovider.hpp"
#include <QDebug>
#include <QObject>
@@ -9,8 +10,8 @@
namespace caelestia {
-CavaProcessor::CavaProcessor(AudioProvider* provider, QObject* parent)
- : AudioProcessor(provider, parent)
+CavaProcessor::CavaProcessor(QObject* parent)
+ : AudioProcessor(parent)
, m_plan(nullptr)
, m_in(new double[static_cast<size_t>(m_chunkSize)])
, m_out(nullptr)
@@ -68,15 +69,15 @@ void CavaProcessor::initCava() {
m_out = new double[static_cast<size_t>(m_bars)];
}
-void CavaProcessor::processChunk(const QVector<double>& chunk) {
+void CavaProcessor::process() {
if (!m_plan || m_bars == 0) {
return;
}
- std::copy(chunk.constBegin(), chunk.constEnd(), m_in);
+ const int count = static_cast<int>(AudioCollector::instance()->readChunk(m_in));
// Process in data via cava
- cava_execute(m_in, m_chunkSize, m_out, m_plan);
+ cava_execute(m_in, count, m_out, m_plan);
// Apply monstercat filter
for (int i = 0; i < m_bars; i++) {
@@ -97,11 +98,11 @@ void CavaProcessor::processChunk(const QVector<double>& chunk) {
}
}
-CavaProvider::CavaProvider(int sampleRate, int chunkSize, QObject* parent)
- : AudioProvider(sampleRate, chunkSize, parent)
+CavaProvider::CavaProvider(QObject* parent)
+ : AudioProvider(parent)
, m_bars(0)
, m_values(m_bars) {
- m_processor = new CavaProcessor(this);
+ m_processor = new CavaProcessor();
init();
connect(static_cast<CavaProcessor*>(m_processor), &CavaProcessor::valuesChanged, this, &CavaProvider::updateValues);