Ardour  9.0-pre0-582-g084a23a80d
VCATimeAxisView Class Reference

#include <vca_time_axis.h>

Inheritance diagram for VCATimeAxisView:
[legend]

Public Member Functions

 VCATimeAxisView (PublicEditor &, ARDOUR::Session *, ArdourCanvas::Canvas &canvas)
 
virtual ~VCATimeAxisView ()
 
std::shared_ptr< ARDOUR::Stripablestripable () const
 
ARDOUR::PresentationInfo const & presentation_info () const
 
void set_vca (std::shared_ptr< ARDOUR::VCA >)
 
std::shared_ptr< ARDOUR::VCAvca () const
 
std::string name () const
 
Gdk::Color color () const
 
std::string state_id () const
 
void set_height (uint32_t h, TrackHeightMode m=OnlySelf, bool from_idle=false)
 
bool marked_for_display () const
 
bool set_marked_for_display (bool)
 
void show_all_automation (bool apply_to_selection=false)
 
void show_existing_automation (bool apply_to_selection=false)
 
void hide_all_automation (bool apply_to_selection=false)
 
- Public Member Functions inherited from StripableTimeAxisView
 StripableTimeAxisView (PublicEditor &, ARDOUR::Session *, ArdourCanvas::Canvas &canvas)
 
virtual ~StripableTimeAxisView ()
 
void set_stripable (std::shared_ptr< ARDOUR::Stripable >)
 
const AutomationTracksautomation_tracks () const
 
virtual Gtk::CheckMenuItemautomation_child_menu_item (Evoral::Parameter)
 
virtual std::shared_ptr< AutomationTimeAxisViewautomation_child (Evoral::Parameter param, PBD::ID ctrl_id=PBD::ID(0))
 
virtual std::shared_ptr< AutomationLineautomation_child_by_alist_id (PBD::ID)
 
void request_redraw ()
 
- Public Member Functions inherited from TimeAxisView
 TimeAxisView (ARDOUR::Session *sess, PublicEditor &ed, TimeAxisView *parent, ArdourCanvas::Canvas &canvas)
 
virtual ~TimeAxisView ()
 
int order () const
 
ArdourCanvas::Containercanvas_display ()
 
ArdourCanvas::Containerghost_group ()
 
uint32_t effective_height () const
 
double y_position () const
 
PublicEditoreditor () const
 
uint32_t current_height () const
 
void idle_resize (int32_t)
 
virtual guint32 show_at (double y, int &nth, Gtk::VBox *parent)
 
virtual void hide ()
 
bool touched (double top, double bot)
 
bool hidden () const
 
void set_selected (bool)
 
virtual bool selectable () const
 
virtual void entered ()
 
virtual void exited ()
 
void set_height_enum (Height, bool apply_to_selection=false)
 
void reset_height ()
 
virtual void reset_visual_state ()
 
std::pair< TimeAxisView *, double > covers_y_position (double) const
 
bool covered_by_y_range (double y0, double y1) const
 
virtual void step_height (bool)
 
virtual ARDOUR::RouteGrouproute_group () const
 
virtual std::shared_ptr< ARDOUR::Playlistplaylist () const
 
virtual void show_selection (TimeSelection &)
 
virtual void hide_selection ()
 
virtual void reshow_selection (TimeSelection &)
 
virtual void show_timestretch (Temporal::timepos_t const &start, Temporal::timepos_t const &end, int layers, int layer)
 
virtual void hide_timestretch ()
 
virtual void cut_copy_clear (Selection &, Editing::CutCopyOp)
 
virtual bool paste (Temporal::timepos_t const &pos, const Selection &selection, PasteContext &ctx)
 
virtual void set_selected_regionviews (RegionSelection &)
 
virtual void set_selected_points (PointSelection &)
 
virtual void fade_range (TimeSelection &)
 
