ardour
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
MeterStrip Class Reference

#include <meter_strip.h>

Inheritance diagram for MeterStrip:
RouteUI AxisView Selectable PBD::ScopedConnectionList ARDOUR::SessionHandlePtr

Public Member Functions

 MeterStrip (ARDOUR::Session *, boost::shared_ptr< ARDOUR::Route >)
 
 MeterStrip (int, ARDOUR::MeterType)
 
 ~MeterStrip ()
 
void set_session (ARDOUR::Session *s)
 
void fast_update ()
 
boost::shared_ptr< ARDOUR::Routeroute ()
 
void reset_peak_display ()
 
void reset_route_peak_display (ARDOUR::Route *)
 
void reset_group_peak_display (ARDOUR::RouteGroup *)
 
void set_meter_type_multi (int, ARDOUR::RouteGroup *, ARDOUR::MeterType)
 
void set_metric_mode (int, ARDOUR::MeterType)
 
int get_metric_mode ()
 
void set_tick_bar (int)
 
int get_tick_bar ()
 
bool has_midi ()
 
bool is_metric_display ()
 
ARDOUR::MeterType meter_type ()
 
- Public Member Functions inherited from RouteUI
 RouteUI (ARDOUR::Session *)
 
 RouteUI (boost::shared_ptr< ARDOUR::Route >, ARDOUR::Session *)
 
virtual ~RouteUI ()
 
Gdk::Color color () const
 
virtual void set_route (boost::shared_ptr< ARDOUR::Route >)
 
bool is_track () const
 
bool is_audio_track () const
 
bool is_midi_track () const
 
bool has_audio_outputs () const
 
boost::shared_ptr< ARDOUR::Routeroute () const
 
ARDOUR::RouteGrouproute_group () const
 
boost::shared_ptr< ARDOUR::Tracktrack () const
 
boost::shared_ptr
< ARDOUR::AudioTrack
audio_track () const
 
boost::shared_ptr
< ARDOUR::MidiTrack
midi_track () const
 
std::string name () const
 
void request_redraw ()
 
virtual void set_color (const Gdk::Color &c)
 
void choose_color ()
 
void send_blink (bool)
 
bool mute_press (GdkEventButton *)
 
bool mute_release (GdkEventButton *)
 
bool solo_press (GdkEventButton *)
 
bool solo_release (GdkEventButton *)
 
bool rec_enable_press (GdkEventButton *)
 
bool rec_enable_release (GdkEventButton *)
 
bool show_sends_press (GdkEventButton *)
 
bool show_sends_release (GdkEventButton *)
 
bool monitor_release (GdkEventButton *, ARDOUR::MonitorChoice)
 
bool monitor_input_press (GdkEventButton *)
 
bool monitor_input_release (GdkEventButton *)
 
bool monitor_disk_press (GdkEventButton *)
 
bool monitor_disk_release (GdkEventButton *)
 
void monitoring_changed ()
 
void update_monitoring_display ()
 
void edit_input_configuration ()
 
void edit_output_configuration ()
 
void step_gain_up ()
 
void step_gain_down ()
 
void page_gain_up ()
 
void page_gain_down ()
 
void build_sends_menu ()
 
void set_sends_gain_from_track ()
 
void set_sends_gain_to_zero ()
 
void set_sends_gain_to_unity ()
 
void create_sends (ARDOUR::Placement, bool)
 
void create_selected_sends (ARDOUR::Placement, bool)
 
void solo_changed (bool, void *)
 
void solo_changed_so_update_mute ()
 
void listen_changed (void *)
 
virtual void processors_changed (ARDOUR::RouteProcessorChange)
 
void route_rec_enable_changed ()
 
void session_rec_enable_changed ()
 
void build_solo_menu ()
 
void solo_isolated_toggle (void *, Gtk::CheckMenuItem *)
 
void toggle_solo_isolated (Gtk::CheckMenuItem *)
 
bool solo_isolate_button_release (GdkEventButton *)
 
