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 <stdbool.h>
#include "utils/yaml.h"
#include <glib/gi18n.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
 

Typedefs

typedef struct _WrappedObjectWithChangeSignal WrappedObjectWithChangeSignal
 

Enumerations

enum  ZPluginCategory {
  ZPLUGIN_CATEGORY_NONE , PC_DELAY , PC_REVERB , PC_DISTORTION ,
  PC_WAVESHAPER , PC_DYNAMICS , PC_AMPLIFIER , PC_COMPRESSOR ,
  PC_ENVELOPE , PC_EXPANDER , PC_GATE , PC_LIMITER ,
  PC_FILTER , PC_ALLPASS_FILTER , PC_BANDPASS_FILTER , PC_COMB_FILTER ,
  PC_EQ , PC_MULTI_EQ , PC_PARA_EQ , PC_HIGHPASS_FILTER ,
  PC_LOWPASS_FILTER , PC_GENERATOR , PC_CONSTANT , PC_INSTRUMENT ,
  PC_OSCILLATOR , PC_MIDI , PC_MODULATOR , PC_CHORUS ,
  PC_FLANGER , PC_PHASER , PC_SIMULATOR , PC_SIMULATOR_REVERB ,
  PC_SPATIAL , PC_SPECTRAL , PC_PITCH , PC_UTILITY ,
  PC_ANALYZER , PC_CONVERTER , PC_FUNCTION , PC_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  PluginArchitecture { ARCH_32 , ARCH_64 }
 32 or 64 bit. More...
 
enum  CarlaBridgeMode { CARLA_BRIDGE_NONE , CARLA_BRIDGE_UI , CARLA_BRIDGE_FULL }
 Carla bridge mode. More...
 

Functions

PluginDescriptorplugin_descriptor_new (void)
 
const char * plugin_protocol_to_str (ZPluginProtocol prot)
 
ZPluginProtocol plugin_protocol_from_str (const char *str)
 
const char * plugin_category_to_string (ZPluginCategory category)
 
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, int slot_type, int 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.

Typedef Documentation

◆ WrappedObjectWithChangeSignal

typedef struct _WrappedObjectWithChangeSignal WrappedObjectWithChangeSignal

Definition at line 21 of file plugin_descriptor.h.