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

#include <unknown_processor.h>

Inheritance diagram for ARDOUR::UnknownProcessor:
[legend]

Public Member Functions

 UnknownProcessor (Session &, XMLNode const &, SessionObject *)
 
virtual ~UnknownProcessor ()
 
bool can_support_io_configuration (const ChanCount &, ChanCount &)
 
void run (BufferSet &, samplepos_t, samplepos_t, double, pframes_t, bool)
 
- Public Member Functions inherited from ARDOUR::Processor
 Processor (Session &, const std::string &name, Temporal::TimeDomainProvider const &)
 
 Processor (const Processor &other)
 
virtual ~Processor ()
 
virtual std::string display_name () const
 
virtual bool display_to_user () const
 
virtual void set_display_to_user (bool)
 
bool active () const
 ardour hard bypass More...
 
virtual bool enabled () const
 processor enabled/bypass More...
 
virtual bool bypassable () const
 enable is not automated or locked More...
 
virtual bool does_routing () const
 
bool get_next_ab_is_active () const
 
void set_next_ab_is_active (bool yn)
 
virtual samplecnt_t signal_latency () const
 
virtual void set_input_latency (samplecnt_t cnt)
 
samplecnt_t input_latency () const
 
virtual void set_output_latency (samplecnt_t cnt)
 
samplecnt_t output_latency () const
 
virtual void set_capture_offset (samplecnt_t cnt)
 
samplecnt_t capture_offset () const
 
virtual void set_playback_offset (samplecnt_t cnt)
 
samplecnt_t playback_offset () const
 
virtual int set_block_size (pframes_t)
 
virtual bool requires_fixed_sized_buffers () const
 
virtual void silence (samplecnt_t nframes, samplepos_t start_sample)
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual void flush ()
 
virtual void enable (bool yn)
 
virtual bool configure_io (ChanCount in, ChanCount out)
 
virtual ChanCount input_streams () const
 
virtual ChanCount output_streams () const
 
virtual void realtime_handle_transport_stopped ()
 
virtual void realtime_locate (bool)
 
virtual void set_loop (Location *loc)
 
virtual void monitoring_changed ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
virtual void set_pre_fader (bool)
 
virtual bool get_pre_fader () const
 
ProcessorWindowProxywindow_proxy () const
 
void set_window_proxy (ProcessorWindowProxy *wp)
 
PluginPinWindowProxypinmgr_proxy () const
 
void set_pingmgr_proxy (PluginPinWindowProxy *wp)
 
virtual void set_owner (SessionObject *)
 
SessionObjectowner () const
 
- Public Member Functions inherited from ARDOUR::SessionObject
 SessionObject (Session &session, const std::string &name)
 
Sessionsession () const
 
std::string name () const
 
virtual bool set_name (const std::string &str)
 
- Public Member Functions inherited from ARDOUR::SessionHandleRef
 SessionHandleRef (ARDOUR::Session &s)
 
