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

Plugin manager. More...

#include "plugins/lv2/lv2_urid.h"
#include "plugins/plugin_descriptor.h"
#include "utils/symap.h"
#include "zix/sem.h"
#include <lilv/lilv.h>
Include dependency graph for plugin_manager.h:

Go to the source code of this file.

Data Structures

struct  PluginManager
 The PluginManager is responsible for scanning and keeping track of available Plugin's. More...
 

Macros

#define PLUGIN_MANAGER   (ZRYTHM->plugin_manager)
 
#define LILV_WORLD   (PLUGIN_MANAGER->lilv_world)
 
#define LILV_PLUGINS   (PLUGIN_MANAGER->lilv_plugins)
 
#define LV2_GENERATOR_PLUGIN   "Generator"
 
#define LV2_CONSTANT_PLUGIN   "Constant"
 
#define LV2_INSTRUMENT_PLUGIN   "Instrument"
 
#define LV2_OSCILLATOR_PLUGIN   "Oscillator"
 
#define PM_URIDS   (PLUGIN_MANAGER->urids)
 
#define PM_SYMAP   (PLUGIN_MANAGER->symap)
 
#define PM_SYMAP_LOCK   (PLUGIN_MANAGER->symap_lock)
 
#define PM_GET_NODE(uri)   plugin_manager_get_node (PLUGIN_MANAGER, uri)
 

Functions

PluginManagerplugin_manager_new (void)
 
const LilvNode * plugin_manager_get_node (PluginManager *self, const char *uri)
 Returns a cached LilvNode for the given URI.
 
void plugin_manager_scan_plugins (PluginManager *self, const double max_progress, double *progress)
 Scans for plugins, optionally updating the progress.
 
PluginDescriptorplugin_manager_find_plugin_from_uri (PluginManager *self, const char *uri)
 Returns the PluginDescriptor instance for the given URI.
 
PluginDescriptorplugin_manager_find_from_descriptor (PluginManager *self, const PluginDescriptor *src_descr)
 Finds and returns the PluginDescriptor instance matching the given descriptor.
 
bool plugin_manager_supports_protocol (PluginManager *self, ZPluginProtocol protocol)
 Returns if the plugin manager supports the given plugin protocol.
 
PluginDescriptorplugin_manager_pick_instrument (PluginManager *self)
 Returns an instrument plugin, if any.
 
void plugin_manager_clear_plugins (PluginManager *self)
 
void plugin_manager_free (PluginManager *self)
 

Detailed Description

Plugin manager.

Definition in file plugin_manager.h.