Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::VSTPlugin Class Reference

#include <vst_plugin.h>

Inheritance diagram for ARDOUR::VSTPlugin:
[legend]

Public Member Functions

 VSTPlugin (AudioEngine &, Session &, VSTHandle *)
 
 VSTPlugin (const VSTPlugin &other)
 
virtual ~VSTPlugin ()
 
void activate ()
 
void deactivate ()
 
int set_block_size (pframes_t)
 
bool requires_fixed_sized_buffers () const
 
bool inplace_broken () const
 
float default_value (uint32_t port)
 
float get_parameter (uint32_t port) const
 
uint32_t nth_parameter (uint32_t port, bool &ok) const
 
void set_parameter (uint32_t port, float val, sampleoffset_t)
 
void set_parameter_automated (uint32_t port, float val)
 
bool load_preset (PresetRecord)
 
int get_parameter_descriptor (uint32_t which, ParameterDescriptor &) const
 
std::string describe_parameter (Evoral::Parameter)
 
std::set< Evoral::Parameterautomatable () const
 
bool parameter_is_audio (uint32_t) const
 
bool parameter_is_control (uint32_t) const
 
bool parameter_is_input (uint32_t) const
 
bool parameter_is_output (uint32_t) const
 
uint32_t designated_bypass_port ()
 
int connect_and_run (BufferSet &, samplepos_t start, samplepos_t end, double speed, ChanMapping const &in, ChanMapping const &out, pframes_t nframes, samplecnt_t offset)
 
std::string unique_id () const
 
const char * label () const
 
const char * name () const
 
const char * maker () const
 
int32_t version () const
 
uint32_t parameter_count () const
 
bool print_parameter (uint32_t, std::string &) const
 
bool has_editor () const
 
AEffectplugin () const
 
VSTStatestate () const
 
MidiBuffermidi_buffer () const
 
int set_state (XMLNode const &, int)
 
int first_user_preset_index () const
 
VstTimeInfotimeinfo ()
 
samplepos_t transport_sample () const
 
float transport_speed () const
 
- Public Member Functions inherited from ARDOUR::Plugin
 Plugin (ARDOUR::AudioEngine &, ARDOUR::Session &)
 
 Plugin (const Plugin &)
 
virtual ~Plugin ()
 
XMLNodeget_state () const
 
virtual void set_insert_id (PBD::ID id)
 
virtual void set_state_dir (const std::string &d="")
 
void set_insert (PlugInsertBase *pib, uint32_t num)
 
PlugInsertBaseplugin_insert () const
 
uint32_t plugin_number () const
 
virtual std::string get_docs () const
 
virtual std::string get_parameter_docs (uint32_t) const
 
virtual std::string parameter_label (uint32_t which) const
 
virtual void flush ()
 
virtual std::string state_node_name () const =0
 
virtual IOPortDescription describe_io_port (DataType dt, bool input, uint32_t id) const
 
virtual PluginOutputConfiguration possible_output () const
 
virtual void set_automation_control (uint32_t, std::shared_ptr< ARDOUR::AutomationControl >)
 
virtual std::shared_ptr< ScalePointsget_scale_points (uint32_t) const
 
samplecnt_t signal_latency () const
 
samplecnt_t signal_tailtime () const
 
virtual samplecnt_t max_latency () const
 
virtual bool connect_all_audio_outputs () const
 
bool write_immediate_event (Evoral::EventType event_type, size_t size, const uint8_t *buf)
 
void realtime_handle_transport_stopped ()
 
void realtime_locate (bool)
 
void monitoring_changed ()
 
virtual void set_non_realtime (bool)
 
virtual void add_slave (std::shared_ptr< Plugin >, bool realtime)
 
virtual void remove_slave (std::shared_ptr< Plugin >)
 
virtual bool has_inline_display ()
 
virtual bool inline_display_in_gui ()
 