bool solo_safe_button_release (GdkEventButton *)
 
void solo_safe_toggle (void *, Gtk::CheckMenuItem *)
 
void toggle_solo_safe (Gtk::CheckMenuItem *)
 
void toggle_mute_menu (ARDOUR::MuteMaster::MutePoint, Gtk::CheckMenuItem *)
 
void muting_change ()
 
void build_mute_menu (void)
 
void init_mute_menu (ARDOUR::MuteMaster::MutePoint, Gtk::CheckMenuItem *)
 
int set_color_from_route ()
 
void route_rename ()
 
virtual void property_changed (const PBD::PropertyChange &)
 
void route_removed ()
 
virtual void route_active_changed ()
 
void set_route_active (bool, bool)
 
void build_record_menu ()
 
void toggle_step_edit ()
 
virtual void step_edit_changed (bool)
 
virtual void polarity_changed ()
 
void toggle_denormal_protection ()
 
virtual void denormal_protection_changed ()
 
void disconnect_input ()
 
void disconnect_output ()
 
void update_mute_display ()
 
void update_solo_display ()
 
virtual void map_frozen ()
 
void adjust_latency ()
 
void save_as_template ()
 
void open_remote_control_id_dialog ()
 
void comment_editor_done_editing ()
 
void setup_comment_editor ()
 
void open_comment_editor ()
 
void toggle_comment_editor ()
 
gint comment_key_release_handler (GdkEventKey *)
 
void comment_changed (void *src)
 
void comment_edited ()
 
- Public Member Functions inherited from AxisView
Gdk::Color color () const
 
ARDOUR::Sessionsession () const
 
void set_old_order_key (uint32_t ok)
 
uint32_t old_order_key () const
 
std::string gui_property (const std::string &property_name) const
 
template<typename T >
void set_gui_property (const std::string &property_name, const T &value)
 
void cleanup_gui_properties ()
 
bool marked_for_display () const
 
virtual bool set_marked_for_display (bool)
 
void clear_property_cache ()
 
- Public Member Functions inherited from Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual void set_selected (bool yn)
 
bool get_selected () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 

Static Public Attributes

static PBD::Signal1< void,
MeterStrip * > 
CatchDeletion
 
static PBD::Signal0< void > MetricChanged
 
static PBD::Signal0< void > ConfigurationChanged
 
- Static Public Attributes inherited from RouteUI
static PBD::Signal1< void,
boost::shared_ptr
< ARDOUR::Route > > 
BusSendDisplayChanged
 

Protected Member Functions

void self_delete ()
 
gint meter_metrics_expose (GdkEventExpose *)
 
gint meter_ticks1_expose (GdkEventExpose *)
 
gint meter_ticks2_expose (GdkEventExpose *)
 
void on_theme_changed ()
 
void on_size_allocate (Gtk::Allocation &)
 
void on_size_request (Gtk::Requisition *)
 
void blink_rec_display (bool onoff)
 
std::string state_id () const
 
void set_button_names ()
 
- Protected Member Functions inherited from RouteUI
void init ()
 
void reset ()
 
void self_delete ()
 
virtual void start_step_editing ()
 
virtual void stop_step_editing ()
 
void set_invert_sensitive (bool)
 
bool verify_new_route_name (const std::string &name)
 
void route_gui_changed (std::string)
 
virtual void bus_send_display_changed (boost::shared_ptr< ARDOUR::Route >)
 
- Protected Member Functions inherited from AxisView
 AxisView (ARDOUR::Session *sess)
 
virtual ~AxisView ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 

Protected Attributes

boost::shared_ptr< ARDOUR::Route_route
 
PBD::ScopedConnectionList meter_route_connections
 
PBD::ScopedConnectionList level_meter_connection
 
- Protected Attributes inherited from RouteUI
ArdourWindowcomment_window
 
Gtk::TextView * comment_area
 
IOSelectorWindowinput_selector
 
IOSelectorWindowoutput_selector
 
