mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-19 09:39:15 +00:00
49 lines
1.1 KiB
C++
49 lines
1.1 KiB
C++
#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);
|
|
};
|