virtual Display_Image_Surfacerender_inline_display (uint32_t, uint32_t)
 
virtual bool has_midnam ()
 
virtual bool read_midnam ()
 
virtual std::string midnam_model ()
 
virtual bool knows_bank_patch ()
 
virtual uint32_t bank_patch (uint8_t chn)
 
PresetRecord save_preset (std::string name)
 
void remove_preset (std::string)
 
void clear_preset ()
 
const PresetRecordpreset_by_label (const std::string &)
 
const PresetRecordpreset_by_uri (const std::string &)
 
virtual std::vector< PresetRecordget_presets ()
 
PresetRecord last_preset () const
 
bool parameter_changed_since_last_preset () const
 
virtual bool reconfigure_io (ChanCount, ChanCount, ChanCount)
 
virtual bool match_variable_io (ChanCount &, ChanCount &, ChanCount &)
 
virtual ChanCount output_streams () const
 
virtual ChanCount input_streams () const
 
virtual void set_info (const PluginInfoPtr info)
 
PluginInfoPtr get_info () const
 
virtual void set_owner (SessionObject *o)
 
SessionObjectowner () const
 
void set_cycles (uint32_t c)
 
cycles_t cycles () const
 
void use_for_impulse_analysis ()
 
ARDOUR::AudioEngineengine () const
 
ARDOUR::Sessionsession () const
 
virtual const PropertyDescriptorsget_supported_properties () const
 
virtual const ParameterDescriptorget_property_descriptor (uint32_t id) const
 
virtual void set_property (uint32_t key, const Variant &value)
 
virtual Variant get_property_value (uint32_t) const
 
virtual void announce_property_values ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::Destructible
virtual ~Destructible ()
 
virtual void drop_references ()
 
- Public Member Functions inherited from ARDOUR::HasLatency
virtual ~HasLatency ()
 
- Public Member Functions inherited from ARDOUR::HasTailTime
virtual ~HasTailTime ()
 

Public Attributes

PBD::Signal< void()> LoadPresetProgram
 
PBD::Signal< void()> VSTSizeWindow
 
- Public Attributes inherited from ARDOUR::Plugin
PBD::Signal< void()> QueueDraw
 
PBD::Signal< void()> UpdateMidnam
 
PBD::Signal< void()> UpdatedMidnam
 
PBD::Signal< void(uint8_t)> BankPatchChange
 
PBD::Signal< void()> PresetAdded
 
PBD::Signal< void()> PresetRemoved
 
PBD::Signal< void()> PresetLoaded
 
PBD::Signal< void()> PresetDirty
 
PBD::Signal< void(uint32_t, float)> PresetPortSetValue
 
PBD::Signal< void(uint32_t, float)> ParameterChangedExternally
 
PBD::Signal< void(uint32_t, Variant)> PropertyChanged
 
PBD::Signal< void(uint32_t)> StartTouch
 
PBD::Signal< void(uint32_t)> EndTouch
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal< void()> Destroyed
 
PBD::Signal< void()> DropReferences
 

Protected Member Functions

void parameter_changed_externally (uint32_t which, float val)
 
virtual void open_plugin ()
 
void init_plugin ()
 
gchar * get_chunk (bool) const
 
int set_chunk (gchar const *, bool)
 
void add_state (XMLNode *) const
 
bool load_user_preset (PresetRecord)
 
bool load_plugin_preset (PresetRecord)
 
std::string do_save_preset (std::string name)
 
void do_remove_preset (std::string name)
 
XMLTreepresets_tree () const
 
std::string presets_file () const
 
samplecnt_t plugin_latency () const
 
void find_presets ()
 
- Protected Member Functions inherited from ARDOUR::Plugin
void state_changed ()
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 

Protected Attributes

VSTHandle_handle
 
VSTState_state
 
AEffect_plugin
 
MidiBuffer_midi_out_buf
 
VstTimeInfo _timeInfo
 
samplepos_t _transport_sample
 
float _transport_speed
 
std::map< uint32_t, float > _parameter_defaults
 
bool _eff_bypassed
 
- Protected Attributes inherited from ARDOUR::Plugin
ARDOUR::AudioEngine_engine
 
ARDOUR::Session_session
 
PluginInfoPtr _info
 
uint32_t _cycles
 
SessionObject_owner
 
bool _for_impulse_analysis
 
std::map< std::string, PresetRecord_presets
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 

Friends

class Session
 

Additional Inherited Members

- Public Types inherited from ARDOUR::Plugin
typedef std::map< uint32_t, ParameterDescriptorPropertyDescriptors
 
- Static Public Attributes inherited from ARDOUR::Plugin
static PBD::Signal< void(std::string, Plugin *, bool)> PresetsChanged
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 

Detailed Description

Parent class for VST plugins of both Windows and Linux varieties

Definition at line 42 of file vst_plugin.h.

Constructor & Destructor Documentation

◆ VSTPlugin() [1/2]

ARDOUR::VSTPlugin::VSTPlugin ( AudioEngine ,
Session ,
VSTHandle  
)

◆ VSTPlugin() [2/2]

ARDOUR::VSTPlugin::VSTPlugin ( const VSTPlugin other)

◆ ~VSTPlugin()

virtual ARDOUR::VSTPlugin::~VSTPlugin ( )
virtual

Member Function Documentation

◆ activate()

void ARDOUR::VSTPlugin::activate ( )
virtual

Implements ARDOUR::Plugin.

◆ add_state()

void ARDOUR::VSTPlugin::add_state ( XMLNode ) const
protectedvirtual

Add state to an existing XMLNode

Implements ARDOUR::Plugin.

◆ automatable()

std::set<Evoral::Parameter> ARDOUR::VSTPlugin::automatable ( ) const
virtual

Implements ARDOUR::Plugin.

◆ connect_and_run()

int ARDOUR::VSTPlugin::connect_and_run ( BufferSet ,
samplepos_t  start,
samplepos_t  end,
double  speed,
ChanMapping const &  in,
ChanMapping const &  out,
pframes_t  nframes,
samplecnt_t  offset 
)
virtual

Reimplemented from ARDOUR::Plugin.

◆ deactivate()

void ARDOUR::VSTPlugin::deactivate ( )
virtual

Implements ARDOUR::Plugin.

◆ default_value()

float ARDOUR::VSTPlugin::default_value ( uint32_t  port)
virtual

Implements ARDOUR::Plugin.

◆ describe_parameter()

std::string ARDOUR::VSTPlugin::describe_parameter ( Evoral::Parameter  )
virtual

Implements ARDOUR::Plugin.

◆ designated_bypass_port()

uint32_t ARDOUR::VSTPlugin::designated_bypass_port ( )
virtual

Reimplemented from ARDOUR::Plugin.

◆ do_remove_preset()

void ARDOUR::VSTPlugin::do_remove_preset ( std::string  )
protectedvirtual

Do the actual removal of a preset of the provided name

Implements ARDOUR::Plugin.

◆ do_save_preset()

std::string ARDOUR::VSTPlugin::do_save_preset ( std::string  )
protectedvirtual

Do the actual saving of the current plugin settings to a preset of the provided name. Should return a URI on success, or an empty string on failure.

Implements ARDOUR::Plugin.

◆ find_presets()

void ARDOUR::VSTPlugin::find_presets ( )
protectedvirtual

Fill _presets with our presets

Implements ARDOUR::Plugin.

◆ first_user_preset_index()

int ARDOUR::VSTPlugin::first_user_preset_index ( ) const
virtual

Reimplemented from ARDOUR::Plugin.

◆ get_chunk()

gchar* ARDOUR::VSTPlugin::get_chunk ( bool  ) const
protected

◆ get_parameter()

