X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fvca_time_axis.cc;h=f98cda008c7920f923c21c83b3dc7ce855a45805;hb=ae32f44dc95801372b1a2a4549e0997550d16eef;hp=4f5777e7c4299600384eb873aa8aed83da637ee3;hpb=94827afffa54d2da534f6fb25a6ec0164ebb45d2;p=ardour.git diff --git a/gtk2_ardour/vca_time_axis.cc b/gtk2_ardour/vca_time_axis.cc index 4f5777e7c4..f98cda008c 100644 --- a/gtk2_ardour/vca_time_axis.cc +++ b/gtk2_ardour/vca_time_axis.cc @@ -33,7 +33,7 @@ #include "ui_config.h" #include "vca_time_axis.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace ARDOUR; using namespace ARDOUR_UI_UTILS; @@ -41,7 +41,7 @@ using namespace Gtkmm2ext; using namespace PBD; VCATimeAxisView::VCATimeAxisView (PublicEditor& ed, Session* s, ArdourCanvas::Canvas& canvas) - : AxisView (s) + : SessionHandlePtr (s) , TimeAxisView (s, ed, (TimeAxisView*) 0, canvas) , gain_meter (s, true, 75, 14) // XXX stupid magic numbers, match sizes in RouteTimeAxisView { @@ -83,6 +83,9 @@ VCATimeAxisView::VCATimeAxisView (PublicEditor& ed, Session* s, ArdourCanvas::Ca spill_button.show (); gain_meter.get_gain_slider().show (); + controls_ebox.set_name ("ControlMasterBaseUnselected"); + time_axis_frame.set_name ("ControlMasterBaseUnselected"); + s->config.ParameterChanged.connect (*this, invalidator (*this), boost::bind (&VCATimeAxisView::parameter_changed, this, _1), gui_context()); Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&VCATimeAxisView::parameter_changed, this, _1), gui_context()); UIConfiguration::instance().ParameterChanged.connect (sigc::mem_fun (*this, &VCATimeAxisView::parameter_changed)); @@ -95,6 +98,8 @@ VCATimeAxisView::~VCATimeAxisView () void VCATimeAxisView::self_delete () { + /* reset reference immediately rather than deferring to idle */ + _vca.reset (); delete_when_idle (this); } @@ -288,3 +293,33 @@ VCATimeAxisView::stripable () const { return _vca; } + +Gdk::Color +VCATimeAxisView::color () const +{ + return gdk_color_from_rgb (_vca->presentation_info().color ()); +} + +void +VCATimeAxisView::set_height (uint32_t h, TrackHeightMode m) +{ + TimeAxisView::set_height (h, m); + set_gui_property ("height", h); + _vca->gui_changed ("track_height", (void*) 0); /* EMIT SIGNAL */ +} + +bool +VCATimeAxisView::marked_for_display () const +{ + return _vca && !_vca->presentation_info().hidden(); +} + +bool +VCATimeAxisView::set_marked_for_display (bool yn) +{ + if (_vca && (yn == _vca->presentation_info().hidden())) { + _vca->presentation_info().set_hidden (!yn); + return true; // things changed + } + return false; +}