82ca17ab66
In the advanced audio properties, the last set of controls designate what tracks the audio of a specific source is applied to, but for some reason I named it 'Media Channels'. It feels a bit confusing of a name. I feel like it should really just be called 'Tracks' here for lack of a better term.
53 lines
1.6 KiB
C++
53 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <obs.hpp>
|
|
#include <QWidget>
|
|
|
|
class QLabel;
|
|
class QSpinBox;
|
|
class QCheckBox;
|
|
class QSlider;
|
|
|
|
class OBSAdvAudioCtrl : public QWidget {
|
|
Q_OBJECT
|
|
|
|
private:
|
|
OBSSource source;
|
|
QLabel *nameLabel = nullptr;
|
|
QSpinBox *volume = nullptr;
|
|
QCheckBox *forceMono = nullptr;
|
|
QSlider *panning = nullptr;
|
|
QSpinBox *syncOffset = nullptr;
|
|
QCheckBox *mixer1 = nullptr;
|
|
QCheckBox *mixer2 = nullptr;
|
|
QCheckBox *mixer3 = nullptr;
|
|
QCheckBox *mixer4 = nullptr;
|
|
|
|
OBSSignal volChangedSignal;
|
|
OBSSignal syncOffsetSignal;
|
|
OBSSignal flagsSignal;
|
|
|
|
static void OBSSourceFlagsChanged(void *param, calldata_t *calldata);
|
|
static void OBSSourceVolumeChanged(void *param, calldata_t *calldata);
|
|
static void OBSSourceSyncChanged(void *param, calldata_t *calldata);
|
|
|
|
public:
|
|
OBSAdvAudioCtrl(obs_source_t *source_);
|
|
|
|
inline obs_source_t *GetSource() const {return source;}
|
|
|
|
public slots:
|
|
void SourceFlagsChanged(uint32_t flags);
|
|
void SourceVolumeChanged(float volume);
|
|
void SourceSyncChanged(int64_t offset);
|
|
|
|
void volumeChanged(int percentage);
|
|
void downmixMonoChanged(bool checked);
|
|
void panningChanged(int val);
|
|
void syncOffsetChanged(int milliseconds);
|
|
void mixer1Changed(bool checked);
|
|
void mixer2Changed(bool checked);
|
|
void mixer3Changed(bool checked);
|
|
void mixer4Changed(bool checked);
|
|
};
|