summaryrefslogtreecommitdiff
path: root/plugin/src/Caelestia/beattracker.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/src/Caelestia/beattracker.hpp')
-rw-r--r--plugin/src/Caelestia/beattracker.hpp16
1 files changed, 4 insertions, 12 deletions
diff --git a/plugin/src/Caelestia/beattracker.hpp b/plugin/src/Caelestia/beattracker.hpp
index 7c7fada..b4cb559 100644
--- a/plugin/src/Caelestia/beattracker.hpp
+++ b/plugin/src/Caelestia/beattracker.hpp
@@ -1,15 +1,13 @@
#pragma once
-#include "service.hpp"
-#include <QAudioSource>
-#include <QIODevice>
+#include "audioprovider.hpp"
#include <QObject>
#include <aubio/aubio.h>
#include <qqmlintegration.h>
namespace caelestia {
-class BeatTracker : public Service {
+class BeatTracker : public AudioProvider {
Q_OBJECT
QML_ELEMENT
QML_SINGLETON
@@ -27,20 +25,14 @@ signals:
void beat(smpl_t bpm);
private:
- QAudioSource* m_source;
- QIODevice* m_device;
-
aubio_tempo_t* m_tempo;
fvec_t* m_in;
fvec_t* m_out;
- uint_t m_hopSize;
smpl_t m_bpm;
- void start() override;
- void stop() override;
- void process();
- void handleStateChanged(QtAudio::State state) const;
+ void processData() override;
+ void consumeData() override;
};
} // namespace caelestia