virtual std::shared_ptr< ARDOUR::Regionfind_next_region (ARDOUR::timepos_t const &, ARDOUR::RegionPoint, int32_t)
 
void order_selection_trims (ArdourCanvas::Item *item, bool put_start_on_top)
 
void _get_selectables (Temporal::timepos_t const &, Temporal::timepos_t const &, double, double, std::list< Selectable * > &, bool within)
 
void get_inverted_selectables (Selection &, std::list< Selectable * > &results)
 
virtual void get_regionviews_at_or_after (Temporal::timepos_t const &, RegionSelection &)
 
void add_ghost (RegionView *)
 
void remove_ghost (RegionView *)
 
void erase_ghost (GhostRegion *)
 
virtual void first_idle ()
 
TimeAxisViewget_parent ()
 
void set_parent (TimeAxisView &p)
 
virtual LayerDisplay layer_display () const
 
virtual StreamViewview () const
 
Children get_child_list () const
 
- Public Member Functions inherited from AxisView
virtual std::shared_ptr< ARDOUR::AutomationControlcontrol () const
 
std::string gui_property (const std::string &property_name) const
 
bool get_gui_property (const std::string &property_name, std::string &value) const
 
template<typename T >
bool get_gui_property (const std::string &property_name, T &value) const
 
template<typename T >
bool get_gui_property (const std::string &state_id, const std::string &property_name, T &value) const
 
void set_gui_property (const std::string &property_name, const std::string &value)
 
void remove_gui_property (const std::string &property_name)
 
void set_gui_property (const std::string &property_name, const char *value)
 
template<typename T >
void set_gui_property (const std::string &property_name, const T &value)
 
void cleanup_gui_properties ()
 
void clear_property_cache ()
 
- 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 ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 
virtual void set_session (ARDOUR::Session *)
 
virtual ARDOUR::Sessionsession () const
 
- Public Member Functions inherited from Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual bool selected () const
 
- Public Member Functions inherited from SelectableOwner
 SelectableOwner ()
 
virtual ~SelectableOwner ()
 
void get_selectables (Temporal::timepos_t const &start, Temporal::timepos_t const &end, double x, double y, std::list< Selectable * > &sl, bool within=false)
 

Protected Member Functions

void create_gain_automation_child (const Evoral::Parameter &, bool)
 
void create_trim_automation_child (const Evoral::Parameter &, bool)
 
void create_mute_automation_child (const Evoral::Parameter &, bool)
 
void create_automation_child (const Evoral::Parameter &param, bool show)
 
virtual void build_automation_action_menu (bool)
 
void build_display_menu ()
 
bool name_entry_changed (std::string const &)
 
void parameter_changed (std::string const &p)
 
void vca_property_changed (PBD::PropertyChange const &)
 
void update_vca_name ()
 
void set_button_names ()
 
void update_solo_display ()
 
void update_mute_display ()
 
void update_track_number_visibility ()
 
bool solo_release (GdkEventButton *)
 
bool mute_release (GdkEventButton *)
 
bool automation_click (GdkEventButton *)
 
bool drop_release (GdkEventButton *)
 
void self_delete ()
 
void drop_all_slaves ()
 
void choose_color ()
 
- Protected Member Functions inherited from StripableTimeAxisView
void reset_samples_per_pixel ()
 
virtual void set_samples_per_pixel (double)
 
void add_automation_child (Evoral::Parameter param, std::shared_ptr< AutomationTimeAxisView > track, bool show=true)
 
void automation_track_hidden (Evoral::Parameter param)
 
void update_gain_track_visibility ()
 
void update_trim_track_visibility ()
 
void update_mute_track_visibility ()
 
- Protected Member Functions inherited from TimeAxisView
virtual bool can_edit_name () const
 
void begin_name_edit ()
 
void end_name_edit (std::string, int)
 
virtual bool controls_ebox_button_release (GdkEventButton *)
 
virtual bool controls_ebox_scroll (GdkEventScroll *)
 
