libAlgAudio  v1.99-440-g08538e5-dirty
The development library for AlgAudio framework.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Config.hpp
Go to the documentation of this file.
1 #ifndef CONFIG_HPP
2 #define CONFIG_HPP
3 /*
4 This file is part of AlgAudio.
5 
6 AlgAudio, Copyright (C) 2015 CeTA - Audiovisual Technology Center
7 
8 AlgAudio is free software: you can redistribute it and/or modify
9 it under the terms of the GNU Lesser General Public License as
10 published by the Free Software Foundation, either version 3 of the
11 License, or (at your option) any later version.
12 
13 AlgAudio is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU Lesser General Public License for more details.
17 
18 You should have received a copy of the GNU Lesser General Public License
19 along with AlgAudio. If not, see <http://www.gnu.org/licenses/>.
20 */
21 
22 #include <string>
23 #include <memory>
24 
25 namespace AlgAudio{
26 
31 class Config{
32 public:
37  bool use_sc;
40  bool supernova;
43  bool debug;
45  bool debug_osc;
47  std::string path_to_sclang;
51 
54 
57 
58  Config(const Config& other) = default;
59 
65  static const Config& Global();
66  static Config& GlobalWriteable();
67  static Config Default();
68 
69  // TODO: Store/load to/from file
70 
71 private:
72  Config() {};
73  static std::unique_ptr<Config> global;
74 };
75 
76 } // namespace AlgAudio
77 
78 #endif // CONFIG_HPP
bool debug_osc
Definition: Config.hpp:45
std::string path_to_sclang
Definition: Config.hpp:47
bool debug
Definition: Config.hpp:43
int sample_rate
Definition: Config.hpp:55
bool use_sc
Definition: Config.hpp:37
static Config Default()
bool supernova
Definition: Config.hpp:40
int output_channels
Definition: Config.hpp:53
Definition: Config.hpp:31
static Config & GlobalWriteable()
int block_size
Definition: Config.hpp:56
int input_channels
Definition: Config.hpp:52
Definition: Alertable.hpp:26
static const Config & Global()
std::string scsynth_audio_driver_name
Definition: Config.hpp:50