enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h
[ardour.git] / gtk2_ardour / vca_time_axis.cc
index a9d6725007420f18a8834336aa2668bfa8bb2c2b..f98cda008c7920f923c21c83b3dc7ce855a45805 100644 (file)
@@ -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);
 }
 
@@ -294,3 +299,27 @@ 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;
+}