1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#pragma once
#include <obs.hpp>
#include <QDialog>
#include <vector>
#include <memory>
class OBSAdvAudioCtrl;
class Ui_OBSAdvAudio;
// "Basic advanced audio"? ...
class OBSBasicAdvAudio : public QDialog {
Q_OBJECT
private:
OBSSignal sourceAddedSignal;
OBSSignal sourceRemovedSignal;
OBSSignal sourceActivatedSignal;
OBSSignal sourceDeactivatedSignal;
bool showInactive;
bool showVisible;
std::vector<OBSAdvAudioCtrl *> controls;
inline void AddAudioSource(obs_source_t *source);
static bool EnumSources(void *param, obs_source_t *source);
static void OBSSourceAdded(void *param, calldata_t *calldata);
static void OBSSourceRemoved(void *param, calldata_t *calldata);
static void OBSSourceActivated(void *param, calldata_t *calldata);
std::unique_ptr<Ui_OBSAdvAudio> ui;
public slots:
void SourceAdded(OBSSource source);
void SourceRemoved(OBSSource source);
void on_usePercent_toggled(bool checked);
void on_activeOnly_toggled(bool checked);
public:
OBSBasicAdvAudio(QWidget *parent);
~OBSBasicAdvAudio();
void SetShowInactive(bool showInactive);
void SetIconsVisible(bool visible);
};
|