configure_audio.h 963 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright 2018 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include <QWidget>
  7. namespace Core {
  8. class System;
  9. }
  10. namespace ConfigurationShared {
  11. enum class CheckState;
  12. }
  13. namespace Ui {
  14. class ConfigureAudio;
  15. }
  16. class ConfigureAudio : public QWidget {
  17. Q_OBJECT
  18. public:
  19. explicit ConfigureAudio(const Core::System& system_, QWidget* parent = nullptr);
  20. ~ConfigureAudio() override;
  21. void ApplyConfiguration();
  22. void SetConfiguration();
  23. private:
  24. void changeEvent(QEvent* event) override;
  25. void InitializeAudioOutputSinkComboBox();
  26. void RetranslateUI();
  27. void UpdateAudioDevices(int sink_index);
  28. void SetOutputSinkFromSinkID();
  29. void SetAudioDeviceFromDeviceID();
  30. void SetVolumeIndicatorText(int percentage);
  31. void SetupPerGameUI();
  32. std::unique_ptr<Ui::ConfigureAudio> ui;
  33. const Core::System& system;
  34. };