|
Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
|
Audio plugin handling. More...

Data Structures | |
| struct | zrythm::plugins::PluginGtkController |
| Widget for a control. More... | |
| struct | zrythm::plugins::PluginGtkPresetRecord |
| struct | zrythm::plugins::CarlaPatchbayPortInfo |
| class | zrythm::plugins::CarlaNativePlugin |
Enumerations | |
| enum class | zrythm::plugins::CarlaPluginType { CARLA_PLUGIN_NONE , CARLA_PLUGIN_RACK , CARLA_PLUGIN_PATCHBAY , CARLA_PLUGIN_PATCHBAY16 , CARLA_PLUGIN_PATCHBAY32 , CARLA_PLUGIN_PATCHBAY64 } |
| The type of the Carla plugin. More... | |
Functions | |
| void | zrythm::plugins::plugin_gtk_create_window (Plugin *plugin) |
| Creates a new GtkWindow that will be used to either wrap plugin UIs or create generic UIs in. | |
| void | zrythm::plugins::plugin_gtk_open_generic_ui (Plugin *plugin, bool fire_events) |
| Opens the generic UI of the plugin. | |
| ATTR_NONNULL int | zrythm::plugins::plugin_gtk_update_plugin_ui (Plugin *pl) |
| Called on each GUI frame to update the GTK UI. | |
| int | zrythm::plugins::plugin_gtk_close_ui (Plugin *plugin) |
| Closes the plugin's UI (either LV2 wrapped with suil, generic or LV2 external). | |
| void | zrythm::plugins::plugin_gtk_set_window_title (Plugin *plugin, GtkWindow *window) |
| void | zrythm::plugins::plugin_gtk_add_control_row (GtkWidget *table, int row, const char *name, PluginGtkController *controller) |
| void | zrythm::plugins::plugin_gtk_on_save_preset_activate (GtkWidget *widget, Plugin *plugin) |
| gint | zrythm::plugins::plugin_gtk_menu_cmp (gconstpointer a, gconstpointer b, gpointer data) |
| bool | zrythm::plugins::plugin_gtk_setup_plugin_banks_combo_box (GtkComboBoxText *cb, Plugin *plugin) |
| Sets up the combo box with all the banks the plugin has. | |
| bool | zrythm::plugins::plugin_gtk_setup_plugin_presets_list_box (GtkListBox *box, Plugin *plugin) |
| Sets up the combo box with all the presets the plugin has in the given bank, or all the presets if NULL is given. | |
| GtkWidget * | zrythm::plugins::plugin_gtk_new_label (const char *text, bool title, bool preformatted, float xalign, float yalign) |
| Creates a label for a control. | |
| void | zrythm::plugins::plugin_gtk_generic_set_widget_value (Plugin *pl, PluginGtkController *controller, float control) |
| Called when a property changed or when there is a UI port event to set (update) the widget's value. | |
| zrythm::plugins::CarlaPatchbayPortInfo::CarlaPatchbayPortInfo (unsigned int _plugin_id, unsigned int _port_hints, unsigned int _port_id, std::string _port_name) | |
| zrythm::plugins::CarlaNativePlugin::CarlaNativePlugin (ProcessorBaseDependencies dependencies) | |
| Creates/initializes a plugin using the given setting. | |
| zrythm::plugins::CarlaNativePlugin::~CarlaNativePlugin () override | |
| Deactivates, cleanups and frees the instance. | |
| void | zrythm::plugins::CarlaNativePlugin::save_state (bool is_backup, std::optional< fs::path > abs_state_dir) override |
| void | zrythm::plugins::CarlaNativePlugin::load_state (std::optional< fs::path > abs_path) |
| Loads the state from the given file or from its state file. | |
| void | zrythm::plugins::CarlaNativePlugin::update_buffer_size_and_sample_rate () |
| void | zrythm::plugins::CarlaNativePlugin::open_custom_ui (bool show) override |
| Shows or hides the UI. | |
| dsp::ProcessorParameter * | zrythm::plugins::CarlaNativePlugin::get_param_from_param_id (uint32_t id) |
| Returns the plugin Port corresponding to the given parameter. | |
| dsp::MidiPort * | zrythm::plugins::CarlaNativePlugin::get_midi_out_port () |
| Returns the MIDI out port. | |
| float | zrythm::plugins::CarlaNativePlugin::get_param_value (uint32_t id) |
| void | zrythm::plugins::CarlaNativePlugin::set_param_value (uint32_t id, float val) |
| Called from port_set_control_value() to send the value to carla. | |
| void | zrythm::plugins::CarlaNativePlugin::close () override |
| static bool | zrythm::plugins::CarlaNativePlugin::has_custom_ui (const PluginDescriptor &descr) |
| nframes_t | zrythm::plugins::CarlaNativePlugin::get_single_playback_latency () const override |
| Returns the latency in samples. | |
| bool | zrythm::plugins::CarlaNativePlugin::add_internal_plugin_from_descr (const PluginDescriptor &descr) |
| Adds the internal plugin from the given descriptor. | |
Friends | |
| void | zrythm::plugins::CarlaNativePlugin::init_from (CarlaNativePlugin &obj, const CarlaNativePlugin &other, utils::ObjectCloneType clone_type) |
| void | zrythm::plugins::CarlaNativePlugin::to_json (nlohmann::json &j, const CarlaNativePlugin &plugin) |
| void | zrythm::plugins::CarlaNativePlugin::from_json (const nlohmann::json &j, CarlaNativePlugin &plugin) |
Audio plugin handling.
|
strong |
The type of the Carla plugin.
Definition at line 35 of file carla_native_plugin.h.
| bool zrythm::plugins::CarlaNativePlugin::add_internal_plugin_from_descr | ( | const PluginDescriptor & | descr | ) |
Adds the internal plugin from the given descriptor.
| descr |
| zrythm::plugins::CarlaNativePlugin::CarlaNativePlugin | ( | ProcessorBaseDependencies | dependencies | ) |
Creates/initializes a plugin using the given setting.
| ZrythmException | If the plugin could not be created. |
|
inline |
Definition at line 48 of file carla_native_plugin.h.
|
overridevirtual |
Returns the latency in samples.
Reimplemented from zrythm::dsp::graph::IProcessable.
|
virtual |
Loads the state from the given file or from its state file.
| ZrythmException | if failed to load state. |
Implements zrythm::plugins::Plugin.
| GtkWidget * zrythm::plugins::plugin_gtk_new_label | ( | const char * | text, |
| bool | title, | ||
| bool | preformatted, | ||
| float | xalign, | ||
| float | yalign ) |
Creates a label for a control.
TODO move to ui.
| title | Whether this is a title text (makes it bold). |
| preformatted | Whether the text is preformatted. |
| void zrythm::plugins::plugin_gtk_open_generic_ui | ( | Plugin * | plugin, |
| bool | fire_events ) |
Opens the generic UI of the plugin.
Assumes plugin_gtk_create_window() has been called.
| bool zrythm::plugins::plugin_gtk_setup_plugin_banks_combo_box | ( | GtkComboBoxText * | cb, |
| Plugin * | plugin ) |
Sets up the combo box with all the banks the plugin has.
| bool zrythm::plugins::plugin_gtk_setup_plugin_presets_list_box | ( | GtkListBox * | box, |
| Plugin * | plugin ) |
Sets up the combo box with all the presets the plugin has in the given bank, or all the presets if NULL is given.
| ATTR_NONNULL int zrythm::plugins::plugin_gtk_update_plugin_ui | ( | Plugin * | pl | ) |
Called on each GUI frame to update the GTK UI.
| void zrythm::plugins::CarlaNativePlugin::set_param_value | ( | uint32_t | id, |
| float | val ) |
Called from port_set_control_value() to send the value to carla.
| val | Real value (ie, not normalized). |
| unsigned int zrythm::plugins::CarlaNativePlugin::audio_input_port_id_ = 0 |
Port ID of first audio input (for connecting inside patchbay).
Definition at line 210 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::audio_output_port_id_ = 0 |
Port ID of first audio output (for connecting inside patchbay).
Definition at line 212 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::carla_plugin_id_ = 0 |
Plugin ID inside carla engine.
Definition at line 201 of file carla_native_plugin.h.
|
constexpr |
Definition at line 30 of file carla_native_plugin.h.
| GtkWidget* zrythm::plugins::PluginGtkController::control |
Definition at line 33 of file plugin_gtk.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::cv_input_port_id_ = 0 |
Port ID of first cv input (for connecting inside patchbay).
Definition at line 215 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::cv_output_port_id_ = 0 |
Port ID of first cv output (for connecting inside patchbay).
Definition at line 217 of file carla_native_plugin.h.
| std::vector<const float *> zrythm::plugins::CarlaNativePlugin::inbufs_ |
Definition at line 248 of file carla_native_plugin.h.
| float zrythm::plugins::PluginGtkController::last_set_control_val |
Last set control value - used to avoid re-setting the same value on float controls.
Definition at line 43 of file plugin_gtk.h.
| bool zrythm::plugins::CarlaNativePlugin::loading_state_ = false |
Flag.
Definition at line 207 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::max_variant_audio_ins_ = 0 |
Definition at line 251 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::max_variant_audio_outs_ = 0 |
Definition at line 252 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::max_variant_cv_ins_ = 0 |
Definition at line 253 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::max_variant_cv_outs_ = 0 |
Definition at line 254 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::max_variant_midi_ins_ = 0 |
Definition at line 255 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::max_variant_midi_outs_ = 0 |
Definition at line 256 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::midi_input_port_id_ = 0 |
Port ID of first midi input (for connecting inside patchbay).
Definition at line 220 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaNativePlugin::midi_output_port_id_ = 0 |
Port ID of first midi output (for connecting inside patchbay).
Definition at line 222 of file carla_native_plugin.h.
| std::vector<float *> zrythm::plugins::CarlaNativePlugin::outbufs_ |
Definition at line 249 of file carla_native_plugin.h.
| std::vector<CarlaPatchbayPortInfo> zrythm::plugins::CarlaNativePlugin::patchbay_port_info_ |
Used when connecting Carla's internal plugin to patchbay ports.
Definition at line 225 of file carla_native_plugin.h.
| Plugin* zrythm::plugins::PluginGtkController::plugin |
Pointer back to plugin.
Definition at line 39 of file plugin_gtk.h.
| Plugin* zrythm::plugins::PluginGtkPresetRecord::plugin |
Definition at line 48 of file plugin_gtk.h.
| unsigned int zrythm::plugins::CarlaPatchbayPortInfo::plugin_id = 0 |
Definition at line 57 of file carla_native_plugin.h.
| ControlPort* zrythm::plugins::PluginGtkController::port |
Port this control is for.
Definition at line 36 of file plugin_gtk.h.
| unsigned int zrythm::plugins::CarlaPatchbayPortInfo::port_hints = 0 |
Definition at line 58 of file carla_native_plugin.h.
| unsigned int zrythm::plugins::CarlaPatchbayPortInfo::port_id = 0 |
Definition at line 59 of file carla_native_plugin.h.
| std::string zrythm::plugins::CarlaPatchbayPortInfo::port_name |
Definition at line 60 of file carla_native_plugin.h.
| bool zrythm::plugins::CarlaNativePlugin::ports_created_ = false |
Whether ports are already created or not.
Definition at line 204 of file carla_native_plugin.h.
| void* zrythm::plugins::PluginGtkPresetRecord::preset |
This will be a LilvNode * for LV2 and an absolute path for carla.
Definition at line 52 of file plugin_gtk.h.
| GtkSpinButton* zrythm::plugins::PluginGtkController::spin |
Definition at line 32 of file plugin_gtk.h.
| std::vector<std::vector<float> > zrythm::plugins::CarlaNativePlugin::zero_inbufs_ |
Idle callback for the plugin UI.
do not use tick callback: falktx: I am doing some checks on ildaeil/carla, and see there is a nice way without conflicts to avoid the GL context issues. it came from cardinal, where I cannot draw plugin UIs in the same function as the main stuff, because it is in between other opengl calls (before and after). the solution I found was to have a dedicated idle timer, and handle the plugin UI stuff there, outside of the main application draw function Used during processing.
Must be resized on buffer size change.
Definition at line 246 of file carla_native_plugin.h.
| std::vector<std::vector<float> > zrythm::plugins::CarlaNativePlugin::zero_outbufs_ |
Definition at line 247 of file carla_native_plugin.h.
|
friend |
Definition at line 152 of file carla_native_plugin.h.
|
friend |
Definition at line 148 of file carla_native_plugin.h.