ardour
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
ARDOUR::MonitorProcessor Class Reference

#include <monitor_processor.h>

Inheritance diagram for ARDOUR::MonitorProcessor:
ARDOUR::Processor ARDOUR::SessionObject ARDOUR::Automatable ARDOUR::Latent ARDOUR::SessionHandleRef PBD::StatefulDestructible Evoral::ControlSet PBD::ScopedConnectionList PBD::Stateful PBD::Destructible

Classes

struct  ChannelRecord
 

Public Member Functions

 MonitorProcessor (Session &)
 
 ~MonitorProcessor ()
 
bool display_to_user () const
 
void run (BufferSet &, framepos_t, framepos_t, pframes_t, bool)
 
XMLNodestate (bool full)
 
int set_state (const XMLNode &, int)
 
bool configure_io (ChanCount in, ChanCount out)
 
bool can_support_io_configuration (const ChanCount &in, ChanCount &out)
 
void set_cut_all (bool)
 
void set_dim_all (bool)
 
void set_polarity (uint32_t, bool invert)
 
void set_cut (uint32_t, bool cut)
 
void set_dim (uint32_t, bool dim)
 
void set_solo (uint32_t, bool)
 
void set_mono (bool)
 
gain_t dim_level () const
 
gain_t solo_boost_level () const
 
bool dimmed (uint32_t chn) const
 
bool soloed (uint32_t chn) const
 
bool inverted (uint32_t chn) const
 
bool cut (uint32_t chn) const
 
bool cut_all () const
 
bool dim_all () const
 
bool mono () const
 
boost::shared_ptr
< PBD::Controllable
channel_cut_control (uint32_t) const
 
boost::shared_ptr
< PBD::Controllable
channel_dim_control (uint32_t) const
 
boost::shared_ptr
< PBD::Controllable
channel_polarity_control (uint32_t) const
 
boost::shared_ptr
< PBD::Controllable
channel_solo_control (uint32_t) const
 
boost::shared_ptr
< PBD::Controllable
dim_control () const
 
boost::shared_ptr
< PBD::Controllable
cut_control () const
 
boost::shared_ptr
< PBD::Controllable
mono_control () const
 
boost::shared_ptr
< PBD::Controllable
dim_level_control () const
 
boost::shared_ptr
< PBD::Controllable
solo_boost_control () const
 
- Public Member Functions inherited from ARDOUR::Processor
 Processor (Session &, const std::string &name)
 
 Processor (const Processor &other)
 
virtual ~Processor ()
 
virtual std::string display_name () const
 
virtual void set_display_to_user (bool)
 
bool active () const
 
virtual bool does_routing () const
 
bool get_next_ab_is_active () const
 
void set_next_ab_is_active (bool yn)
 
virtual framecnt_t signal_latency () const
 
virtual int set_block_size (pframes_t)
 
virtual bool requires_fixed_sized_buffers () const
 
virtual void silence (framecnt_t)
 
virtual void activate ()
 
virtual void deactivate ()
 
virtual void flush ()
 
virtual ChanCount input_streams () const
 
virtual ChanCount output_streams () const
 
virtual void realtime_handle_transport_stopped ()
 
virtual void realtime_locate ()
 
virtual void monitoring_changed ()
 
XMLNodeget_state (void)
 
int set_state (const XMLNode &, int version)
 
void set_pre_fader (bool)
 
void set_ui (void *)
 
void * get_ui () const
 
ProcessorWindowProxywindow_proxy () const
 
