diff options
-rw-r--r-- | src/settings.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/settings.h b/src/settings.h index a1d5bd0..cb707ef 100644 --- a/src/settings.h +++ b/src/settings.h @@ -28,6 +28,8 @@ #include <atomic> #include <string> +#include <limits> + #include <cassert> #include "atomic.h" @@ -47,6 +49,13 @@ struct Settings Atomic<std::string> drumkit_file{""}; Atomic<LoadStatus> drumkit_load_status{LoadStatus::Idle}; + //! The maximum amount of memory in bytes that the AudioCache + //! is allowed to use for preloading + //! The default std::numeric_limits<std::size_t>::max() means "unlimited" + //Atomic<std::size_t> cache_upper_limit{std::numeric_limits<std::size_t>::max()}; + Atomic<std::size_t> disk_cache_upper_limit{1024*1024*1024}; + Atomic<bool> disk_cache_enable{true}; + Atomic<std::string> midimap_file{""}; Atomic<LoadStatus> midimap_load_status{LoadStatus::Idle}; @@ -72,6 +81,9 @@ struct SettingsGetter SettingRef<std::string> drumkit_file; SettingRef<LoadStatus> drumkit_load_status; + SettingRef<std::size_t> disk_cache_upper_limit; + SettingRef<bool> disk_cache_enable; + SettingRef<std::string> midimap_file; SettingRef<LoadStatus> midimap_load_status; @@ -93,6 +105,8 @@ struct SettingsGetter SettingsGetter(Settings& settings) : drumkit_file(settings.drumkit_file) , drumkit_load_status(settings.drumkit_load_status) + , disk_cache_upper_limit(settings.disk_cache_upper_limit) + , disk_cache_enable(settings.disk_cache_enable) , midimap_file(settings.midimap_file) , midimap_load_status(settings.midimap_load_status) , enable_velocity_modifier{settings.enable_velocity_modifier} @@ -116,6 +130,9 @@ public: Notifier<std::string> drumkit_file; Notifier<LoadStatus> drumkit_load_status; + Notifier<std::size_t> disk_cache_upper_limit; + Notifier<bool> disk_cache_enable; + Notifier<std::string> midimap_file; Notifier<LoadStatus> midimap_load_status; @@ -141,6 +158,9 @@ public: EVAL(drumkit_file); EVAL(drumkit_load_status); + EVAL(disk_cache_upper_limit); + EVAL(disk_cache_enable); + EVAL(midimap_file); EVAL(midimap_load_status); |