Sayonara Player
AudioDataProvider.h
1#ifndef AUDIODATAPROVIDER_H
2#define AUDIODATAPROVIDER_H
3
4#include <QObject>
5#include <QList>
6
7#include "Utils/Pimpl.h"
8#include <gst/gst.h>
9
10class AudioDataProvider : public QObject
11{
12 Q_OBJECT
14
15signals:
16 void sigSpectrumDataAvailable(const QList<float>& spectrum, MilliSeconds percent);
17 void sigFinished();
18 void sigStarted();
19
20public:
21 explicit AudioDataProvider(QObject* parent = nullptr);
22 ~AudioDataProvider() override;
23
24 void setSpectrum(const QList<float>& spectrum, NanoSeconds clock_time);
25 GstElement* getAudioconverter() const;
26
27 void start(const QString& filename);
28 void stop();
29
30 uint binCount() const;
31 void setBinCount(uint num_bins);
32
33 MilliSeconds intervalMs() const;
34 void setIntervalMs(MilliSeconds ms);
35
36 int threshold() const;
37 void setThreshold(int threshold);
38
39 void setSamplerate(uint samplerate);
40 uint samplerate() const;
41
42 float frequency(int bin);
43
44 bool isRunning() const;
45 void setRunning(bool b);
46
47 bool isFinished(const QString& filename) const;
48 void setFinished(bool b);
49};
50
51#endif // AUDIODATAPROVIDER_H
Definition: AudioDataProvider.h:11
Definition: EngineUtils.h:33