From c31435b474f8f87c33e6bc676115d20303857fe6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 5 Jun 2016 15:47:39 -0400 Subject: [PATCH] RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix initialization. Only "most derived" classes can initialize virtual base classes (SessionHandlePtr) --- gtk2_ardour/audio_time_axis.cc | 2 +- gtk2_ardour/automation_time_axis.cc | 2 +- gtk2_ardour/axis_view.cc | 3 +-- gtk2_ardour/axis_view.h | 9 +++------ gtk2_ardour/meter_strip.cc | 5 ++--- gtk2_ardour/mixer_strip.cc | 4 ++-- gtk2_ardour/monitor_section.cc | 4 ++-- gtk2_ardour/route_time_axis.cc | 3 +-- gtk2_ardour/route_ui.cc | 3 +-- gtk2_ardour/time_axis_view.cc | 3 +-- gtk2_ardour/vca_master_strip.cc | 2 +- gtk2_ardour/vca_time_axis.cc | 2 +- 12 files changed, 17 insertions(+), 25 deletions(-) diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index f59c4bc809..ead0b8ffb1 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -65,7 +65,7 @@ using namespace Gtk; using namespace Editing; AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas) - : AxisView(sess) + : SessionHandlePtr (sess) , RouteTimeAxisView(ed, sess, canvas) { } diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 3262898d13..564443a7f3 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -84,7 +84,7 @@ AutomationTimeAxisView::AutomationTimeAxisView ( const string & nom, const string & nomparent ) - : AxisView (s) + : SessionHandlePtr (s) , TimeAxisView (s, e, &parent, canvas) , _route (r) , _control (c) diff --git a/gtk2_ardour/axis_view.cc b/gtk2_ardour/axis_view.cc index de4202d8b2..ab6d442328 100644 --- a/gtk2_ardour/axis_view.cc +++ b/gtk2_ardour/axis_view.cc @@ -47,8 +47,7 @@ using namespace ARDOUR_UI_UTILS; list AxisView::used_colors; -AxisView::AxisView (ARDOUR::Session* sess) - : SessionHandlePtr (sess) +AxisView::AxisView () { _selected = false; } diff --git a/gtk2_ardour/axis_view.h b/gtk2_ardour/axis_view.h index 75a5f7d421..7a2a0fb079 100644 --- a/gtk2_ardour/axis_view.h +++ b/gtk2_ardour/axis_view.h @@ -78,11 +78,6 @@ class AxisView : public virtual Selectable, public virtual PBD::ScopedConnection static GUIObjectState& gui_object_state(); void clear_property_cache() { property_hashtable.clear(); } - protected: - - AxisView (ARDOUR::Session* sess); - virtual ~AxisView(); - /** * Generate a new random TrackView color, unique from those colors already used. * @@ -90,7 +85,9 @@ class AxisView : public virtual Selectable, public virtual PBD::ScopedConnection */ static Gdk::Color unique_random_color(); - Gdk::Color _color; + protected: + AxisView (); + virtual ~AxisView(); static std::list used_colors; diff --git a/gtk2_ardour/meter_strip.cc b/gtk2_ardour/meter_strip.cc index 596906c5e8..3ad2e8442c 100644 --- a/gtk2_ardour/meter_strip.cc +++ b/gtk2_ardour/meter_strip.cc @@ -62,8 +62,7 @@ PBD::Signal0 MeterStrip::ConfigurationChanged; #define PX_SCALE(pxmin, dflt) rint(std::max((double)pxmin, (double)dflt * UIConfiguration::instance().get_ui_scale())) MeterStrip::MeterStrip (int metricmode, MeterType mt) - : AxisView(0) - , RouteUI(0) + : RouteUI ((Session*) 0) { level_meter = 0; _strip_type = 0; @@ -117,7 +116,7 @@ MeterStrip::MeterStrip (int metricmode, MeterType mt) } MeterStrip::MeterStrip (Session* sess, boost::shared_ptr rt) - : AxisView(sess) + : SessionHandlePtr (sess) , RouteUI(0) , _route(rt) , peak_display() diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index ebbf078b3c..6309596181 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -84,7 +84,7 @@ MixerStrip* MixerStrip::_entered_mixer_strip; PBD::Signal1 MixerStrip::CatchDeletion; MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer) - : AxisView(sess) + : SessionHandlePtr (sess) , RouteUI (sess) , _mixer(mx) , _mixer_owned (in_mixer) @@ -116,7 +116,7 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, bool in_mixer) } MixerStrip::MixerStrip (Mixer_UI& mx, Session* sess, boost::shared_ptr rt, bool in_mixer) - : AxisView(sess) + : SessionHandlePtr (sess) , RouteUI (sess) , _mixer(mx) , _mixer_owned (in_mixer) diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index 42cbcd848a..4399c8a364 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -63,7 +63,7 @@ Glib::RefPtr MonitorSection::monitor_actions; #define PX_SCALE(px) std::max((float)px, rintf((float)px * UIConfiguration::instance().get_ui_scale())) MonitorSection::MonitorSection (Session* s) - : AxisView (s) + : SessionHandlePtr (s) , RouteUI (s) , _tearoff (0) , channel_table_viewport (*channel_table_scroller.get_hadjustment() @@ -577,7 +577,7 @@ MonitorSection::update_processor_box () void MonitorSection::set_session (Session* s) { - AxisView::set_session (s); + RouteUI::set_session (s); _plugin_selector->set_session (_session); if (_session) { diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index faf5712905..6cd19d3328 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -95,8 +95,7 @@ using namespace std; using std::list; RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session* sess, ArdourCanvas::Canvas& canvas) - : AxisView(sess) - , RouteUI(sess) + : RouteUI(sess) , TimeAxisView(sess,ed,(TimeAxisView*) 0, canvas) , _view (0) , parent_canvas (canvas) diff --git a/gtk2_ardour/route_ui.cc b/gtk2_ardour/route_ui.cc index 9b57d38acf..dce08375ea 100644 --- a/gtk2_ardour/route_ui.cc +++ b/gtk2_ardour/route_ui.cc @@ -83,8 +83,7 @@ boost::weak_ptr RouteUI::_showing_sends_to; std::string RouteUI::program_port_prefix; RouteUI::RouteUI (ARDOUR::Session* sess) - : AxisView(sess) - , mute_menu(0) + : mute_menu(0) , solo_menu(0) , sends_menu(0) , record_menu(0) diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc index 5aa114f286..4885c58b54 100644 --- a/gtk2_ardour/time_axis_view.cc +++ b/gtk2_ardour/time_axis_view.cc @@ -88,8 +88,7 @@ TimeAxisView::setup_sizes() } TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisView* rent, Canvas& /*canvas*/) - : AxisView (sess) - , controls_table (5, 4) + : controls_table (5, 4) , controls_button_size_group (Gtk::SizeGroup::create (Gtk::SIZE_GROUP_BOTH)) , _name_editing (false) , height (0) diff --git a/gtk2_ardour/vca_master_strip.cc b/gtk2_ardour/vca_master_strip.cc index b0eaea9a70..be6f862a7c 100644 --- a/gtk2_ardour/vca_master_strip.cc +++ b/gtk2_ardour/vca_master_strip.cc @@ -48,7 +48,7 @@ using std::string; PBD::Signal1 VCAMasterStrip::CatchDeletion; VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr v) - : AxisView (s) + : SessionHandlePtr (s) , _vca (v) , gain_meter (s, 250) , context_menu (0) diff --git a/gtk2_ardour/vca_time_axis.cc b/gtk2_ardour/vca_time_axis.cc index a9d6725007..0bfe78fb3d 100644 --- a/gtk2_ardour/vca_time_axis.cc +++ b/gtk2_ardour/vca_time_axis.cc @@ -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 {