virtual ~SessionHandleRef ()
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- 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::Automatable
 Automatable (Session &, Temporal::TimeDomainProvider const &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
virtual void automatables (PBD::ControllableSet &) const
 
std::shared_ptr< Evoral::Controlcontrol_factory (const Evoral::Parameter &id)
 
std::shared_ptr< AutomationControlautomation_control (PBD::ID const &id) const
 
virtual std::shared_ptr< AutomationControlautomation_control_recurse (PBD::ID const &id) const
 
std::shared_ptr< AutomationControlautomation_control (const Evoral::Parameter &id)
 
std::shared_ptr< AutomationControlautomation_control (const Evoral::Parameter &id, bool create_if_missing)
 
std::shared_ptr< const AutomationControlautomation_control (const Evoral::Parameter &id) const
 
virtual void add_control (std::shared_ptr< Evoral::Control >)
 
virtual bool find_next_event (Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev, bool only_active=true) const
 
void clear_controls ()
 
virtual void non_realtime_locate (samplepos_t now)
 
virtual void non_realtime_transport_stop (samplepos_t now, bool flush)
 
virtual void automation_run (samplepos_t, pframes_t, bool only_active=false)
 
virtual std::string describe_parameter (Evoral::Parameter param)
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
void protect_automation ()
 
const std::set< Evoral::Parameter > & what_can_be_automated () const
 
std::vector< Evoral::Parameterall_automatable_params () const
 
void what_has_existing_automation (std::set< Evoral::Parameter > &) const
 
int set_automation_xml_state (const XMLNode &, Evoral::Parameter default_param)
 
XMLNodeget_automation_xml_state () const
 
void start_domain_bounce (Temporal::DomainBounceInfo &)
 
void finish_domain_bounce (Temporal::DomainBounceInfo &)
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
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 bool controls_empty () const
 
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 ARDOUR::Slavable
 Slavable ()
 
virtual ~Slavable ()
 
XMLNodeget_state () const
 
int set_state (XMLNode const &, int)
 
virtual void assign (std::shared_ptr< VCA >)
 
void unassign (std::shared_ptr< VCA >)
 
std::vector< std::shared_ptr< VCA > > masters (VCAManager *) const
 
bool assigned_to (VCAManager *, std::shared_ptr< VCA >) const
 
- Public Member Functions inherited from Temporal::TimeDomainProvider
 TimeDomainProvider ()
 
 TimeDomainProvider (TimeDomain td)
 
 TimeDomainProvider (TimeDomain td, TimeDomainProvider const &p)
 
 TimeDomainProvider (TimeDomainProvider const &other)
 
 TimeDomainProvider (TimeDomainProvider const &parnt, bool)
 
virtual ~TimeDomainProvider ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
TimeDomainProvideroperator= (TimeDomainProvider const &other)
 
TimeDomain time_domain () const
 
bool has_own_time_domain () const
 
void clear_time_domain ()
 
void set_time_domain (TimeDomain td)
 
TimeDomainProvider const * time_domain_parent () const
 
bool has_time_domain_parent () const
 
void clear_time_domain_parent ()
 
void set_time_domain_parent (TimeDomainProvider const &p)
 
virtual void time_domain_changed ()
 
- Public Member Functions inherited from ARDOUR::Latent
 Latent ()
 
 Latent (Latent const &)
 
virtual ~Latent ()
 
samplecnt_t effective_latency () const
 
samplecnt_t user_latency () const
 
void unset_user_latency ()
 
virtual void set_user_latency (samplecnt_t val)
 
- Public Member Functions inherited from ARDOUR::HasLatency
virtual ~HasLatency ()
 

Protected Member Functions

XMLNodestate () const
 
- Protected Member Functions inherited from ARDOUR::Processor
virtual int set_state_2X (const XMLNode &, int version)
 
bool check_active ()
 
bool map_loop_range (samplepos_t &start, samplepos_t &end) const
 
- Protected Member Functions inherited from ARDOUR::SessionHandleRef
virtual void session_going_away ()
 
virtual void insanity_check ()
 
- 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 Member Functions inherited from ARDOUR::Automatable
void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter const &, AutoState)
 
int load_automation (const std::string &path)
 
int old_set_automation_state (const XMLNode &)
 
SlavableAutomationControlList slavables () const
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_marked_dirty ()
 
virtual void control_list_interpolation_changed (Parameter const &, ControlList::InterpolationStyle)
 
- Protected Member Functions inherited from Temporal::TimeDomainProvider
void listen ()
 
- Protected Member Functions inherited from ARDOUR::Latent
int set_state (const XMLNode &node, int version)
 
void add_state (XMLNode *) const
 

Private Member Functions

void add_sidechain_from_xml (const XMLNode &node, int version)
 

Private Attributes

XMLNode _state
 
bool have_ioconfig
 
ChanCountsaved_input
 
ChanCountsaved_output
 
std::shared_ptr< SideChain_sidechain
 

Additional Inherited Members

- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter, std::shared_ptr< Control > > Controls
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 
- Static Public Member Functions inherited from ARDOUR::Automatable
static void find_next_ac_event (std::shared_ptr< AutomationControl >, Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev)
 
static void find_prev_ac_event (std::shared_ptr< AutomationControl >, Temporal::timepos_t const &start, Temporal::timepos_t const &end, Evoral::ControlEvent &ev)
 
- Static Public Member Functions inherited from ARDOUR::Latent
static void force_zero_latency (bool en)
 
static bool zero_latency ()
 
- Public Attributes inherited from ARDOUR::Processor
PBD::Signal< void()> ActiveChanged
 
PBD::Signal< void()> BypassableChanged
 
PBD::Signal< void(ChanCount, ChanCount)> ConfigurationChanged
 
PBD::Signal< void()> ToggleUI
 
PBD::Signal< void()> ShowUI
 
PBD::Signal< void()> HideUI
 
- 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
 
- Public Attributes inherited from ARDOUR::Automatable
PBD::Signal< void()> AutomationStateChanged
 
- Public Attributes inherited from ARDOUR::Slavable
PBD::Signal< void(std::shared_ptr< VCA >, bool)> AssignmentChange
 
- Public Attributes inherited from Temporal::TimeDomainProvider
PBD::Signal< void()> TimeDomainChanged
 
- Public Attributes inherited from ARDOUR::Latent
PBD::Signal< void()> LatencyChanged
 
- Static Public Attributes inherited from ARDOUR::Processor
static const std::string state_node_name
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Static Public Attributes inherited from ARDOUR::Automatable
static bool skip_saving_automation
 
static const std::string xml_node_name
 
- Static Public Attributes inherited from ARDOUR::Slavable
static std::string xml_node_name
 
static PBD::Signal< void(VCAManager *)> Assign
 
- Static Public Attributes inherited from ARDOUR::Latent
static PBD::Signal< void()> DisableSwitchChanged
 
- Protected Attributes inherited from ARDOUR::Processor
int _pending_active
 
bool _active
 
bool _next_ab_is_active
 
bool _configured
 
ChanCount _configured_input
 
ChanCount _configured_output
 
bool _display_to_user
 
bool _pre_fader
 true if this processor is currently placed before the Amp, otherwise false More...
 
void * _ui_pointer
 
ProcessorWindowProxy_window_proxy
 
PluginPinWindowProxy_pinmgr_proxy
 
SessionObject_owner
 
samplecnt_t _input_latency
 
samplecnt_t _output_latency
 
samplecnt_t _capture_offset
 
samplecnt_t _playback_offset
 
Location_loop_location
 
- Protected Attributes inherited from ARDOUR::SessionObject
PBD::Property< std::string > _name
 
- Protected Attributes inherited from ARDOUR::SessionHandleRef
ARDOUR::Session_session
 
- 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
 
- Protected Attributes inherited from ARDOUR::Automatable
Session_a_session
 
SerializedRCUManager< AutomationControlList_automated_controls
 
std::set< Evoral::Parameter_can_automate_list
 
samplepos_t _last_automation_snapshot
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 

Detailed Description

A stub Processor that can be used in place of a ‘real’ one that cannot be created for some reason; usually because it requires a plugin which is not present. UnknownProcessors are special-cased in a few places, notably in route configuration and signal processing, so that on encountering them configuration or processing stops.

When a Processor is missing from a Route, the following processors cannot be configured, as the missing Processor's output port configuration is unknown.

The main utility of the UnknownProcessor is that it allows state to be preserved, so that, for example, loading and re-saving a session on a machine without a particular plugin will not corrupt the session.

Definition at line 44 of file unknown_processor.h.

Constructor & Destructor Documentation

◆ UnknownProcessor()

ARDOUR::UnknownProcessor::UnknownProcessor ( Session ,
XMLNode const &  ,
SessionObject  
)

◆ ~UnknownProcessor()

virtual ARDOUR::UnknownProcessor::~UnknownProcessor ( )
virtual

Member Function Documentation

◆ add_sidechain_from_xml()

void ARDOUR::UnknownProcessor::add_sidechain_from_xml ( const XMLNode node,
int  version 
)
private

◆ can_support_io_configuration()

bool ARDOUR::UnknownProcessor::can_support_io_configuration ( const ChanCount ,
ChanCount  
)
virtual

Implements ARDOUR::Processor.

◆ run()

void ARDOUR::UnknownProcessor::run ( BufferSet bufs,
samplepos_t  start_sample,
samplepos_t  end_sample,
double  speed,
pframes_t  nframes,
bool  result_required 
)
virtual

The main process function for processors

Parameters
bufsbufferset of data to process in-place
start_sampleabsolute timeline position in audio-samples to commence processing (latency compensated)
end_sampleabsolute timeline position in audio-samples, usually start_sample +/- nframes
speedtransport speed. usually -1, 0, +1
nframesnumber of audio samples to process
result_requiredtrue if, on return from this method, bufs is required to contain valid data; if false, the method need not bother writing to bufs if it doesn't want to.

Reimplemented from ARDOUR::Processor.

◆ state()

XMLNode& ARDOUR::UnknownProcessor::state ( ) const
protectedvirtual

Reimplemented from ARDOUR::Processor.

Member Data Documentation

◆ _sidechain

std::shared_ptr<SideChain> ARDOUR::UnknownProcessor::_sidechain
private

Definition at line 64 of file unknown_processor.h.

◆ _state

XMLNode ARDOUR::UnknownProcessor::_state
private

Definition at line 57 of file unknown_processor.h.

◆ have_ioconfig

bool ARDOUR::UnknownProcessor::have_ioconfig
private

Definition at line 59 of file unknown_processor.h.

◆ saved_input

ChanCount* ARDOUR::UnknownProcessor::saved_input
private

Definition at line 60 of file unknown_processor.h.

◆ saved_output

ChanCount* ARDOUR::UnknownProcessor::saved_output
private

Definition at line 61 of file unknown_processor.h.


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