Ardour  8.7-14-g57a6773833
ARDOUR::PlugInsertBase Class Referenceabstract

#include <plug_insert_base.h>

Inheritance diagram for ARDOUR::PlugInsertBase:
[legend]

Classes

struct  Match
 
class  PluginControl
 
struct  PluginPropertyControl
 

Public Types

enum  UIElements : std::uint8_t {
  NoGUIToolbar = 0x00 , BypassEnable = 0x01 , PluginPreset = 0x02 , MIDIKeyboard = 0x04 ,
  AllUIElements = 0x0f
}
 
enum  MatchingMethod {
  Impossible , Delegate , NoInputs , ExactMatch ,
  Replicate , Split , Hide
}
 
- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter, std::shared_ptr< Control > > Controls
 

Public Member Functions

virtual ~PlugInsertBase ()
 
virtual uint32_t get_count () const =0
 
virtual std::shared_ptr< Pluginplugin (uint32_t num=0) const =0
 
virtual PluginType type () const =0
 
virtual UIElements ui_elements () const =0
 
virtual bool write_immediate_event (Evoral::EventType event_type, size_t size, const uint8_t *buf)=0
 
virtual bool load_preset (Plugin::PresetRecord)=0
 
virtual std::shared_ptr< ReadOnlyControlcontrol_output (uint32_t) const =0
 
virtual bool can_reset_all_parameters ()=0
 
virtual bool reset_parameters_to_default ()=0
 
virtual std::string describe_parameter (Evoral::Parameter param)=0
 
virtual bool provides_stats () const =0
 
virtual bool get_stats (PBD::microseconds_t &, PBD::microseconds_t &, double &, double &) const =0
 
virtual void clear_stats ()=0
 
virtual ChanMapping input_map (uint32_t num) const =0
 
virtual ChanMapping output_map (uint32_t num) const =0
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
virtual std::shared_ptr< Evoral::Controlcontrol_factory (const Evoral::Parameter &id)=0
 
std::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
std::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
virtual void add_control (std::shared_ptr< Control >)
 
virtual bool controls_empty () const
 
virtual void clear_controls ()
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Temporal::TimeDomainSwapper
virtual ~TimeDomainSwapper ()
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 

Protected Member Functions

bool parse_plugin_type (XMLNode const &, PluginType &, std::string &) const
 
std::shared_ptr< Pluginfind_and_load_plugin (Session &, XMLNode const &, PluginType &, std::string const &, bool &any_vst)
 
void set_control_ids (const XMLNode &, int version, bool by_value=false)
 
void preset_load_set_value (uint32_t, float)
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_marked_dirty ()
 
virtual void control_list_interpolation_changed (Parameter const &, ControlList::InterpolationStyle)
 

Static Protected Member Functions

static std::shared_ptr< Pluginplugin_factory (std::shared_ptr< Plugin >)
 

Additional Inherited Members

- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 

Detailed Description

Definition at line 39 of file plug_insert_base.h.

Member Enumeration Documentation

◆ MatchingMethod

Enumeration of the ways in which we can match our insert's IO to that of the plugin(s).

Enumerator
Impossible 

we can't

Delegate 

we are delegating to the plugin, and it can handle it

NoInputs 

plugin has no inputs, so anything goes

ExactMatch 

our insert's inputs are the same as the plugin's

Replicate 

we have multiple instances of the plugin

Split 

we copy one of our insert's inputs to multiple plugin inputs

Hide 

we ‘hide’ some of the plugin's inputs by feeding them silence

Definition at line 114 of file plug_insert_base.h.

◆ UIElements

Enumerator
NoGUIToolbar 
BypassEnable 
PluginPreset 
MIDIKeyboard 
AllUIElements 

Definition at line 48 of file plug_insert_base.h.

Constructor & Destructor Documentation

◆ ~PlugInsertBase()

virtual ARDOUR::PlugInsertBase::~PlugInsertBase ( )
inlinevirtual

Definition at line 42 of file plug_insert_base.h.

Member Function Documentation

◆ can_reset_all_parameters()

virtual bool ARDOUR::PlugInsertBase::can_reset_all_parameters ( )
pure virtual

◆ clear_stats()

virtual void ARDOUR::PlugInsertBase::clear_stats ( )
pure virtual

◆ control_output()

virtual std::shared_ptr<ReadOnlyControl> ARDOUR::PlugInsertBase::control_output ( uint32_t  ) const
pure virtual

◆ describe_parameter()

virtual std::string ARDOUR::PlugInsertBase::describe_parameter ( Evoral::Parameter  param)
pure virtual

◆ find_and_load_plugin()

std::shared_ptr<Plugin> ARDOUR::PlugInsertBase::find_and_load_plugin ( Session ,
XMLNode const &  ,
PluginType ,
std::string const &  ,
bool &  any_vst 
)
protected

◆ get_count()

virtual uint32_t ARDOUR::PlugInsertBase::get_count ( ) const
pure virtual

◆ get_stats()

virtual bool ARDOUR::PlugInsertBase::get_stats ( PBD::microseconds_t ,
PBD::microseconds_t ,
double &  ,
double &   
) const
pure virtual

◆ input_map()

virtual ChanMapping ARDOUR::PlugInsertBase::input_map ( uint32_t  num) const
pure virtual

◆ load_preset()

virtual bool ARDOUR::PlugInsertBase::load_preset ( Plugin::PresetRecord  )
pure virtual

◆ output_map()

virtual ChanMapping ARDOUR::PlugInsertBase::output_map ( uint32_t  num) const
pure virtual

◆ parse_plugin_type()

bool ARDOUR::PlugInsertBase::parse_plugin_type ( XMLNode const &  ,
PluginType ,
std::string &   
) const
protected

◆ plugin()

virtual std::shared_ptr<Plugin> ARDOUR::PlugInsertBase::plugin ( uint32_t  num = 0) const
pure virtual

◆ plugin_factory()

static std::shared_ptr<Plugin> ARDOUR::PlugInsertBase::plugin_factory ( std::shared_ptr< Plugin )
staticprotected

◆ preset_load_set_value()

void ARDOUR::PlugInsertBase::preset_load_set_value ( uint32_t  ,
float   
)
protected

◆ provides_stats()

virtual bool ARDOUR::PlugInsertBase::provides_stats ( ) const
pure virtual

◆ reset_parameters_to_default()

virtual bool ARDOUR::PlugInsertBase::reset_parameters_to_default ( )
pure virtual

◆ set_control_ids()

void ARDOUR::PlugInsertBase::set_control_ids ( const XMLNode ,
int  version,
bool  by_value = false 
)
protected

◆ type()

virtual PluginType ARDOUR::PlugInsertBase::type ( ) const
pure virtual

◆ ui_elements()

virtual UIElements ARDOUR::PlugInsertBase::ui_elements ( ) const
pure virtual

◆ write_immediate_event()

virtual bool ARDOUR::PlugInsertBase::write_immediate_event ( Evoral::EventType  event_type,
size_t  size,
const uint8_t *  buf 
)
pure virtual

The documentation for this class was generated from the following file: