Phosphor
Qt6 / Wayland library suite for window-management tools
 
Loading...
Searching...
No Matches
IAudioSpectrumProvider.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 fuddlesworth
2// SPDX-License-Identifier: LGPL-2.1-or-later
3
4#pragma once
5
6#include <PhosphorAudio/phosphoraudio_export.h>
7
8#include <QObject>
9#include <QVector>
10
11namespace PhosphorAudio {
12
13class PHOSPHORAUDIO_EXPORT IAudioSpectrumProvider : public QObject
14{
15 Q_OBJECT
16
17public:
18 explicit IAudioSpectrumProvider(QObject* parent = nullptr)
19 : QObject(parent)
20 {
21 }
22
23 ~IAudioSpectrumProvider() override = default;
24
25 virtual bool isAvailable() const = 0;
26 virtual void start() = 0;
27 virtual void stop() = 0;
28 virtual bool isRunning() const = 0;
29
30 virtual int barCount() const = 0;
31 virtual void setBarCount(int count) = 0;
32
33 virtual int framerate() const = 0;
34 virtual void setFramerate(int fps) = 0;
35
36 virtual QVector<float> spectrum() const = 0;
37
38Q_SIGNALS:
39 void spectrumUpdated(const QVector<float>& spectrum);
40 void runningChanged(bool running);
41 void errorOccurred(const QString& message);
42};
43
44} // namespace PhosphorAudio
Definition IAudioSpectrumProvider.h:14
virtual QVector< float > spectrum() const =0
virtual int framerate() const =0
void spectrumUpdated(const QVector< float > &spectrum)
virtual void setBarCount(int count)=0
virtual bool isRunning() const =0
~IAudioSpectrumProvider() override=default
void errorOccurred(const QString &message)
virtual void setFramerate(int fps)=0
virtual bool isAvailable() const =0
IAudioSpectrumProvider(QObject *parent=nullptr)
Definition IAudioSpectrumProvider.h:18
Definition AudioDefaults.h:6