PBD::ScopedConnectionList route_connections
 
bool self_destruct
 
- Protected Attributes inherited from AxisView
Gdk::Color _color
 
Gtk::Label name_label
 
boost::unordered_map
< std::string, std::string > 
property_hashtable
 
uint32_t _old_order_key
 
- Protected Attributes inherited from Selectable
bool _selected
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Private Member Functions

void strip_property_changed (const PBD::PropertyChange &)
 
void meter_configuration_changed (ARDOUR::ChanCount)
 
void meter_type_changed (ARDOUR::MeterType)
 
void update_background (ARDOUR::MeterType)
 
bool peak_button_release (GdkEventButton *)
 
void parameter_changed (std::string const &p)
 
void redraw_metrics ()
 
void update_button_box ()
 
void update_name_box ()
 
void name_changed ()
 
void route_color_changed ()
 
bool level_meter_button_press (GdkEventButton *ev)
 
void popup_level_meter_menu (GdkEventButton *ev)
 
void add_level_meter_type_item (Gtk::Menu_Helpers::MenuList &, Gtk::RadioMenuItem::Group &, std::string const &, ARDOUR::MeterType)
 
bool name_label_button_release (GdkEventButton *ev)
 
void popup_name_label_menu (GdkEventButton *ev)
 
void add_label_height_item (Gtk::Menu_Helpers::MenuList &, Gtk::RadioMenuItem::Group &, std::string const &, uint32_t)
 
void set_meter_type (ARDOUR::MeterType mode)
 
void set_label_height (uint32_t)
 

Private Attributes

Gtk::VBox mtr_vbox
 
Gtk::VBox nfo_vbox
 
Gtk::EventBox mtr_container
 
Gtk::HSeparator mtr_hsep
 
Gtk::HBox meterbox
 
Gtk::HBox spacer
 
Gtk::HBox namebx
 
Gtk::VBox namenumberbx
 
ArdourButton name_label
 
ArdourButton number_label
 
Gtk::DrawingArea meter_metric_area
 
Gtk::DrawingArea meter_ticks1_area
 
Gtk::DrawingArea meter_ticks2_area
 
Gtk::HBox mutebox
 
Gtk::HBox solobox
 
Gtk::HBox recbox
 
Gtk::HBox mon_in_box
 
Gtk::HBox mon_disk_box
 
Gtk::Alignment meter_align
 
Gtk::Alignment peak_align
 
Gtk::HBox peakbx
 
Gtk::VBox btnbox
 
ArdourButton peak_display
 
std::vector< ARDOUR::DataType_types
 
ARDOUR::MeterType metric_type
 
float max_peak
 
bool _has_midi
 
int _tick_bar
 
int _strip_type
 
int _metricmode
 
LevelMeterHBoxlevel_meter
 
bool _suspend_menu_callbacks
 

Additional Inherited Members

- Static Public Member Functions inherited from RouteUI
static Gtkmm2ext::ActiveState solo_active_state (boost::shared_ptr< ARDOUR::Route >)
 
static Gtkmm2ext::ActiveState solo_isolate_active_state (boost::shared_ptr< ARDOUR::Route >)
 
static Gtkmm2ext::ActiveState solo_safe_active_state (boost::shared_ptr< ARDOUR::Route >)
 
static Gtkmm2ext::ActiveState mute_active_state (ARDOUR::Session *, boost::shared_ptr< ARDOUR::Route >)
 
- Static Public Member Functions inherited from AxisView
static GUIObjectStategui_object_state ()
 
- Public Attributes inherited from RouteUI
boost::shared_ptr< ARDOUR::Route_route
 
bool ignore_toggle
 
bool wait_for_release
 
bool multiple_mute_change
 
bool multiple_solo_change
 
Gtk::HBox _invert_button_box
 
ArdourButtonmute_button
 
ArdourButtonsolo_button
 
ArdourButtonrec_enable_button
 
ArdourButtonshow_sends_button
 
ArdourButtonmonitor_input_button
 