float ARDOUR::VSTPlugin::get_parameter ( uint32_t  port) const
virtual

Implements ARDOUR::Plugin.

◆ get_parameter_descriptor()

int ARDOUR::VSTPlugin::get_parameter_descriptor ( uint32_t  which,
ParameterDescriptor  
) const
virtual

Implements ARDOUR::Plugin.

◆ has_editor()

bool ARDOUR::VSTPlugin::has_editor ( ) const
virtual
Returns
true if plugin has a custom plugin GUI

Implements ARDOUR::Plugin.

◆ init_plugin()

void ARDOUR::VSTPlugin::init_plugin ( )
protected

◆ inplace_broken()

bool ARDOUR::VSTPlugin::inplace_broken ( ) const
inlinevirtual

Reimplemented from ARDOUR::Plugin.

Definition at line 55 of file vst_plugin.h.

◆ label()

const char* ARDOUR::VSTPlugin::label ( ) const
virtual

Implements ARDOUR::Plugin.

◆ load_plugin_preset()

bool ARDOUR::VSTPlugin::load_plugin_preset ( PresetRecord  )
protected

◆ load_preset()

bool ARDOUR::VSTPlugin::load_preset ( PresetRecord  )
virtual

Set parameters using a preset

Reimplemented from ARDOUR::Plugin.

◆ load_user_preset()

bool ARDOUR::VSTPlugin::load_user_preset ( PresetRecord  )
protected

◆ maker()

const char* ARDOUR::VSTPlugin::maker ( ) const
virtual

Implements ARDOUR::Plugin.

◆ midi_buffer()

MidiBuffer* ARDOUR::VSTPlugin::midi_buffer ( ) const
inline

Definition at line 94 of file vst_plugin.h.

◆ name()

const char* ARDOUR::VSTPlugin::name ( ) const
virtual

Implements ARDOUR::Plugin.

◆ nth_parameter()

uint32_t ARDOUR::VSTPlugin::nth_parameter ( uint32_t  port,
bool &  ok 
) const
virtual

Implements ARDOUR::Plugin.

◆ open_plugin()

virtual void ARDOUR::VSTPlugin::open_plugin ( )
protectedvirtual

Reimplemented in ARDOUR::MacVSTPlugin.

◆ parameter_changed_externally()

void ARDOUR::VSTPlugin::parameter_changed_externally ( uint32_t  which,
float  val 
)
protectedvirtual

Reimplemented from ARDOUR::Plugin.

◆ parameter_count()

uint32_t ARDOUR::VSTPlugin::parameter_count ( ) const
virtual

Implements ARDOUR::Plugin.

◆ parameter_is_audio()

