adv-audio-control.hpp 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. QPointer<QCheckBox> mixer5;
  29. QPointer<QCheckBox> mixer6;
  30. OBSSignal volChangedSignal;
  31. OBSSignal syncOffsetSignal;
  32. OBSSignal flagsSignal;
  33. OBSSignal mixersSignal;
  34. static void OBSSourceFlagsChanged(void *param, calldata_t *calldata);
  35. static void OBSSourceVolumeChanged(void *param, calldata_t *calldata);
  36. static void OBSSourceSyncChanged(void *param, calldata_t *calldata);
  37. static void OBSSourceMixersChanged(void *param, calldata_t *calldata);
  38. public:
  39. OBSAdvAudioCtrl(QGridLayout *layout, obs_source_t *source_);
  40. virtual ~OBSAdvAudioCtrl();
  41. inline obs_source_t *GetSource() const {return source;}
  42. public slots:
  43. void SourceFlagsChanged(uint32_t flags);
  44. void SourceVolumeChanged(float volume);
  45. void SourceSyncChanged(int64_t offset);
  46. void SourceMixersChanged(uint32_t mixers);
  47. void volumeChanged(int percentage);
  48. void downmixMonoChanged(bool checked);
  49. void panningChanged(int val);
  50. void syncOffsetChanged(int milliseconds);
  51. void mixer1Changed(bool checked);
  52. void mixer2Changed(bool checked);
  53. void mixer3Changed(bool checked);
  54. void mixer4Changed(bool checked);
  55. void mixer5Changed(bool checked);
  56. void mixer6Changed(bool checked);
  57. };