ArdourButtonmonitor_disk_button
 
Glib::RefPtr< Gdk::Pixbuf > solo_safe_pixbuf
 
ArdourButtonsolo_safe_led
 
ArdourButtonsolo_isolated_led
 
Gtk::Label monitor_input_button_label
 
Gtk::Label monitor_disk_button_label
 
sigc::connection send_blink_connection
 
sigc::connection rec_blink_connection
 
Gtk::Menu * mute_menu
 
Gtk::Menu * solo_menu
 
Gtk::Menu * sends_menu
 
boost::shared_ptr
< ARDOUR::Delivery
_current_delivery
 
Gtk::CheckMenuItem * pre_fader_mute_check
 
Gtk::CheckMenuItem * post_fader_mute_check
 
Gtk::CheckMenuItem * listen_mute_check
 
Gtk::CheckMenuItem * main_mute_check
 
Gtk::CheckMenuItem * solo_safe_check
 
Gtk::CheckMenuItem * solo_isolated_check
 
Gtk::Menu * record_menu
 
Gtk::CheckMenuItem * step_edit_item
 
Gtk::CheckMenuItem * denormal_menu_item
 
bool ignore_comment_edit
 
- Public Attributes inherited from AxisView
sigc::signal< void > Hiding
 
- Static Protected Member Functions inherited from AxisView
static Gdk::Color unique_random_color ()
 
- Static Protected Attributes inherited from AxisView
static std::list< Gdk::Color > used_colors
 

Detailed Description

Definition at line 46 of file meter_strip.h.

Constructor & Destructor Documentation

MeterStrip::MeterStrip ( ARDOUR::Session sess,
boost::shared_ptr< ARDOUR::Route rt 
)

Definition at line 119 of file meter_strip.cc.

MeterStrip::MeterStrip ( int  metricmode,
ARDOUR::MeterType  mt 
)

Definition at line 64 of file meter_strip.cc.

MeterStrip::~MeterStrip ( )

Definition at line 324 of file meter_strip.cc.

Member Function Documentation

void MeterStrip::add_label_height_item ( Gtk::Menu_Helpers::MenuList &  ,
Gtk::RadioMenuItem::Group &  ,
std::string const &  ,
uint32_t   
)
private

Definition at line 907 of file meter_strip.cc.

void MeterStrip::add_level_meter_type_item ( Gtk::Menu_Helpers::MenuList &  ,
Gtk::RadioMenuItem::Group &  ,
std::string const &  ,
ARDOUR::MeterType   
)
private

Definition at line 917 of file meter_strip.cc.

void MeterStrip::blink_rec_display ( bool  onoff)
protectedvirtual

Reimplemented from RouteUI.

Definition at line 349 of file meter_strip.cc.

void MeterStrip::fast_update ( )

Definition at line 413 of file meter_strip.cc.

int MeterStrip::get_metric_mode ( )
inline

Definition at line 68 of file meter_strip.h.

int MeterStrip::get_tick_bar ( )
inline

Definition at line 70 of file meter_strip.h.

bool MeterStrip::has_midi ( )
inline

Definition at line 71 of file meter_strip.h.

bool MeterStrip::is_metric_display ( )
inline

Definition at line 72 of file meter_strip.h.

bool MeterStrip::level_meter_button_press ( GdkEventButton *  ev)
private

Definition at line 821 of file meter_strip.cc.

void MeterStrip::meter_configuration_changed ( ARDOUR::ChanCount  c)
private

Definition at line 437 of file meter_strip.cc.

gint MeterStrip::meter_metrics_expose ( GdkEventExpose *  ev)
protected

Definition at line 587 of file meter_strip.cc.

gint MeterStrip::meter_ticks1_expose ( GdkEventExpose *  ev)
protected

Definition at line 659 of file meter_strip.cc.

gint MeterStrip::meter_ticks2_expose ( GdkEventExpose *  ev)
protected

Definition at line 666 of file meter_strip.cc.

