xbmc
ActiveAESettings.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "settings/lib/ISettingCallback.h"
12 #include "threads/CriticalSection.h"
13 
14 #include <atomic>
15 #include <memory>
16 #include <string>
17 #include <vector>
18 
19 class CSetting;
20 class CAEStreamInfo;
22 struct StringSettingOption;
23 
24 namespace ActiveAE
25 {
26 class CActiveAE;
27 
29 {
30 public:
32  ~CActiveAESettings() override;
33 
34  void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
35 
36  static void SettingOptionsAudioDevicesFiller(const std::shared_ptr<const CSetting>& setting,
37  std::vector<StringSettingOption>& list,
38  std::string& current,
39  void* data);
40  static void SettingOptionsAudioDevicesPassthroughFiller(
41  const std::shared_ptr<const CSetting>& setting,
42  std::vector<StringSettingOption>& list,
43  std::string& current,
44  void* data);
45  static void SettingOptionsAudioQualityLevelsFiller(const std::shared_ptr<const CSetting>& setting,
46  std::vector<IntegerSettingOption>& list,
47  int& current,
48  void* data);
49  static void SettingOptionsAudioStreamsilenceFiller(const std::shared_ptr<const CSetting>& setting,
50  std::vector<IntegerSettingOption>& list,
51  int& current,
52  void* data);
53  static bool IsSettingVisible(const std::string& condition,
54  const std::string& value,
55  const std::shared_ptr<const CSetting>& setting,
56  void* data);
57 
58 protected:
59  static void SettingOptionsAudioDevicesFillerGeneral(
60  const std::shared_ptr<const CSetting>& setting,
61  std::vector<StringSettingOption>& list,
62  std::string& current,
63  bool passthrough);
64 
65  CActiveAE &m_audioEngine;
66  CCriticalSection m_cs;
67  static CActiveAESettings* m_instance;
68 };
69 };
void OnSettingChanged(const std::shared_ptr< const CSetting > &setting) override
The value of the given setting has changed.
Definition: ActiveAESettings.cpp:78
Definition: AEStreamInfo.h:22
Definition: ISettingCallback.h:16
Setting base class containing all the properties which are common to all settings independent of the ...
Definition: Setting.h:46
Definition: Application.h:69
Definition: SettingDefinitions.h:85
Definition: SettingDefinitions.h:66
Definition: ActiveAESettings.h:28
Definition: ActiveAE.h:228