virtual bool controls_ebox_button_press (GdkEventButton *)
 
virtual bool controls_ebox_motion (GdkEventMotion *)
 
virtual bool controls_ebox_leave (GdkEventCrossing *)
 
virtual bool handle_display_menu_map_event (GdkEventAny *)
 
bool is_child (TimeAxisView *)
 
virtual bool propagate_time_selection () const
 
virtual void remove_child (std::shared_ptr< TimeAxisView >)
 
void add_child (std::shared_ptr< TimeAxisView >)
 
virtual void selection_click (GdkEventButton *)
 
void color_handler ()
 
void parameter_changed (std::string const &)
 
void conditionally_add_to_selection ()
 
void build_size_menu ()
 
- Protected Member Functions inherited from AxisView
 AxisView ()
 
virtual ~AxisView ()
 
void set_name_ellipsize_mode ()
 
- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 

Protected Attributes

std::shared_ptr< ARDOUR::VCA_vca
 
ArdourWidgets::ArdourButton solo_button
 
ArdourWidgets::ArdourButton mute_button
 
ArdourWidgets::ArdourButton automation_button
 
ArdourWidgets::ArdourButton drop_button
 
ArdourWidgets::ArdourButton number_label
 
GainMeterBase gain_meter
 
PBD::ScopedConnectionList vca_connections
 
Gtk::Menuautomation_action_menu
 
- Protected Attributes inherited from StripableTimeAxisView
std::shared_ptr< ARDOUR::Stripable_stripable
 
std::shared_ptr< AutomationTimeAxisViewgain_track
 
std::shared_ptr< AutomationTimeAxisViewtrim_track
 
std::shared_ptr< AutomationTimeAxisViewmute_track
 
ParameterMenuMap _main_automation_menu_map
 
Gtk::CheckMenuItemgain_automation_item
 
Gtk::CheckMenuItemtrim_automation_item
 
Gtk::CheckMenuItemmute_automation_item
 
AutomationTracks _automation_tracks
 
ArdourCanvas::Canvasparent_canvas
 
bool no_redraw
 
- Protected Attributes inherited from TimeAxisView
Gtk::Table controls_table
 
Glib::RefPtr< Gtk::SizeGroupcontrols_button_size_group
 
Gtk::EventBox controls_ebox
 
Gtk::VBox controls_vbox
 
Gtk::VBox time_axis_vbox
 
Gtk::HBox time_axis_hbox
 
Gtk::Frame time_axis_frame
 
Gtk::HBox top_hbox
 
Gtk::Fixed scroomer_placeholder
 
bool _name_editing
 
uint32_t height
 
std::string controls_base_unselected_name
 
std::string controls_base_selected_name
 
Gtk::Menudisplay_menu
 
TimeAxisViewparent
 
ArdourCanvas::Containerselection_group
 
ArdourCanvas::Container_ghost_group
 
std::list< GhostRegion * > ghosts
 
std::list< SelectionRect * > free_selection_rects
 
std::list< SelectionRect * > used_selection_rects
 
bool _hidden
 
bool in_destructor
 
Gtk::Menu_size_menu
 
ArdourCanvas::Line_canvas_separator
 
ArdourCanvas::Container_canvas_display
 
double _y_position
 
PublicEditor_editor
 
Children children
 
- Protected Attributes inherited from AxisView
Gtk::Label name_label
 
Gtk::Label inactive_label
 
Gtk::Table inactive_table
 
std::unordered_map< std::string, std::string > property_hashtable
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 
- Protected Attributes inherited from Selectable
bool _selected
 

Private Attributes

StripableColorDialog _color_picker
 

Additional Inherited Members

- Public Types inherited from StripableTimeAxisView
typedef std::map< Evoral::Parameter, std::shared_ptr< AutomationTimeAxisView > > AutomationTracks
 
- Public Types inherited from TimeAxisView
enum  TrackHeightMode { OnlySelf , TotalHeight , HeightPerLane }
 
typedef std::vector< std::shared_ptr< TimeAxisView > > Children
 
- Static Public Member Functions inherited from TimeAxisView
static void setup_sizes ()
 
static int max_order ()
 
static uint32_t preset_height (Height)
 
- Static Public Member Functions inherited from AxisView
static GUIObjectStategui_object_state ()
 
static Gdk::Color round_robin_palette_color ()
 
- Public Attributes inherited from AxisView
sigc::signal< void > Hiding
 
- Static Public Attributes inherited from TimeAxisView
static PBD::Signal< void(TimeAxisView *)> CatchDeletion
 
- Protected Types inherited from StripableTimeAxisView
typedef std::map< Evoral::Parameter, Gtk::CheckMenuItem * > ParameterMenuMap
 
- Static Protected Attributes inherited from TimeAxisView
static Glib::RefPtr< Gtk::SizeGroupcontrols_meters_size_group
 
static Glib::RefPtr< Gtk::SizeGroupmidi_scroomer_size_group
 
static unsigned int name_width_px
 

Detailed Description

Definition at line 37 of file vca_time_axis.h.

Constructor & Destructor Documentation

◆ VCATimeAxisView()

VCATimeAxisView::VCATimeAxisView ( PublicEditor ,
ARDOUR::Session ,
ArdourCanvas::Canvas canvas 
)

◆ ~VCATimeAxisView()

virtual VCATimeAxisView::~VCATimeAxisView ( )
virtual

Member Function Documentation

◆ automation_click()

bool VCATimeAxisView::automation_click ( GdkEventButton )
protected

◆ build_automation_action_menu()

virtual void VCATimeAxisView::build_automation_action_menu ( bool  )
protectedvirtual

◆ build_display_menu()

void VCATimeAxisView::build_display_menu ( )
protectedvirtual

Build the standard LHS control menu. Subclasses should extend this method to add their own menu options.

Reimplemented from TimeAxisView.

◆ choose_color()

void VCATimeAxisView::choose_color ( )
protected

◆ color()

Gdk::Color VCATimeAxisView::color ( ) const
virtual

Implements AxisView.

◆ create_automation_child()

void VCATimeAxisView::create_automation_child ( const Evoral::Parameter param,
bool  show 
)
protectedvirtual

Implements StripableTimeAxisView.

◆ create_gain_automation_child()

void VCATimeAxisView::create_gain_automation_child ( const Evoral::Parameter ,
bool   
)
protectedvirtual

Implements StripableTimeAxisView.

◆ create_mute_automation_child()

void VCATimeAxisView::create_mute_automation_child ( const Evoral::Parameter ,
bool   
)
protectedvirtual

Implements StripableTimeAxisView.

◆ create_trim_automation_child()

void VCATimeAxisView::create_trim_automation_child ( const Evoral::Parameter ,
bool   
)
inlineprotectedvirtual

Implements StripableTimeAxisView.

Definition at line 73 of file vca_time_axis.h.

◆ drop_all_slaves()

void VCATimeAxisView::drop_all_slaves ( )
protected

◆ drop_release()

bool VCATimeAxisView::drop_release ( GdkEventButton )
protected

◆ hide_all_automation()

void VCATimeAxisView::hide_all_automation ( bool  apply_to_selection = false)
virtual

Reimplemented from StripableTimeAxisView.

◆ marked_for_display()

bool VCATimeAxisView::marked_for_display ( ) const
virtual

Reimplemented from AxisView.

◆ mute_release()

bool VCATimeAxisView::mute_release ( GdkEventButton )
protected

◆ name()

std::string VCATimeAxisView::name ( ) const
virtual

Reimplemented from TimeAxisView.

◆ name_entry_changed()

bool VCATimeAxisView::name_entry_changed ( std::string const &  )
protectedvirtual

