1
0

OBSBasicAdvAudio.hpp 985 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include <obs.hpp>
  3. #include <QDialog>
  4. class OBSAdvAudioCtrl;
  5. class Ui_OBSAdvAudio;
  6. // "Basic advanced audio"? ...
  7. class OBSBasicAdvAudio : public QDialog {
  8. Q_OBJECT
  9. private:
  10. std::vector<OBSSignal> sigs;
  11. bool showInactive;
  12. bool showVisible;
  13. std::vector<OBSAdvAudioCtrl *> controls;
  14. inline void AddAudioSource(obs_source_t *source);
  15. static bool EnumSources(void *param, obs_source_t *source);
  16. static void OBSSourceAdded(void *param, calldata_t *calldata);
  17. static void OBSSourceRemoved(void *param, calldata_t *calldata);
  18. static void OBSSourceActivated(void *param, calldata_t *calldata);
  19. std::unique_ptr<Ui_OBSAdvAudio> ui;
  20. public slots:
  21. void SourceAdded(OBSSource source);
  22. void SourceRemoved(OBSSource source);
  23. void on_usePercent_toggled(bool checked);
  24. void on_activeOnly_toggled(bool checked);
  25. public:
  26. OBSBasicAdvAudio(QWidget *parent);
  27. ~OBSBasicAdvAudio();
  28. void SetShowInactive(bool showInactive);
  29. void SetIconsVisible(bool visible);
  30. };