Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
plugin_descriptor.h File Reference

Base plugin. More...

#include "zrythm-config.h"
#include "utils/types.h"
#include <gio/gio.h>
#include <glib/gi18n.h>
#include <CarlaBackend.h>
Include dependency graph for plugin_descriptor.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  PluginDescriptor
 

Macros

#define PLUGIN_DESCRIPTOR_SCHEMA_VERSION   1
 

Enumerations

enum  ZPluginCategory {
  Z_PLUGIN_CATEGORY_NONE , Z_PLUGIN_CATEGORY_DELAY , Z_PLUGIN_CATEGORY_REVERB , Z_PLUGIN_CATEGORY_DISTORTION ,
  Z_PLUGIN_CATEGORY_WAVESHAPER , Z_PLUGIN_CATEGORY_DYNAMICS , Z_PLUGIN_CATEGORY_AMPLIFIER , Z_PLUGIN_CATEGORY_COMPRESSOR ,
  Z_PLUGIN_CATEGORY_ENVELOPE , Z_PLUGIN_CATEGORY_EXPANDER , Z_PLUGIN_CATEGORY_GATE , Z_PLUGIN_CATEGORY_LIMITER ,
  Z_PLUGIN_CATEGORY_FILTER , Z_PLUGIN_CATEGORY_ALLPASS_FILTER , Z_PLUGIN_CATEGORY_BANDPASS_FILTER , Z_PLUGIN_CATEGORY_COMB_FILTER ,
  Z_PLUGIN_CATEGORY_EQ , Z_PLUGIN_CATEGORY_MULTI_EQ , Z_PLUGIN_CATEGORY_PARA_EQ , Z_PLUGIN_CATEGORY_HIGHPASS_FILTER ,
  Z_PLUGIN_CATEGORY_LOWPASS_FILTER , Z_PLUGIN_CATEGORY_GENERATOR , Z_PLUGIN_CATEGORY_CONSTANT , Z_PLUGIN_CATEGORY_INSTRUMENT ,
  Z_PLUGIN_CATEGORY_OSCILLATOR , Z_PLUGIN_CATEGORY_MIDI , Z_PLUGIN_CATEGORY_MODULATOR , Z_PLUGIN_CATEGORY_CHORUS ,
  Z_PLUGIN_CATEGORY_FLANGER , Z_PLUGIN_CATEGORY_PHASER , Z_PLUGIN_CATEGORY_SIMULATOR , Z_PLUGIN_CATEGORY_SIMULATOR_REVERB ,
  Z_PLUGIN_CATEGORY_SPATIAL , Z_PLUGIN_CATEGORY_SPECTRAL , Z_PLUGIN_CATEGORY_PITCH , Z_PLUGIN_CATEGORY_UTILITY ,
  Z_PLUGIN_CATEGORY_ANALYZER , Z_PLUGIN_CATEGORY_CONVERTER , Z_PLUGIN_CATEGORY_FUNCTION , Z_PLUGIN_CATEGORY_MIXER
}
 Plugin category. More...
 
enum  ZPluginProtocol {
  Z_PLUGIN_PROTOCOL_DUMMY , Z_PLUGIN_PROTOCOL_LV2 , Z_PLUGIN_PROTOCOL_DSSI , Z_PLUGIN_PROTOCOL_LADSPA ,
  Z_PLUGIN_PROTOCOL_VST , Z_PLUGIN_PROTOCOL_VST3 , Z_PLUGIN_PROTOCOL_AU , Z_PLUGIN_PROTOCOL_SFZ ,
  Z_PLUGIN_PROTOCOL_SF2 , Z_PLUGIN_PROTOCOL_CLAP , Z_PLUGIN_PROTOCOL_JSFX
}
 Plugin protocol. More...
 
enum class  ZPluginArchitecture { Z_PLUGIN_ARCHITECTURE_32 , Z_PLUGIN_ARCHITECTURE_64 }
 32 or 64 bit. More...
 
enum class  CarlaBridgeMode { None , UI , Full }
 Carla bridge mode. More...
 

Functions

 TYPEDEF_STRUCT_UNDERSCORED (WrappedObjectWithChangeSignal)
 
PluginDescriptorplugin_descriptor_new (void)
 
const char * plugin_protocol_to_str (ZPluginProtocol prot)
 
ZPluginProtocol plugin_protocol_from_str (const char *str)
 
bool plugin_protocol_is_supported (ZPluginProtocol protocol)
 
const char * plugin_category_to_string (ZPluginCategory category)
 
CarlaBackend::PluginType plugin_descriptor_get_carla_plugin_type_from_protocol (ZPluginProtocol protocol)
 
ZPluginProtocol plugin_descriptor_get_protocol_from_carla_plugin_type (CarlaBackend::PluginType ptype)
 
ZPluginCategory plugin_descriptor_get_category_from_carla_category_str (const char *category)
 
ZPluginCategory plugin_descriptor_get_category_from_carla_category (CarlaBackend::PluginCategory carla_cat)
 
NONNULL void plugin_descriptor_copy (PluginDescriptor *dest, const PluginDescriptor *src)
 Clones the plugin descriptor.
 
NONNULL PluginDescriptorplugin_descriptor_clone (const PluginDescriptor *src)
 Clones the plugin descriptor.
 
NONNULL bool plugin_descriptor_is_instrument (const PluginDescriptor *const descr)
 Returns if the Plugin is an instrument or not.
 
NONNULL bool plugin_descriptor_is_effect (const PluginDescriptor *const descr)
 Returns if the Plugin is an effect or not.
 
NONNULL int plugin_descriptor_is_modulator (const PluginDescriptor *const descr)
 Returns if the Plugin is a modulator or not.
 
NONNULL int plugin_descriptor_is_midi_modifier (const PluginDescriptor *const descr)
 Returns if the Plugin is a midi modifier or not.
 
NONNULL ZPluginCategory plugin_descriptor_string_to_category (const char *str)
 Returns the ZPluginCategory matching the given string.
 
char * plugin_descriptor_category_to_string (ZPluginCategory category)
 
const char * plugin_descriptor_get_icon_name (const PluginDescriptor *const self)
 Gets an appropriate icon name for the given descriptor.
 
bool plugin_descriptor_is_valid_for_slot_type (const PluginDescriptor *self, ZPluginSlotType slot_type, TrackType track_type)
 Returns if the given plugin identifier can be dropped in a slot of the given type.
 
NONNULL bool plugin_descriptor_is_same_plugin (const PluginDescriptor *a, const PluginDescriptor *b)
 Returns whether the two descriptors describe the same plugin, ignoring irrelevant fields.
 
NONNULL bool plugin_descriptor_has_custom_ui (const PluginDescriptor *self)
 Returns if the Plugin has a supported custom UI.
 
NONNULL CarlaBridgeMode plugin_descriptor_get_min_bridge_mode (const PluginDescriptor *self)
 Returns the minimum bridge mode required for this plugin.
 
NONNULL bool plugin_descriptor_is_whitelisted (const PluginDescriptor *self)
 Returns whether the plugin is known to work, so it should be whitelisted.
 
NONNULL GMenuModel * plugin_descriptor_generate_context_menu (const PluginDescriptor *self)
 
NONNULL void plugin_descriptor_free (PluginDescriptor *self)
 
NONNULL void plugin_descriptor_free_closure (void *data, GClosure *closure)
 

Detailed Description

Base plugin.

Definition in file plugin_descriptor.h.