Reimplemented from TimeAxisView.

◆ parameter_changed()

void VCATimeAxisView::parameter_changed ( std::string const &  p)
protected

◆ presentation_info()

ARDOUR::PresentationInfo const& VCATimeAxisView::presentation_info ( ) const

◆ self_delete()

void VCATimeAxisView::self_delete ( )
protected

◆ set_button_names()

void VCATimeAxisView::set_button_names ( )
protected

◆ set_height()

void VCATimeAxisView::set_height ( uint32_t  h,
TrackHeightMode  m = OnlySelf,
bool  from_idle = false 
)
virtual

Reimplemented from TimeAxisView.

◆ set_marked_for_display()

bool VCATimeAxisView::set_marked_for_display ( bool  )
virtual

Reimplemented from AxisView.

◆ set_vca()

void VCATimeAxisView::set_vca ( std::shared_ptr< ARDOUR::VCA )

◆ show_all_automation()

void VCATimeAxisView::show_all_automation ( bool  apply_to_selection = false)
virtual

Reimplemented from StripableTimeAxisView.

◆ show_existing_automation()

void VCATimeAxisView::show_existing_automation ( bool  apply_to_selection = false)
virtual

Reimplemented from StripableTimeAxisView.

◆ solo_release()

bool VCATimeAxisView::solo_release ( GdkEventButton )
protected

◆ state_id()

std::string VCATimeAxisView::state_id ( ) const
virtual

Implements AxisView.

◆ stripable()

std::shared_ptr<ARDOUR::Stripable> VCATimeAxisView::stripable ( ) const
virtual

Reimplemented from StripableTimeAxisView.

◆ update_mute_display()

void VCATimeAxisView::update_mute_display ( )
protected

◆ update_solo_display()

void VCATimeAxisView::update_solo_display ( )
protected

◆ update_track_number_visibility()

void VCATimeAxisView::update_track_number_visibility ( )
protected

◆ update_vca_name()

void VCATimeAxisView::update_vca_name ( )
protected

◆ vca()

std::shared_ptr<ARDOUR::VCA> VCATimeAxisView::vca ( ) const
inline

Definition at line 47 of file vca_time_axis.h.

◆ vca_property_changed()

void VCATimeAxisView::vca_property_changed ( PBD::PropertyChange const &  )
protected

Member Data Documentation

◆ _color_picker

StripableColorDialog VCATimeAxisView::_color_picker
private

Definition at line 100 of file vca_time_axis.h.

◆ _vca

std::shared_ptr<ARDOUR::VCA> VCATimeAxisView::_vca
protected

Definition at line 63 of file vca_time_axis.h.

◆ automation_action_menu

Gtk::Menu* VCATimeAxisView::automation_action_menu
protected

Definition at line 79 of file vca_time_axis.h.

◆ automation_button

ArdourWidgets::ArdourButton VCATimeAxisView::automation_button
protected

Definition at line 66 of file vca_time_axis.h.

◆ drop_button

ArdourWidgets::ArdourButton VCATimeAxisView::drop_button
protected

Definition at line 67 of file vca_time_axis.h.

◆ gain_meter

GainMeterBase VCATimeAxisView::gain_meter
protected

Definition at line 69 of file vca_time_axis.h.

◆ mute_button

ArdourWidgets::ArdourButton VCATimeAxisView::mute_button
protected

Definition at line 65 of file vca_time_axis.h.

◆ number_label

ArdourWidgets::ArdourButton VCATimeAxisView::number_label
protected

Definition at line 68 of file vca_time_axis.h.

◆ solo_button

ArdourWidgets::ArdourButton VCATimeAxisView::solo_button
protected

Definition at line 64 of file vca_time_axis.h.

◆ vca_connections

PBD::ScopedConnectionList VCATimeAxisView::vca_connections
protected

Definition at line 70 of file vca_time_axis.h.


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