void set_window_proxy (ProcessorWindowProxy *wp)
 
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 ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_changes (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 (Command *) const
 
virtual void rdiff (std::vector< 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
 Destructible ()
 
virtual ~Destructible ()
 
void drop_references ()
 
- Public Member Functions inherited from ARDOUR::Automatable
 Automatable (Session &)
 
 Automatable (const Automatable &other)
 
virtual ~Automatable ()
 
boost::shared_ptr
< Evoral::Control
control_factory (const Evoral::Parameter &id)
 
boost::shared_ptr
< AutomationControl
automation_control (const Evoral::Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const
AutomationControl
automation_control (const Evoral::Parameter &id) const
 
virtual void add_control (boost::shared_ptr< Evoral::Control >)
 
void clear_controls ()
 
virtual void transport_located (framepos_t now)
 
virtual void transport_stopped (framepos_t now)
 
virtual std::string describe_parameter (Evoral::Parameter param)
 
virtual std::string value_as_string (boost::shared_ptr< AutomationControl >) const
 
AutoState get_parameter_automation_state (Evoral::Parameter param)
 
virtual void set_parameter_automation_state (Evoral::Parameter param, AutoState)
 
AutoStyle get_parameter_automation_style (Evoral::Parameter param)
 
void set_parameter_automation_style (Evoral::Parameter param, AutoStyle)
 
void protect_automation ()
 
const std::set
< Evoral::Parameter > & 
what_can_be_automated () 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 ()
 
- Public Member Functions inherited from Evoral::ControlSet
 ControlSet ()
 
 ControlSet (const ControlSet &)
 
virtual ~ControlSet ()
 
boost::shared_ptr< Controlcontrol (const Parameter &id, bool create_if_missing=false)
 
boost::shared_ptr< const Controlcontrol (const Parameter &id) const
 
Controlscontrols ()
 
const Controlscontrols () const
 
bool find_next_event (double start, double end, ControlEvent &ev) const
 
virtual bool controls_empty () const
 
void what_has_data (std::set< Parameter > &) const
 
Glib::Threads::Mutex & control_lock () const
 
- Public Member Functions inherited from ARDOUR::Latent
 Latent ()
 
virtual ~Latent ()
 
framecnt_t user_latency () const
 
framecnt_t effective_latency () const
 
virtual void set_user_latency (framecnt_t val)
 

Public Attributes

PBD::Signal0< void > Changed
 
- Public Attributes inherited from ARDOUR::Processor
PBD::Signal0< void > ActiveChanged
 
PBD::Signal2< void, ChanCount,
ChanCount
ConfigurationChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const
PropertyChange & > 
PropertyChanged
 
- Public Attributes inherited from PBD::Destructible
PBD::Signal0< void > Destroyed
 
PBD::Signal0< void > DropReferences
 
- Public Attributes inherited from ARDOUR::Automatable
PBD::Signal0< void > AutomationStateChanged
 

Private Member Functions

void allocate_channels (uint32_t)
 

Private Attributes

std::vector< ChannelRecord * > _channels
 
uint32_t solo_cnt
 
MPControl< bool > * _dim_all_ptr
 
MPControl< bool > * _cut_all_ptr
 
MPControl< bool > * _mono_ptr
 
MPControl< volatile gain_t > * _dim_level_ptr
 
MPControl< volatile gain_t > * _solo_boost_level_ptr
 
boost::shared_ptr
< PBD::Controllable
_dim_all_control
 
boost::shared_ptr
< PBD::Controllable
_cut_all_control
 
boost::shared_ptr
< PBD::Controllable
_mono_control
 
boost::shared_ptr
< PBD::Controllable
_dim_level_control
 
boost::shared_ptr
< PBD::Controllable
_solo_boost_level_control
 
MPControl< bool > & _dim_all
 
MPControl< bool > & _cut_all
 
MPControl< bool > & _mono
 
MPControl< volatile gain_t > & _dim_level
 
MPControl< volatile gain_t > & _solo_boost_level
 

Additional Inherited Members

- Public Types inherited from Evoral::ControlSet
typedef std::map< Parameter,
boost::shared_ptr< Control > > 
Controls
 
- Static Public Member Functions inherited from ARDOUR::SessionObject
static void make_property_quarks ()
 
- Static Public Attributes inherited from ARDOUR::Processor
static const std::string state_node_name = "Processor"
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version = 0
 
static int loading_state_version = 0
 
- Static Public Attributes inherited from ARDOUR::Automatable
static const std::string xml_node_name = X_("Automation")
 
- Protected Member Functions inherited from ARDOUR::Processor
virtual int set_state_2X (const XMLNode &, int version)
 
- 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 &)
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
- Protected Member Functions inherited from ARDOUR::Automatable
void can_automate (Evoral::Parameter)
 
virtual void automation_list_automation_state_changed (Evoral::Parameter, AutoState)
 
int load_automation (const std::string &path)
 
int old_set_automation_state (const XMLNode &)
 
- Protected Member Functions inherited from Evoral::ControlSet
virtual void control_list_marked_dirty ()
 
virtual void control_list_interpolation_changed (Parameter, ControlList::InterpolationStyle)
 
- 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
 
SessionObject_owner
 
- 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
 
std::set< Evoral::Parameter_can_automate_list
 
framepos_t _last_automation_snapshot
 
- Protected Attributes inherited from Evoral::ControlSet
Glib::Threads::Mutex _control_lock
 
Controls _controls
 
PBD::ScopedConnectionList _list_connections
 
- Protected Attributes inherited from ARDOUR::Latent
framecnt_t _user_latency
 

Detailed Description

Definition at line 122 of file monitor_processor.h.

Constructor & Destructor Documentation

MonitorProcessor::MonitorProcessor ( Session s)

Definition at line 49 of file monitor_processor.cc.

MonitorProcessor::~MonitorProcessor ( )

Definition at line 79 of file monitor_processor.cc.

Member Function Documentation

void MonitorProcessor::allocate_channels ( uint32_t  size)
private

Definition at line 85 of file monitor_processor.cc.

bool MonitorProcessor::can_support_io_configuration ( const ChanCount in,
ChanCount out 
)
virtual

Implements ARDOUR::Processor.

Definition at line 357 of file monitor_processor.cc.

boost::shared_ptr< Controllable > MonitorProcessor::channel_cut_control ( uint32_t  chn) const

Definition at line 474 of file monitor_processor.cc.

boost::shared_ptr< Controllable > MonitorProcessor::channel_dim_control ( uint32_t  chn) const

Definition at line 483 of file monitor_processor.cc.

boost::shared_ptr< Controllable > MonitorProcessor::channel_polarity_control ( uint32_t  chn) const

Definition at line 492 of file monitor_processor.cc.

boost::shared_ptr< Controllable > MonitorProcessor::channel_solo_control ( uint32_t  chn) const

Definition at line 501 of file monitor_processor.cc.

bool MonitorProcessor::configure_io ( ChanCount  in,
ChanCount  out 
)
virtual
Precondition
Caller must hold process lock

Reimplemented from ARDOUR::Processor.

Definition at line 350 of file monitor_processor.cc.

bool MonitorProcessor::cut ( uint32_t  chn) const

Definition at line 444 of file monitor_processor.cc.

bool MonitorProcessor::cut_all ( ) const

Definition at line 468 of file monitor_processor.cc.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::cut_control ( ) const
inline

Definition at line 165 of file monitor_processor.h.

bool MonitorProcessor::dim_all ( ) const

Definition at line 462 of file monitor_processor.cc.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::dim_control ( ) const
inline

Definition at line 164 of file monitor_processor.h.

gain_t ARDOUR::MonitorProcessor::dim_level ( ) const
inline

Definition at line 146 of file monitor_processor.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::dim_level_control ( ) const
inline

Definition at line 167 of file monitor_processor.h.

bool MonitorProcessor::dimmed ( uint32_t  chn) const

Definition at line 450 of file monitor_processor.cc.

bool MonitorProcessor::display_to_user ( ) const
virtual

Reimplemented from ARDOUR::Processor.

Definition at line 424 of file monitor_processor.cc.

bool MonitorProcessor::inverted ( uint32_t  chn) const

Definition at line 437 of file monitor_processor.cc.

bool MonitorProcessor::mono ( ) const

Definition at line 456 of file monitor_processor.cc.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::mono_control ( ) const
inline

Definition at line 166 of file monitor_processor.h.

void MonitorProcessor::run ( BufferSet ,
framepos_t  ,
framepos_t  ,
pframes_t  ,
bool   
)
virtual
Parameters
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.

Definition at line 271 of file monitor_processor.cc.

void MonitorProcessor::set_cut ( uint32_t  chn,
bool  cut 
)

Definition at line 380 of file monitor_processor.cc.

void MonitorProcessor::set_cut_all ( bool  yn)

Definition at line 412 of file monitor_processor.cc.

void MonitorProcessor::set_dim ( uint32_t  chn,
bool  dim 
)

Definition at line 374 of file monitor_processor.cc.

void MonitorProcessor::set_dim_all ( bool  yn)

Definition at line 418 of file monitor_processor.cc.

void MonitorProcessor::set_mono ( bool  yn)

Definition at line 406 of file monitor_processor.cc.

void MonitorProcessor::set_polarity ( uint32_t  chn,
bool  invert 
)

Definition at line 364 of file monitor_processor.cc.

void MonitorProcessor::set_solo ( uint32_t  chn,
bool  solo 
)

Definition at line 390 of file monitor_processor.cc.

int MonitorProcessor::set_state ( const XMLNode node,
int  version 
)
virtual

Implements PBD::Stateful.

Definition at line 106 of file monitor_processor.cc.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::solo_boost_control ( ) const
inline

Definition at line 168 of file monitor_processor.h.

gain_t ARDOUR::MonitorProcessor::solo_boost_level ( ) const
inline

Definition at line 147 of file monitor_processor.h.

bool MonitorProcessor::soloed ( uint32_t  chn) const

Definition at line 430 of file monitor_processor.cc.

XMLNode & MonitorProcessor::state ( bool  full)
virtual

Reimplemented from ARDOUR::Processor.

Definition at line 225 of file monitor_processor.cc.

Member Data Documentation

std::vector<ChannelRecord*> ARDOUR::MonitorProcessor::_channels
private

Definition at line 198 of file monitor_processor.h.

MPControl<bool>& ARDOUR::MonitorProcessor::_cut_all
private

Definition at line 221 of file monitor_processor.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::_cut_all_control
private

Definition at line 213 of file monitor_processor.h.

MPControl<bool>* ARDOUR::MonitorProcessor::_cut_all_ptr
private

Definition at line 205 of file monitor_processor.h.

MPControl<bool>& ARDOUR::MonitorProcessor::_dim_all
private

Definition at line 220 of file monitor_processor.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::_dim_all_control
private

Definition at line 212 of file monitor_processor.h.

MPControl<bool>* ARDOUR::MonitorProcessor::_dim_all_ptr
private

Definition at line 204 of file monitor_processor.h.

MPControl<volatile gain_t>& ARDOUR::MonitorProcessor::_dim_level
private

Definition at line 223 of file monitor_processor.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::_dim_level_control
private

Definition at line 215 of file monitor_processor.h.

MPControl<volatile gain_t>* ARDOUR::MonitorProcessor::_dim_level_ptr
private

Definition at line 207 of file monitor_processor.h.

MPControl<bool>& ARDOUR::MonitorProcessor::_mono
private

Definition at line 222 of file monitor_processor.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::_mono_control
private

Definition at line 214 of file monitor_processor.h.

MPControl<bool>* ARDOUR::MonitorProcessor::_mono_ptr
private

Definition at line 206 of file monitor_processor.h.

MPControl<volatile gain_t>& ARDOUR::MonitorProcessor::_solo_boost_level
private

Definition at line 224 of file monitor_processor.h.

boost::shared_ptr<PBD::Controllable> ARDOUR::MonitorProcessor::_solo_boost_level_control
private

Definition at line 216 of file monitor_processor.h.

MPControl<volatile gain_t>* ARDOUR::MonitorProcessor::_solo_boost_level_ptr
private

Definition at line 208 of file monitor_processor.h.

PBD::Signal0<void> ARDOUR::MonitorProcessor::Changed

Definition at line 157 of file monitor_processor.h.

uint32_t ARDOUR::MonitorProcessor::solo_cnt
private

Definition at line 200 of file monitor_processor.h.


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