MeterType MeterStrip::meter_type ( )

Definition at line 651 of file meter_strip.cc.

void MeterStrip::meter_type_changed ( ARDOUR::MeterType  type)
private

Definition at line 943 of file meter_strip.cc.

void MeterStrip::name_changed ( )
private

Definition at line 798 of file meter_strip.cc.

bool MeterStrip::name_label_button_release ( GdkEventButton *  ev)
private

Definition at line 872 of file meter_strip.cc.

void MeterStrip::on_size_allocate ( Gtk::Allocation &  a)
protected

Definition at line 514 of file meter_strip.cc.

void MeterStrip::on_size_request ( Gtk::Requisition *  r)
protected

Definition at line 508 of file meter_strip.cc.

void MeterStrip::on_theme_changed ( )
protected

Definition at line 425 of file meter_strip.cc.

void MeterStrip::parameter_changed ( std::string const &  p)
private

Definition at line 768 of file meter_strip.cc.

bool MeterStrip::peak_button_release ( GdkEventButton *  ev)
private

Definition at line 698 of file meter_strip.cc.

void MeterStrip::popup_level_meter_menu ( GdkEventButton *  ev)
private

Definition at line 834 of file meter_strip.cc.

void MeterStrip::popup_name_label_menu ( GdkEventButton *  ev)
private

Definition at line 886 of file meter_strip.cc.

void MeterStrip::redraw_metrics ( )
private

Definition at line 713 of file meter_strip.cc.

void MeterStrip::reset_group_peak_display ( ARDOUR::RouteGroup group)

Definition at line 681 of file meter_strip.cc.

void MeterStrip::reset_peak_display ( )

Definition at line 689 of file meter_strip.cc.

void MeterStrip::reset_route_peak_display ( ARDOUR::Route route)

Definition at line 673 of file meter_strip.cc.

boost::shared_ptr<ARDOUR::Route> MeterStrip::route ( )
inline

Definition at line 55 of file meter_strip.h.

void MeterStrip::route_color_changed ( )
privatevirtual

Reimplemented from RouteUI.

Definition at line 406 of file meter_strip.cc.

void MeterStrip::self_delete ( )
protected

Definition at line 333 of file meter_strip.cc.

void MeterStrip::set_button_names ( )
protectedvirtual

Implements RouteUI.

Definition at line 365 of file meter_strip.cc.

void MeterStrip::set_label_height ( uint32_t  h)
private

Definition at line 936 of file meter_strip.cc.

void MeterStrip::set_meter_type ( ARDOUR::MeterType  mode)
private

Definition at line 927 of file meter_strip.cc.

void MeterStrip::set_meter_type_multi ( int  what,
ARDOUR::RouteGroup group,
ARDOUR::MeterType  type 
)

Definition at line 953 of file meter_strip.cc.

void MeterStrip::set_metric_mode ( int  metricmode,
ARDOUR::MeterType  mt 
)

Definition at line 597 of file meter_strip.cc.

void MeterStrip::set_session ( ARDOUR::Session s)
virtual

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 339 of file meter_strip.cc.

void MeterStrip::set_tick_bar ( int  m)

Definition at line 479 of file meter_strip.cc.

std::string MeterStrip::state_id ( ) const
protectedvirtual

Implements AxisView.

Definition at line 355 of file meter_strip.cc.

void MeterStrip::strip_property_changed ( const PBD::PropertyChange what_changed)
private

Definition at line 392 of file meter_strip.cc.

void MeterStrip::update_background ( ARDOUR::MeterType  type)
private

Definition at line 630 of file meter_strip.cc.

void MeterStrip::update_button_box ( )
private

Definition at line 721 of file meter_strip.cc.

void MeterStrip::update_name_box ( )
private

Definition at line 757 of file meter_strip.cc.

Member Data Documentation

bool MeterStrip::_has_midi
private

Definition at line 126 of file meter_strip.h.

int MeterStrip::_metricmode
private

