Modify mixer to use the new pipewire audiomixer binding
[apps/mixer.git] / app / audiorole.hpp
1 #ifndef AUDIOROLE_H
2 #define AUDIOROLE_H
3
4 #include <QObject>
5
6 class AudioRole
7         : public QObject
8 {
9         Q_OBJECT
10         Q_PROPERTY(QString name READ Name WRITE setName NOTIFY NameChanged)
11         Q_PROPERTY(int value READ Value WRITE setValue NOTIFY ValueChanged)
12
13 private:
14         QString m_Name;
15         int m_Value;
16         int m_Updating;
17
18 public:
19         explicit AudioRole(QObject* parent = nullptr);
20         explicit AudioRole(const QString& name, int value, QObject* parent = nullptr);
21
22         QString Name() const;
23         void setName(const QString& name);
24
25         int Value() const;
26         void setValue(int value);
27
28         void BeginUpdate();
29         bool EndUpdate();
30
31 signals:
32         void NameChanged();
33         void ValueChanged();
34
35 public slots:
36 };
37
38 #endif // AUDIOROLE_H