Files
z-bar-qt/Plugins/ZShell/Services/audioprovider.hpp
T
2026-06-04 22:57:45 +02:00

48 lines
669 B
C++

#pragma once
#include "service.hpp"
#include <qqmlintegration.h>
#include <qtimer.h>
namespace ZShell::Services {
class AudioProcessor : public QObject {
Q_OBJECT
public:
explicit AudioProcessor(QObject* parent = nullptr);
~AudioProcessor() override;
void init();
void start();
void stop();
protected:
virtual void process() = 0;
private:
QTimer* m_timer;
};
class AudioProvider : public Service {
Q_OBJECT
public:
explicit AudioProvider(QObject* parent = nullptr);
~AudioProvider() override;
protected:
AudioProcessor* m_processor;
void init();
private:
QThread* m_thread;
void start() override;
void stop() override;
};
} // namespace ZShell::services