Definition at line 129 of file meter_strip.h.

boost::shared_ptr<ARDOUR::Route> MeterStrip::_route
protected

Definition at line 76 of file meter_strip.h.

int MeterStrip::_strip_type
private

Definition at line 128 of file meter_strip.h.

bool MeterStrip::_suspend_menu_callbacks
private

Definition at line 148 of file meter_strip.h.

int MeterStrip::_tick_bar
private

Definition at line 127 of file meter_strip.h.

std::vector<ARDOUR::DataType> MeterStrip::_types
private

Definition at line 122 of file meter_strip.h.

Gtk::VBox MeterStrip::btnbox
private

Definition at line 119 of file meter_strip.h.

PBD::Signal1< void, MeterStrip * > MeterStrip::CatchDeletion
static

Definition at line 57 of file meter_strip.h.

PBD::Signal0< void > MeterStrip::ConfigurationChanged
static

Definition at line 59 of file meter_strip.h.

LevelMeterHBox* MeterStrip::level_meter
private

Definition at line 131 of file meter_strip.h.

PBD::ScopedConnectionList MeterStrip::level_meter_connection
protected

Definition at line 78 of file meter_strip.h.

float MeterStrip::max_peak
private

Definition at line 125 of file meter_strip.h.

Gtk::Alignment MeterStrip::meter_align
private

Definition at line 116 of file meter_strip.h.

Gtk::DrawingArea MeterStrip::meter_metric_area
private

Definition at line 106 of file meter_strip.h.

PBD::ScopedConnectionList MeterStrip::meter_route_connections
protected

Definition at line 77 of file meter_strip.h.

Gtk::DrawingArea MeterStrip::meter_ticks1_area
private

Definition at line 107 of file meter_strip.h.

Gtk::DrawingArea MeterStrip::meter_ticks2_area
private

Definition at line 108 of file meter_strip.h.

Gtk::HBox MeterStrip::meterbox
private

Definition at line 100 of file meter_strip.h.

ARDOUR::MeterType MeterStrip::metric_type
private

Definition at line 123 of file meter_strip.h.

PBD::Signal0< void > MeterStrip::MetricChanged
static

Definition at line 58 of file meter_strip.h.

Gtk::HBox MeterStrip::mon_disk_box
private

Definition at line 114 of file meter_strip.h.

Gtk::HBox MeterStrip::mon_in_box
private

Definition at line 113 of file meter_strip.h.

Gtk::EventBox MeterStrip::mtr_container
private

Definition at line 98 of file meter_strip.h.

Gtk::HSeparator MeterStrip::mtr_hsep
private

Definition at line 99 of file meter_strip.h.

Gtk::VBox MeterStrip::mtr_vbox
private

Definition at line 96 of file meter_strip.h.

Gtk::HBox MeterStrip::mutebox
private

Definition at line 110 of file meter_strip.h.

ArdourButton MeterStrip::name_label
private

Definition at line 104 of file meter_strip.h.

Gtk::HBox MeterStrip::namebx
private

Definition at line 102 of file meter_strip.h.

Gtk::VBox MeterStrip::namenumberbx
private

Definition at line 103 of file meter_strip.h.

Gtk::VBox MeterStrip::nfo_vbox
private

Definition at line 97 of file meter_strip.h.

ArdourButton MeterStrip::number_label
private

Definition at line 105 of file meter_strip.h.

Gtk::Alignment MeterStrip::peak_align
private

Definition at line 117 of file meter_strip.h.

ArdourButton MeterStrip::peak_display
private

Definition at line 120 of file meter_strip.h.

Gtk::HBox MeterStrip::peakbx
private

Definition at line 118 of file meter_strip.h.

Gtk::HBox MeterStrip::recbox
private

Definition at line 112 of file meter_strip.h.

Gtk::HBox MeterStrip::solobox
private

Definition at line 111 of file meter_strip.h.

Gtk::HBox MeterStrip::spacer
private

Definition at line 101 of file meter_strip.h.


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