#include "ui_config.h"
#include "vca_time_axis.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace ARDOUR;
using namespace ARDOUR_UI_UTILS;
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
{
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));
void
VCATimeAxisView::self_delete ()
{
+ /* reset reference immediately rather than deferring to idle */
+ _vca.reset ();
delete_when_idle (this);
}
/* VCA number never changes */
number_label.set_text (to_string (_vca->number(), std::dec));
+ set_height (preset_height (HeightNormal));
+
update_vca_name ();
set_button_names ();
update_solo_display ();
return true;
}
+
+PresentationInfo const &
+VCATimeAxisView::presentation_info () const
+{
+ return _vca->presentation_info();
+}
+
+boost::shared_ptr<Stripable>
+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;
+}