6#include "zrythm-config.h"
10#include "plugins/plugin_configuration.h"
12#include <boost/describe.hpp>
14namespace zrythm::gui::old_dsp::plugins
19using namespace zrythm;
40 std::unique_ptr<PluginConfiguration>
47 static std::unique_ptr<PluginConfigurationManager>
read_or_new ();
68 z_warning (e.what ());
72 int get_format_major_version ()
const {
return 7; }
73 int get_format_minor_version ()
const {
return 0; }
74 std::string get_document_type ()
const
76 return "PluginConfigurationCollection";
93 void set (
const PluginConfiguration &setting,
bool serialize);
113 const PluginConfiguration &config,
114 bool autoroute_multiout,
115 bool has_stereo_outputs);
124 static constexpr auto kSettingsKey =
"settings"sv;
127 j[kSettingsKey] = p.settings_;
131 j.at (kSettingsKey).get_to (p.settings_);
134 static fs::path get_file_path ();
141 static void delete_file ();
145 std::vector<std::unique_ptr<PluginConfiguration>> settings_;
148 using NumInstantiations = int;
152 using LastInstantiatedTimeAsMSecsSinceEpoch = std::int64_t;
159 plugins::PluginDescriptor,
160 std::pair<NumInstantiations, LastInstantiatedTimeAsMSecsSinceEpoch>>
void serialize_to_file_no_throw()
Wrapper over serialize_to_file that ignores exceptions.
static std::unique_ptr< PluginConfigurationManager > read_or_new()
Reads the file and fills up the object, or creates an empty object if the file could not be read.
PluginConfiguration * find(const zrythm::plugins::PluginDescriptor &descr)
Finds a setting for the given plugin descriptor.
std::unique_ptr< PluginConfiguration > create_configuration_for_descriptor(const plugins::PluginDescriptor &descr)
Creates a configuration for the given descriptor based on an existing configuration if it exists,...
void increment_num_instantiations_for_plugin(const plugins::PluginDescriptor &descr)
void set(const PluginConfiguration &setting, bool serialize)
Replaces a setting or appends a setting to the cache.
void activate_plugin_configuration(const PluginConfiguration &config, bool autoroute_multiout, bool has_stereo_outputs)
Creates necessary tracks at the end of the tracklist.
void activate_plugin_configuration_async(const PluginConfiguration &config)
Asks the user a few things via dialogs then calls activate_plugin_configuration().
void serialize_to_file()
Serializes the current settings.
Configuration for instantiating a plugin descriptor.
The PluginDescriptor class provides a set of static utility functions and member functions to work wi...
Base class for exceptions in Zrythm.