bool ARDOUR::VSTPlugin::parameter_is_audio ( uint32_t  ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 69 of file vst_plugin.h.

◆ parameter_is_control()

bool ARDOUR::VSTPlugin::parameter_is_control ( uint32_t  ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 70 of file vst_plugin.h.

◆ parameter_is_input()

bool ARDOUR::VSTPlugin::parameter_is_input ( uint32_t  ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 71 of file vst_plugin.h.

◆ parameter_is_output()

bool ARDOUR::VSTPlugin::parameter_is_output ( uint32_t  ) const
inlinevirtual

Implements ARDOUR::Plugin.

Definition at line 72 of file vst_plugin.h.

◆ plugin()

AEffect* ARDOUR::VSTPlugin::plugin ( ) const
inline

Definition at line 92 of file vst_plugin.h.

◆ plugin_latency()

samplecnt_t ARDOUR::VSTPlugin::plugin_latency ( ) const
protectedvirtual

Implements ARDOUR::Plugin.

◆ presets_file()

std::string ARDOUR::VSTPlugin::presets_file ( ) const
protected

◆ presets_tree()

XMLTree* ARDOUR::VSTPlugin::presets_tree ( ) const
protected

◆ print_parameter()

bool ARDOUR::VSTPlugin::print_parameter ( uint32_t  ,
std::string &   
) const
virtual

Reimplemented from ARDOUR::Plugin.

◆ requires_fixed_sized_buffers()

bool ARDOUR::VSTPlugin::requires_fixed_sized_buffers ( ) const
virtual

Reimplemented from ARDOUR::Plugin.

◆ set_block_size()

int ARDOUR::VSTPlugin::set_block_size ( pframes_t  )
virtual

Implements ARDOUR::Plugin.

◆ set_chunk()

int ARDOUR::VSTPlugin::set_chunk ( gchar const *  ,
bool   
)
protected

◆ set_parameter()

void ARDOUR::VSTPlugin::set_parameter ( uint32_t  port,
float  val,
sampleoffset_t   
)
virtual

Reimplemented from ARDOUR::Plugin.

◆ set_parameter_automated()

void ARDOUR::VSTPlugin::set_parameter_automated ( uint32_t  port,
float  val 
)

◆ set_state()

int ARDOUR::VSTPlugin::set_state ( XMLNode const &  ,
int   
)
virtual

Reimplemented from ARDOUR::Plugin.

◆ state()

VSTState* ARDOUR::VSTPlugin::state ( ) const
inline

Definition at line 93 of file vst_plugin.h.

◆ timeinfo()

VstTimeInfo* ARDOUR::VSTPlugin::timeinfo ( )
inline

Definition at line 100 of file vst_plugin.h.

◆ transport_sample()

samplepos_t ARDOUR::VSTPlugin::transport_sample ( ) const
inline

Definition at line 101 of file vst_plugin.h.

◆ transport_speed()

float ARDOUR::VSTPlugin::transport_speed ( ) const
inline

Definition at line 102 of file vst_plugin.h.

◆ unique_id()

std::string ARDOUR::VSTPlugin::unique_id ( ) const
virtual

Implements ARDOUR::Plugin.

◆ version()

int32_t ARDOUR::VSTPlugin::version ( ) const

Friends And Related Function Documentation

◆ Session

friend class Session
friend

Definition at line 45 of file vst_plugin.h.

Member Data Documentation

◆ _eff_bypassed

bool ARDOUR::VSTPlugin::_eff_bypassed
protected

Definition at line 131 of file vst_plugin.h.

◆ _handle

VSTHandle* ARDOUR::VSTPlugin::_handle
protected

Definition at line 121 of file vst_plugin.h.

◆ _midi_out_buf

MidiBuffer* ARDOUR::VSTPlugin::_midi_out_buf
protected

Definition at line 125 of file vst_plugin.h.

◆ _parameter_defaults

std::map<uint32_t, float> ARDOUR::VSTPlugin::_parameter_defaults
mutableprotected

Definition at line 130 of file vst_plugin.h.

◆ _plugin

AEffect* ARDOUR::VSTPlugin::_plugin
protected

Definition at line 123 of file vst_plugin.h.

◆ _state

VSTState* ARDOUR::VSTPlugin::_state
protected

Definition at line 122 of file vst_plugin.h.

◆ _timeInfo

VstTimeInfo ARDOUR::VSTPlugin::_timeInfo
protected

Definition at line 126 of file vst_plugin.h.

◆ _transport_sample

samplepos_t ARDOUR::VSTPlugin::_transport_sample
protected

Definition at line 128 of file vst_plugin.h.

◆ _transport_speed

float ARDOUR::VSTPlugin::_transport_speed
protected

Definition at line 129 of file vst_plugin.h.

◆ LoadPresetProgram

PBD::Signal<void()> ARDOUR::VSTPlugin::LoadPresetProgram

Definition at line 66 of file vst_plugin.h.

◆ VSTSizeWindow

PBD::Signal<void()> ARDOUR::VSTPlugin::VSTSizeWindow

Definition at line 67 of file vst_plugin.h.


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