RouteUI is now also derived from SessionHandlePtr but NOT AxisView. Fix initialization.

Only "most derived" classes can initialize virtual base classes (SessionHandlePtr)
This commit is contained in:
Paul Davis 2016-06-05 15:47:39 -04:00
parent 384d05dd35
commit c31435b474
12 changed files with 17 additions and 25 deletions

View File

@ -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)
{
}

View File

@ -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)

View File

@ -47,8 +47,7 @@ using namespace ARDOUR_UI_UTILS;
list<Gdk::Color> AxisView::used_colors;
AxisView::AxisView (ARDOUR::Session* sess)
: SessionHandlePtr (sess)
AxisView::AxisView ()
{
_selected = false;
}

View File

@ -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<Gdk::Color> used_colors;

View File

@ -62,8 +62,7 @@ PBD::Signal0<void> 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<ARDOUR::Route> rt)
: AxisView(sess)
: SessionHandlePtr (sess)
, RouteUI(0)
, _route(rt)
, peak_display()

View File

@ -84,7 +84,7 @@ MixerStrip* MixerStrip::_entered_mixer_strip;
PBD::Signal1<void,MixerStrip*> 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<Route> rt, bool in_mixer)
: AxisView(sess)
: SessionHandlePtr (sess)
, RouteUI (sess)
, _mixer(mx)
, _mixer_owned (in_mixer)

View File

@ -63,7 +63,7 @@ Glib::RefPtr<ActionGroup> 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) {

View File

@ -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)

View File

@ -83,8 +83,7 @@ boost::weak_ptr<Route> 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)

View File

@ -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)

View File

@ -48,7 +48,7 @@ using std::string;
PBD::Signal1<void,VCAMasterStrip*> VCAMasterStrip::CatchDeletion;
VCAMasterStrip::VCAMasterStrip (Session* s, boost::shared_ptr<VCA> v)
: AxisView (s)
: SessionHandlePtr (s)
, _vca (v)
, gain_meter (s, 250)
, context_menu (0)

View File

@ -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
{