adv-audio-control.hpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #pragma once
  2. #include <obs.hpp>
  3. #include <QWidget>
  4. #include <QPointer>
  5. class QGridLayout;
  6. class QLabel;
  7. class QSpinBox;
  8. class QCheckBox;
  9. class QSlider;
  10. class OBSAdvAudioCtrl : public QObject {
  11. Q_OBJECT
  12. private:
  13. OBSSource source;
  14. QPointer<QWidget> forceMonoContainer;
  15. QPointer<QWidget> mixerContainer;
  16. QPointer<QWidget> panningContainer;
  17. QPointer<QLabel> nameLabel;
  18. QPointer<QSpinBox> volume;
  19. QPointer<QCheckBox> forceMono;
  20. QPointer<QSlider> panning;
  21. QPointer<QLabel> labelL;
  22. QPointer<QLabel> labelR;
  23. QPointer<QSpinBox> syncOffset;
  24. QPointer<QCheckBox> mixer1;
  25. QPointer<QCheckBox> mixer2;
  26. QPointer<QCheckBox> mixer3;
  27. QPointer<QCheckBox> mixer4;
  28. OBSSignal volChangedSignal;
  29. OBSSignal syncOffsetSignal;
  30. OBSSignal flagsSignal;
  31. OBSSignal mixersSignal;
  32. static void OBSSourceFlagsChanged(void *param, calldata_t *calldata);
  33. static void OBSSourceVolumeChanged(void *param, calldata_t *calldata);
  34. static void OBSSourceSyncChanged(void *param, calldata_t *calldata);
  35. static void OBSSourceMixersChanged(void *param, calldata_t *calldata);
  36. public:
  37. OBSAdvAudioCtrl(QGridLayout *layout, obs_source_t *source_);
  38. virtual ~OBSAdvAudioCtrl();
  39. inline obs_source_t *GetSource() const {return source;}
  40. public slots:
  41. void SourceFlagsChanged(uint32_t flags);
  42. void SourceVolumeChanged(float volume);
  43. void SourceSyncChanged(int64_t offset);
  44. void SourceMixersChanged(uint32_t mixers);
  45. void volumeChanged(int percentage);
  46. void downmixMonoChanged(bool checked);
  47. void panningChanged(int val);
  48. void syncOffsetChanged(int milliseconds);
  49. void mixer1Changed(bool checked);
  50. void mixer2Changed(bool checked);
  51. void mixer3Changed(bool checked);
  52. void mixer4Changed(bool checked);
  53. };