summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-05 15:19:54 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-05 16:33:01 -0400
commit171b70927a55e8e8081e41595830970cf7e3fad6 (patch)
tree31e3554e883bb6417185187afa1b04f6f89f14ce /gtk2_ardour
parentd58cb3daa3f0e091a11e3846b28e83bcf0f93587 (diff)
make AxisView::marked_for_display() be virtual so we can use the a Stripable's PresentationInfo hidden() status
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/axis_view.h2
-rw-r--r--gtk2_ardour/mixer_strip.cc12
-rw-r--r--gtk2_ardour/mixer_strip.h3
-rw-r--r--gtk2_ardour/route_time_axis.cc12
-rw-r--r--gtk2_ardour/route_ui.cc10
-rw-r--r--gtk2_ardour/route_ui.h2
6 files changed, 40 insertions, 1 deletions
diff --git a/gtk2_ardour/axis_view.h b/gtk2_ardour/axis_view.h
index 62362f0e4a..3f7e8236c5 100644
--- a/gtk2_ardour/axis_view.h
+++ b/gtk2_ardour/axis_view.h
@@ -74,7 +74,7 @@ class AxisView : public virtual Selectable, public PBD::ScopedConnectionList, pu
property_hashtable.clear ();
}
- bool marked_for_display () const;
+ virtual bool marked_for_display () const;
virtual bool set_marked_for_display (bool);
static GUIObjectState& gui_object_state();
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 7ef34807a6..83cb318cd5 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -2616,3 +2616,15 @@ MixerStrip::update_track_number_visibility ()
number_label.hide ();
}
}
+bool
+MixerStrip::marked_for_display () const
+{
+ return !_route->presentation_info().hidden();
+}
+
+bool
+MixerStrip::set_marked_for_display (bool yn)
+{
+ return RouteUI::mark_hidden (!yn);
+}
+
diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h
index 5f8ce4f45c..2ce32ef83b 100644
--- a/gtk2_ardour/mixer_strip.h
+++ b/gtk2_ardour/mixer_strip.h
@@ -81,6 +81,9 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
MixerStrip (Mixer_UI&, ARDOUR::Session*, bool in_mixer = true);
~MixerStrip ();
+ bool marked_for_display () const;
+ bool set_marked_for_display (bool);
+
void set_width_enum (Width, void* owner);
Width get_width_enum () const { return _width; }
void* width_owner () const { return _width_owner; }
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 78a77fe727..1586a71c97 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -2931,3 +2931,15 @@ RouteTimeAxisView::stripable () const
{
return _route;
}
+
+bool
+RouteTimeAxisView::marked_for_display () const
+{
+ return !_route->presentation_info().hidden();
+}
+
+bool
+RouteTimeAxisView::set_marked_for_display (bool yn)
+{
+ return RouteUI::mark_hidden (!yn);
+}
diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc
index 074f35a08d..57d1aeaeea 100644
--- a/gtk2_ardour/route_ui.cc
+++ b/gtk2_ardour/route_ui.cc
@@ -2356,3 +2356,13 @@ RouteUI::manage_pins ()
proxy->present();
}
}
+
+bool
+RouteUI::mark_hidden (bool yn)
+{
+ if (yn != _route->presentation_info().hidden()) {
+ _route->presentation_info().set_hidden (yn);
+ return true; // things changed
+ }
+ return false;
+}
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index ddb6b40b57..7ba151f39b 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -299,6 +299,8 @@ class RouteUI : public virtual AxisView
static std::string program_port_prefix;
+ bool mark_hidden (bool yn);
+
private:
void parameter_changed (std::string const &);
void relabel_solo_button ();