use newly factored canvas in gtk2_ardour

This commit is contained in:
Paul Davis 2014-06-21 11:44:22 -04:00
parent a8bd6ecc4f
commit 0796ccfb65
51 changed files with 163 additions and 159 deletions

View file

@ -75,7 +75,7 @@ using namespace ArdourCanvas;
static const int32_t sync_mark_width = 9; static const int32_t sync_mark_width = 9;
static double const handle_size = 10; /* height of fade handles */ static double const handle_size = 10; /* height of fade handles */
AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu, AudioRegionView::AudioRegionView (ArdourCanvas::Layout *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu,
uint32_t basic_color) uint32_t basic_color)
: RegionView (parent, tv, r, spu, basic_color) : RegionView (parent, tv, r, spu, basic_color)
, sync_mark(0) , sync_mark(0)
@ -96,7 +96,7 @@ AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView
Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&AudioRegionView::parameter_changed, this, _1), gui_context()); Config->ParameterChanged.connect (*this, invalidator (*this), boost::bind (&AudioRegionView::parameter_changed, this, _1), gui_context());
} }
AudioRegionView::AudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu, AudioRegionView::AudioRegionView (ArdourCanvas::Layout *parent, RouteTimeAxisView &tv, boost::shared_ptr<AudioRegion> r, double spu,
uint32_t basic_color, bool recording, TimeAxisViewItem::Visibility visibility) uint32_t basic_color, bool recording, TimeAxisViewItem::Visibility visibility)
: RegionView (parent, tv, r, spu, basic_color, recording, visibility) : RegionView (parent, tv, r, spu, basic_color, recording, visibility)
, sync_mark(0) , sync_mark(0)

View file

@ -51,13 +51,13 @@ class RouteTimeAxisView;
class AudioRegionView : public RegionView class AudioRegionView : public RegionView
{ {
public: public:
AudioRegionView (ArdourCanvas::Group *, AudioRegionView (ArdourCanvas::Layout *,
RouteTimeAxisView&, RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::AudioRegion>, boost::shared_ptr<ARDOUR::AudioRegion>,
double initial_samples_per_pixel, double initial_samples_per_pixel,
uint32_t base_color); uint32_t base_color);
AudioRegionView (ArdourCanvas::Group *, AudioRegionView (ArdourCanvas::Layout *,
RouteTimeAxisView&, RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::AudioRegion>, boost::shared_ptr<ARDOUR::AudioRegion>,
double samples_per_pixel, double samples_per_pixel,

View file

@ -70,7 +70,7 @@ using namespace Editing;
/** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session frames. /** @param converter A TimeConverter whose origin_b is the start time of the AutomationList in session frames.
* This will not be deleted by AutomationLine. * This will not be deleted by AutomationLine.
*/ */
AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanvas::Group& parent, AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanvas::Item& parent,
boost::shared_ptr<AutomationList> al, boost::shared_ptr<AutomationList> al,
Evoral::TimeConverter<double, framepos_t>* converter) Evoral::TimeConverter<double, framepos_t>* converter)
: trackview (tv) : trackview (tv)
@ -99,7 +99,7 @@ AutomationLine::AutomationLine (const string& name, TimeAxisView& tv, ArdourCanv
terminal_points_can_slide = true; terminal_points_can_slide = true;
_height = 0; _height = 0;
group = new ArdourCanvas::Group (&parent); group = new ArdourCanvas::Layout (&parent);
CANVAS_DEBUG_NAME (group, "region gain envelope group"); CANVAS_DEBUG_NAME (group, "region gain envelope group");
line = new ArdourCanvas::PolyLine (group); line = new ArdourCanvas::PolyLine (group);

View file

@ -37,7 +37,7 @@
#include "ardour/types.h" #include "ardour/types.h"
#include "canvas/types.h" #include "canvas/types.h"
#include "canvas/group.h" #include "canvas/layout.h"
#include "canvas/poly_line.h" #include "canvas/poly_line.h"
class AutomationLine; class AutomationLine;
@ -60,7 +60,7 @@ public:
SelectedControlPoints = 0x4 SelectedControlPoints = 0x4
}; };
AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Group&, AutomationLine (const std::string& name, TimeAxisView&, ArdourCanvas::Item&,
boost::shared_ptr<ARDOUR::AutomationList>, boost::shared_ptr<ARDOUR::AutomationList>,
Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0); Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter = 0);
virtual ~AutomationLine (); virtual ~AutomationLine ();
@ -105,7 +105,7 @@ public:
TimeAxisView& trackview; TimeAxisView& trackview;
ArdourCanvas::Group& canvas_group() const { return *group; } ArdourCanvas::Layout& canvas_group() const { return *group; }
ArdourCanvas::Item& parent_group() const { return _parent_group; } ArdourCanvas::Item& parent_group() const { return _parent_group; }
ArdourCanvas::Item& grab_item() const { return *line; } ArdourCanvas::Item& grab_item() const { return *line; }
@ -173,8 +173,8 @@ protected:
/** true if we did a push at any point during the current drag */ /** true if we did a push at any point during the current drag */
bool did_push; bool did_push;
ArdourCanvas::Group& _parent_group; ArdourCanvas::Item& _parent_group;
ArdourCanvas::Group* group; ArdourCanvas::Layout* group;
ArdourCanvas::PolyLine* line; /* line */ ArdourCanvas::PolyLine* line; /* line */
ArdourCanvas::Points line_points; /* coordinates for canvas line */ ArdourCanvas::Points line_points; /* coordinates for canvas line */
std::vector<ControlPoint*> control_points; /* visible control points */ std::vector<ControlPoint*> control_points; /* visible control points */

View file

@ -39,7 +39,7 @@
#include "i18n.h" #include "i18n.h"
AutomationRegionView::AutomationRegionView (ArdourCanvas::Group* parent, AutomationRegionView::AutomationRegionView (ArdourCanvas::Layout* parent,
AutomationTimeAxisView& time_axis, AutomationTimeAxisView& time_axis,
boost::shared_ptr<ARDOUR::Region> region, boost::shared_ptr<ARDOUR::Region> region,
const Evoral::Parameter& param, const Evoral::Parameter& param,

View file

@ -37,7 +37,7 @@ class TimeAxisView;
class AutomationRegionView : public RegionView class AutomationRegionView : public RegionView
{ {
public: public:
AutomationRegionView(ArdourCanvas::Group*, AutomationRegionView(ArdourCanvas::Layout*,
AutomationTimeAxisView&, AutomationTimeAxisView&,
boost::shared_ptr<ARDOUR::Region>, boost::shared_ptr<ARDOUR::Region>,
const Evoral::Parameter& parameter, const Evoral::Parameter& parameter,

View file

@ -36,7 +36,7 @@ namespace ArdourCanvas {
class CrossfadeView : public TimeAxisViewItem class CrossfadeView : public TimeAxisViewItem
{ {
public: public:
CrossfadeView (ArdourCanvas::Group*, CrossfadeView (ArdourCanvas::Layout*,
RouteTimeAxisView&, RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::Crossfade>, boost::shared_ptr<ARDOUR::Crossfade>,
double initial_samples_per_pixel, double initial_samples_per_pixel,

View file

@ -451,10 +451,10 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
_stepping_axis_view = v; _stepping_axis_view = v;
} }
ArdourCanvas::Group* get_trackview_group () const { return _trackview_group; } ArdourCanvas::Layout* get_trackview_group () const { return _trackview_group; }
ArdourCanvas::Group* get_hscroll_group () const { return h_scroll_group; } ArdourCanvas::ScrollGroup* get_hscroll_group () const { return h_scroll_group; }
ArdourCanvas::Group* get_vscroll_group () const { return v_scroll_group; } ArdourCanvas::ScrollGroup* get_vscroll_group () const { return v_scroll_group; }
ArdourCanvas::Group* get_hvscroll_group () const { return hv_scroll_group; } ArdourCanvas::ScrollGroup* get_hvscroll_group () const { return hv_scroll_group; }
ArdourCanvas::GtkCanvasViewport* get_track_canvas () const; ArdourCanvas::GtkCanvasViewport* get_track_canvas () const;
@ -560,7 +560,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void refresh_location_display (); void refresh_location_display ();
void refresh_location_display_internal (ARDOUR::Locations::LocationList&); void refresh_location_display_internal (ARDOUR::Locations::LocationList&);
void add_new_location (ARDOUR::Location *); void add_new_location (ARDOUR::Location *);
ArdourCanvas::Group* add_new_location_internal (ARDOUR::Location *); ArdourCanvas::Layout* add_new_location_internal (ARDOUR::Location *);
void location_gone (ARDOUR::Location *); void location_gone (ARDOUR::Location *);
void remove_marker (ArdourCanvas::Item&, GdkEvent*); void remove_marker (ArdourCanvas::Item&, GdkEvent*);
gint really_remove_marker (ARDOUR::Location* loc); gint really_remove_marker (ARDOUR::Location* loc);
@ -606,7 +606,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
LocationMarkerMap location_markers; LocationMarkerMap location_markers;
void update_marker_labels (); void update_marker_labels ();
void update_marker_labels (ArdourCanvas::Group *); void update_marker_labels (ArdourCanvas::Layout *);
void check_marker_label (Marker *); void check_marker_label (Marker *);
/** A set of lists of Markers that are in each of the canvas groups /** A set of lists of Markers that are in each of the canvas groups
@ -615,7 +615,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
* a marker has moved we can decide whether we need to update the labels * a marker has moved we can decide whether we need to update the labels
* for all markers or for just a few. * for all markers or for just a few.
*/ */
std::map<ArdourCanvas::Group *, std::list<Marker *> > _sorted_marker_lists; std::map<ArdourCanvas::Layout *, std::list<Marker *> > _sorted_marker_lists;
void remove_sorted_marker (Marker *); void remove_sorted_marker (Marker *);
void hide_marker (ArdourCanvas::Item*, GdkEvent*); void hide_marker (ArdourCanvas::Item*, GdkEvent*);
@ -729,42 +729,42 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ArdourCanvas::Pixbuf *logo_item; ArdourCanvas::Pixbuf *logo_item;
#if 0 #if 0
/* these will be needed when we have canvas rulers */ /* these will be needed when we have canvas rulers */
ArdourCanvas::Group *minsec_group; ArdourCanvas::Layout *minsec_group;
ArdourCanvas::Group *bbt_group; ArdourCanvas::Layout *bbt_group;
ArdourCanvas::Group *timecode_group; ArdourCanvas::Layout *timecode_group;
ArdourCanvas::Group *frame_group; ArdourCanvas::Layout *frame_group;
#endif #endif
ArdourCanvas::Group *tempo_group; ArdourCanvas::Layout *tempo_group;
ArdourCanvas::Group *meter_group; ArdourCanvas::Layout *meter_group;
ArdourCanvas::Group *marker_group; ArdourCanvas::Layout *marker_group;
ArdourCanvas::Group *range_marker_group; ArdourCanvas::Layout *range_marker_group;
ArdourCanvas::Group *transport_marker_group; ArdourCanvas::Layout *transport_marker_group;
ArdourCanvas::Group* cd_marker_group; ArdourCanvas::Layout* cd_marker_group;
/* parent for groups which themselves contain time markers */ /* parent for groups which themselves contain time markers */
ArdourCanvas::Group* _time_markers_group; ArdourCanvas::Layout* _time_markers_group;
/* The group containing all other groups that are scrolled vertically /* The group containing all other groups that are scrolled vertically
and horizontally. and horizontally.
*/ */
ArdourCanvas::Group* hv_scroll_group; ArdourCanvas::ScrollGroup* hv_scroll_group;
/* The group containing all other groups that are scrolled vertically ONLY /* The group containing all other groups that are scrolled vertically ONLY
*/ */
ArdourCanvas::Group* v_scroll_group; ArdourCanvas::ScrollGroup* v_scroll_group;
/* The group containing all other groups that are scrolled horizontally ONLY /* The group containing all other groups that are scrolled horizontally ONLY
*/ */
ArdourCanvas::Group* h_scroll_group; ArdourCanvas::ScrollGroup* h_scroll_group;
/* The group containing all trackviews. */ /* The group containing all trackviews. */
ArdourCanvas::Group* _trackview_group; ArdourCanvas::Layout* _trackview_group;
/* The group holding things (mostly regions) while dragging so they /* The group holding things (mostly regions) while dragging so they
* are on top of everything else * are on top of everything else
*/ */
ArdourCanvas::Group* _drag_motion_group; ArdourCanvas::Layout* _drag_motion_group;
/* a rect that sits at the bottom of all tracks to act as a drag-no-drop/clickable /* a rect that sits at the bottom of all tracks to act as a drag-no-drop/clickable
* target area. * target area.
@ -898,7 +898,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
/* videtimline related actions */ /* videtimline related actions */
Gtk::Label videotl_label; Gtk::Label videotl_label;
ArdourCanvas::Group* videotl_group; ArdourCanvas::Layout* videotl_group;
Glib::RefPtr<Gtk::ToggleAction> ruler_video_action; Glib::RefPtr<Gtk::ToggleAction> ruler_video_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_proc_action; Glib::RefPtr<Gtk::ToggleAction> xjadeo_proc_action;
Glib::RefPtr<Gtk::ToggleAction> xjadeo_ontop_action; Glib::RefPtr<Gtk::ToggleAction> xjadeo_ontop_action;
@ -1478,8 +1478,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
TempoLines* tempo_lines; TempoLines* tempo_lines;
ArdourCanvas::Group* global_rect_group; ArdourCanvas::Layout* global_rect_group;
ArdourCanvas::Group* time_line_group; ArdourCanvas::Layout* time_line_group;
void hide_measures (); void hide_measures ();
void draw_measures (ARDOUR::TempoMap::BBTPointList::const_iterator& begin, void draw_measures (ARDOUR::TempoMap::BBTPointList::const_iterator& begin,

View file

@ -101,7 +101,7 @@ Editor::initialize_canvas ()
} }
/*a group to hold global rects like punch/loop indicators */ /*a group to hold global rects like punch/loop indicators */
global_rect_group = new ArdourCanvas::Group (hv_scroll_group); global_rect_group = new ArdourCanvas::Layout (hv_scroll_group);
CANVAS_DEBUG_NAME (global_rect_group, "global rect group"); CANVAS_DEBUG_NAME (global_rect_group, "global rect group");
transport_loop_range_rect = new ArdourCanvas::Rectangle (global_rect_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX)); transport_loop_range_rect = new ArdourCanvas::Rectangle (global_rect_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, ArdourCanvas::COORD_MAX));
@ -113,10 +113,10 @@ Editor::initialize_canvas ()
transport_punch_range_rect->hide(); transport_punch_range_rect->hide();
/*a group to hold time (measure) lines */ /*a group to hold time (measure) lines */
time_line_group = new ArdourCanvas::Group (hv_scroll_group); time_line_group = new ArdourCanvas::Layout (hv_scroll_group);
CANVAS_DEBUG_NAME (time_line_group, "time line group"); CANVAS_DEBUG_NAME (time_line_group, "time line group");
_trackview_group = new ArdourCanvas::Group (hv_scroll_group); _trackview_group = new ArdourCanvas::Layout (hv_scroll_group);
CANVAS_DEBUG_NAME (_trackview_group, "Canvas TrackViews"); CANVAS_DEBUG_NAME (_trackview_group, "Canvas TrackViews");
// used to show zoom mode active zooming // used to show zoom mode active zooming
@ -131,30 +131,30 @@ Editor::initialize_canvas ()
/* a group to hold stuff while it gets dragged around. Must be the /* a group to hold stuff while it gets dragged around. Must be the
* uppermost (last) group with hv_scroll_group as a parent * uppermost (last) group with hv_scroll_group as a parent
*/ */
_drag_motion_group = new ArdourCanvas::Group (hv_scroll_group); _drag_motion_group = new ArdourCanvas::Layout (hv_scroll_group);
CANVAS_DEBUG_NAME (_drag_motion_group, "Canvas Drag Motion"); CANVAS_DEBUG_NAME (_drag_motion_group, "Canvas Drag Motion");
/* TIME BAR CANVAS */ /* TIME BAR CANVAS */
_time_markers_group = new ArdourCanvas::Group (h_scroll_group); _time_markers_group = new ArdourCanvas::Layout (h_scroll_group);
CANVAS_DEBUG_NAME (_time_markers_group, "time bars"); CANVAS_DEBUG_NAME (_time_markers_group, "time bars");
cd_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, 0.0)); cd_marker_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple (0.0, 0.0));
CANVAS_DEBUG_NAME (cd_marker_group, "cd marker group"); CANVAS_DEBUG_NAME (cd_marker_group, "cd marker group");
/* the vide is temporarily placed a the same location as the /* the vide is temporarily placed a the same location as the
cd_marker_group, but is moved later. cd_marker_group, but is moved later.
*/ */
videotl_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple(0.0, 0.0)); videotl_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple(0.0, 0.0));
CANVAS_DEBUG_NAME (videotl_group, "videotl group"); CANVAS_DEBUG_NAME (videotl_group, "videotl group");
marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height + 1.0)); marker_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple (0.0, timebar_height + 1.0));
CANVAS_DEBUG_NAME (marker_group, "marker group"); CANVAS_DEBUG_NAME (marker_group, "marker group");
transport_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 2.0) + 1.0)); transport_marker_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 2.0) + 1.0));
CANVAS_DEBUG_NAME (transport_marker_group, "transport marker group"); CANVAS_DEBUG_NAME (transport_marker_group, "transport marker group");
range_marker_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 3.0) + 1.0)); range_marker_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 3.0) + 1.0));
CANVAS_DEBUG_NAME (range_marker_group, "range marker group"); CANVAS_DEBUG_NAME (range_marker_group, "range marker group");
tempo_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 4.0) + 1.0)); tempo_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 4.0) + 1.0));
CANVAS_DEBUG_NAME (tempo_group, "tempo group"); CANVAS_DEBUG_NAME (tempo_group, "tempo group");
meter_group = new ArdourCanvas::Group (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 5.0) + 1.0)); meter_group = new ArdourCanvas::Layout (_time_markers_group, ArdourCanvas::Duple (0.0, (timebar_height * 5.0) + 1.0));
CANVAS_DEBUG_NAME (meter_group, "meter group"); CANVAS_DEBUG_NAME (meter_group, "meter group");
meter_bar = new ArdourCanvas::Rectangle (meter_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height)); meter_bar = new ArdourCanvas::Rectangle (meter_group, ArdourCanvas::Rect (0.0, 0.0, ArdourCanvas::COORD_MAX, timebar_height));

View file

@ -22,6 +22,7 @@
#include "canvas/canvas.h" #include "canvas/canvas.h"
#include "canvas/debug.h" #include "canvas/debug.h"
#include "canvas/scroll_group.h"
#include "utils.h" #include "utils.h"
#include "editor_cursors.h" #include "editor_cursors.h"

View file

@ -736,8 +736,8 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
/* reparent the regionview into a group above all /* reparent the regionview into a group above all
* others * others
*/ */
ArdourCanvas::Group* rvg = rv->get_canvas_group(); ArdourCanvas::Item* rvg = rv->get_canvas_group();
Duple rv_canvas_offset = rvg->parent()->canvas_origin (); Duple rv_canvas_offset = rvg->parent()->canvas_origin ();
Duple dmg_canvas_offset = _editor->_drag_motion_group->canvas_origin (); Duple dmg_canvas_offset = _editor->_drag_motion_group->canvas_origin ();
rv->get_canvas_group()->reparent (_editor->_drag_motion_group); rv->get_canvas_group()->reparent (_editor->_drag_motion_group);

View file

@ -64,7 +64,7 @@ Editor::add_new_location (Location *location)
{ {
ENSURE_GUI_THREAD (*this, &Editor::add_new_location, location); ENSURE_GUI_THREAD (*this, &Editor::add_new_location, location);
ArdourCanvas::Group* group = add_new_location_internal (location); ArdourCanvas::Layout* group = add_new_location_internal (location);
/* Do a full update of the markers in this group */ /* Do a full update of the markers in this group */
update_marker_labels (group); update_marker_labels (group);
@ -82,14 +82,14 @@ Editor::add_new_location (Location *location)
* the caller must call update_marker_labels () after calling this. * the caller must call update_marker_labels () after calling this.
* @return canvas group that the location's marker was added to. * @return canvas group that the location's marker was added to.
*/ */
ArdourCanvas::Group* ArdourCanvas::Layout*
Editor::add_new_location_internal (Location* location) Editor::add_new_location_internal (Location* location)
{ {
LocationMarkers *lam = new LocationMarkers; LocationMarkers *lam = new LocationMarkers;
uint32_t color; uint32_t color;
/* make a note here of which group this marker ends up in */ /* make a note here of which group this marker ends up in */
ArdourCanvas::Group* group = 0; ArdourCanvas::Layout* group = 0;
if (location->is_cd_marker()) { if (location->is_cd_marker()) {
color = location_cd_marker_color; color = location_cd_marker_color;
@ -311,14 +311,14 @@ struct MarkerComparator {
void void
Editor::update_marker_labels () Editor::update_marker_labels ()
{ {
for (std::map<ArdourCanvas::Group *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) { for (std::map<ArdourCanvas::Layout *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
update_marker_labels (i->first); update_marker_labels (i->first);
} }
} }
/** Look at all markers in a group and update label widths */ /** Look at all markers in a group and update label widths */
void void
Editor::update_marker_labels (ArdourCanvas::Group* group) Editor::update_marker_labels (ArdourCanvas::Layout* group)
{ {
list<Marker*>& sorted = _sorted_marker_lists[group]; list<Marker*>& sorted = _sorted_marker_lists[group];
@ -1576,7 +1576,7 @@ Editor::toggle_marker_lines ()
void void
Editor::remove_sorted_marker (Marker* m) Editor::remove_sorted_marker (Marker* m)
{ {
for (std::map<ArdourCanvas::Group *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) { for (std::map<ArdourCanvas::Layout *, std::list<Marker *> >::iterator i = _sorted_marker_lists.begin(); i != _sorted_marker_lists.end(); ++i) {
i->second.remove (m); i->second.remove (m);
} }
} }

View file

@ -29,10 +29,11 @@
#include <gtk/gtkaction.h> #include <gtk/gtkaction.h>
#include "canvas/group.h" #include "canvas/layout.h"
#include "canvas/canvas.h" #include "canvas/canvas.h"
#include "canvas/ruler.h" #include "canvas/ruler.h"
#include "canvas/debug.h" #include "canvas/debug.h"
#include "canvas/scroll_group.h"
#include "ardour/session.h" #include "ardour/session.h"
#include "ardour/tempo.h" #include "ardour/tempo.h"

View file

@ -18,7 +18,7 @@
*/ */
#include "evoral/Note.hpp" #include "evoral/Note.hpp"
#include "canvas/group.h" #include "canvas/layout.h"
#include "canvas/rectangle.h" #include "canvas/rectangle.h"
#include "canvas/wave_view.h" #include "canvas/wave_view.h"
#include "canvas/debug.h" #include "canvas/debug.h"
@ -38,11 +38,11 @@ using namespace ARDOUR;
PBD::Signal1<void,GhostRegion*> GhostRegion::CatchDeletion; PBD::Signal1<void,GhostRegion*> GhostRegion::CatchDeletion;
GhostRegion::GhostRegion (ArdourCanvas::Group* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_pos) GhostRegion::GhostRegion (ArdourCanvas::Layout* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_pos)
: trackview (tv) : trackview (tv)
, source_trackview (source_tv) , source_trackview (source_tv)
{ {
group = new ArdourCanvas::Group (parent); group = new ArdourCanvas::Layout (parent);
CANVAS_DEBUG_NAME (group, "ghost region"); CANVAS_DEBUG_NAME (group, "ghost region");
group->set_position (ArdourCanvas::Duple (initial_pos, 0)); group->set_position (ArdourCanvas::Duple (initial_pos, 0));
@ -191,7 +191,7 @@ MidiGhostRegion::~MidiGhostRegion()
clear_events (); clear_events ();
} }
MidiGhostRegion::GhostEvent::GhostEvent (NoteBase* e, ArdourCanvas::Group* g) MidiGhostRegion::GhostEvent::GhostEvent (NoteBase* e, ArdourCanvas::Layout* g)
: event (e) : event (e)
{ {
rect = new ArdourCanvas::Rectangle (g, ArdourCanvas::Rect (e->x0(), e->y0(), e->x1(), e->y1())); rect = new ArdourCanvas::Rectangle (g, ArdourCanvas::Rect (e->x0(), e->y0(), e->x1(), e->y1()));

View file

@ -36,7 +36,7 @@ class TimeAxisView;
class GhostRegion : public sigc::trackable class GhostRegion : public sigc::trackable
{ {
public: public:
GhostRegion(ArdourCanvas::Group* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_unit_pos); GhostRegion(ArdourCanvas::Layout* parent, TimeAxisView& tv, TimeAxisView& source_tv, double initial_unit_pos);
virtual ~GhostRegion(); virtual ~GhostRegion();
virtual void set_samples_per_pixel (double) = 0; virtual void set_samples_per_pixel (double) = 0;
@ -52,7 +52,7 @@ public:
TimeAxisView& trackview; TimeAxisView& trackview;
/** TimeAxisView that we are a ghost for */ /** TimeAxisView that we are a ghost for */
TimeAxisView& source_trackview; TimeAxisView& source_trackview;
ArdourCanvas::Group* group; ArdourCanvas::Layout* group;
ArdourCanvas::Rectangle* base_rect; ArdourCanvas::Rectangle* base_rect;
static PBD::Signal1<void,GhostRegion*> CatchDeletion; static PBD::Signal1<void,GhostRegion*> CatchDeletion;
@ -73,7 +73,7 @@ class MidiGhostRegion : public GhostRegion {
public: public:
class GhostEvent : public sigc::trackable { class GhostEvent : public sigc::trackable {
public: public:
GhostEvent(::NoteBase *, ArdourCanvas::Group *); GhostEvent(::NoteBase *, ArdourCanvas::Layout *);
virtual ~GhostEvent (); virtual ~GhostEvent ();
NoteBase* event; NoteBase* event;

View file

@ -30,10 +30,10 @@
using namespace ARDOUR; using namespace ARDOUR;
using namespace ArdourCanvas; using namespace ArdourCanvas;
Hit::Hit (MidiRegionView& region, Group* group, double size, const boost::shared_ptr<NoteType> note, bool with_events) Hit::Hit (MidiRegionView& region, Item* parent, double size, const boost::shared_ptr<NoteType> note, bool with_events)
: NoteBase (region, with_events, note) : NoteBase (region, with_events, note)
{ {
_polygon = new ArdourCanvas::Polygon (group); _polygon = new ArdourCanvas::Polygon (parent);
CANVAS_DEBUG_NAME (_polygon, "note"); CANVAS_DEBUG_NAME (_polygon, "note");
set_item (_polygon); set_item (_polygon);
set_height (size); set_height (size);

View file

@ -33,7 +33,7 @@ public:
typedef Evoral::Note<double> NoteType; typedef Evoral::Note<double> NoteType;
Hit (MidiRegionView& region, Hit (MidiRegionView& region,
ArdourCanvas::Group* group, ArdourCanvas::Item* parent,
double size, double size,
const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(), const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
bool with_events = true); bool with_events = true);

View file

@ -21,11 +21,12 @@
#include "ardour/tempo.h" #include "ardour/tempo.h"
#include "canvas/rectangle.h" #include "canvas/rectangle.h"
#include "canvas/group.h" #include "canvas/layout.h"
#include "canvas/line.h" #include "canvas/line.h"
#include "canvas/polygon.h" #include "canvas/polygon.h"
#include "canvas/text.h" #include "canvas/text.h"
#include "canvas/canvas.h" #include "canvas/canvas.h"
#include "canvas/scroll_group.h"
#include "canvas/debug.h" #include "canvas/debug.h"
#include "ardour_ui.h" #include "ardour_ui.h"
@ -52,7 +53,7 @@ PBD::Signal1<void,Marker*> Marker::CatchDeletion;
static const double marker_height = 13.0; static const double marker_height = 13.0;
Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, const string& annotation, Marker::Marker (PublicEditor& ed, ArdourCanvas::Layout& parent, guint32 rgba, const string& annotation,
Type type, framepos_t frame, bool handle_events) Type type, framepos_t frame, bool handle_events)
: editor (ed) : editor (ed)
@ -241,7 +242,7 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
unit_position = editor.sample_to_pixel (frame); unit_position = editor.sample_to_pixel (frame);
unit_position -= _shift; unit_position -= _shift;
group = new ArdourCanvas::Group (&parent, ArdourCanvas::Duple (unit_position, 0)); group = new ArdourCanvas::Layout (&parent, ArdourCanvas::Duple (unit_position, 0));
#ifdef CANVAS_DEBUG #ifdef CANVAS_DEBUG
group->name = string_compose ("Marker::group for %1", annotation); group->name = string_compose ("Marker::group for %1", annotation);
#endif #endif
@ -301,7 +302,7 @@ Marker::~Marker ()
delete _track_canvas_line; delete _track_canvas_line;
} }
void Marker::reparent(ArdourCanvas::Group & parent) void Marker::reparent(ArdourCanvas::Layout & parent)
{ {
group->reparent (&parent); group->reparent (&parent);
_parent = &parent; _parent = &parent;
@ -500,7 +501,7 @@ Marker::set_right_label_limit (double p)
/***********************************************************************/ /***********************************************************************/
TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Group& parent, guint32 rgba, const string& text, TempoMarker::TempoMarker (PublicEditor& editor, ArdourCanvas::Layout& parent, guint32 rgba, const string& text,
ARDOUR::TempoSection& temp) ARDOUR::TempoSection& temp)
: Marker (editor, parent, rgba, text, Tempo, 0, false), : Marker (editor, parent, rgba, text, Tempo, 0, false),
_tempo (temp) _tempo (temp)
@ -515,7 +516,7 @@ TempoMarker::~TempoMarker ()
/***********************************************************************/ /***********************************************************************/
MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Group& parent, guint32 rgba, const string& text, MeterMarker::MeterMarker (PublicEditor& editor, ArdourCanvas::Layout& parent, guint32 rgba, const string& text,
ARDOUR::MeterSection& m) ARDOUR::MeterSection& m)
: Marker (editor, parent, rgba, text, Meter, 0, false), : Marker (editor, parent, rgba, text, Meter, 0, false),
_meter (m) _meter (m)

View file

@ -56,7 +56,7 @@ class Marker : public sigc::trackable
}; };
Marker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, Type, Marker (PublicEditor& editor, ArdourCanvas::Layout &, guint32 rgba, const std::string& text, Type,
framepos_t frame = 0, bool handle_events = true); framepos_t frame = 0, bool handle_events = true);
virtual ~Marker (); virtual ~Marker ();
@ -76,8 +76,8 @@ class Marker : public sigc::trackable
framepos_t position() const { return frame_position; } framepos_t position() const { return frame_position; }
ArdourCanvas::Group * get_parent() { return _parent; } ArdourCanvas::Layout * get_parent() { return _parent; }
void reparent (ArdourCanvas::Group & parent); void reparent (ArdourCanvas::Layout & parent);
void hide (); void hide ();
void show (); void show ();
@ -98,8 +98,8 @@ class Marker : public sigc::trackable
Pango::FontDescription name_font; Pango::FontDescription name_font;
ArdourCanvas::Group* _parent; ArdourCanvas::Layout* _parent;
ArdourCanvas::Group *group; ArdourCanvas::Layout *group;
ArdourCanvas::Polygon *mark; ArdourCanvas::Polygon *mark;
ArdourCanvas::Text *_name_item; ArdourCanvas::Text *_name_item;
ArdourCanvas::Points *points; ArdourCanvas::Points *points;
@ -134,7 +134,7 @@ private:
class TempoMarker : public Marker class TempoMarker : public Marker
{ {
public: public:
TempoMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&); TempoMarker (PublicEditor& editor, ArdourCanvas::Layout &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
~TempoMarker (); ~TempoMarker ();
ARDOUR::TempoSection& tempo() const { return _tempo; } ARDOUR::TempoSection& tempo() const { return _tempo; }
@ -146,7 +146,7 @@ class TempoMarker : public Marker
class MeterMarker : public Marker class MeterMarker : public Marker
{ {
public: public:
MeterMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&); MeterMarker (PublicEditor& editor, ArdourCanvas::Layout &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
~MeterMarker (); ~MeterMarker ();
ARDOUR::MeterSection& meter() const { return _meter; } ARDOUR::MeterSection& meter() const { return _meter; }

View file

@ -29,12 +29,12 @@ using namespace std;
MidiAutomationLine::MidiAutomationLine ( MidiAutomationLine::MidiAutomationLine (
const std::string& name, const std::string& name,
TimeAxisView& tav, TimeAxisView& tav,
ArdourCanvas::Group& group, ArdourCanvas::Item& parent,
boost::shared_ptr<ARDOUR::AutomationList> list, boost::shared_ptr<ARDOUR::AutomationList> list,
boost::shared_ptr<ARDOUR::MidiRegion> region, boost::shared_ptr<ARDOUR::MidiRegion> region,
Evoral::Parameter parameter, Evoral::Parameter parameter,
Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter) Evoral::TimeConverter<double, ARDOUR::framepos_t>* converter)
: AutomationLine (name, tav, group, list, converter) : AutomationLine (name, tav, parent, list, converter)
, _region (region) , _region (region)
, _parameter (parameter) , _parameter (parameter)
{ {

View file

@ -26,7 +26,7 @@
class MidiAutomationLine : public AutomationLine class MidiAutomationLine : public AutomationLine
{ {
public: public:
MidiAutomationLine (const std::string&, TimeAxisView&, ArdourCanvas::Group&, MidiAutomationLine (const std::string&, TimeAxisView&, ArdourCanvas::Item&,
boost::shared_ptr<ARDOUR::AutomationList>, boost::shared_ptr<ARDOUR::AutomationList>,
boost::shared_ptr<ARDOUR::MidiRegion>, boost::shared_ptr<ARDOUR::MidiRegion>,
Evoral::Parameter, Evoral::Parameter,

View file

@ -88,13 +88,13 @@ PBD::Signal1<void, MidiRegionView *> MidiRegionView::SelectionCleared;
#define MIDI_BP_ZERO ((Config->get_first_midi_bank_is_zero())?0:1) #define MIDI_BP_ZERO ((Config->get_first_midi_bank_is_zero())?0:1)
MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, MidiRegionView::MidiRegionView (ArdourCanvas::Layout *parent, RouteTimeAxisView &tv,
boost::shared_ptr<MidiRegion> r, double spu, uint32_t basic_color) boost::shared_ptr<MidiRegion> r, double spu, uint32_t basic_color)
: RegionView (parent, tv, r, spu, basic_color) : RegionView (parent, tv, r, spu, basic_color)
, _current_range_min(0) , _current_range_min(0)
, _current_range_max(0) , _current_range_max(0)
, _active_notes(0) , _active_notes(0)
, _note_group (new ArdourCanvas::Group (group)) , _note_group (new ArdourCanvas::Layout (group))
, _note_diff_command (0) , _note_diff_command (0)
, _ghost_note(0) , _ghost_note(0)
, _step_edit_cursor (0) , _step_edit_cursor (0)
@ -124,14 +124,14 @@ MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &
SelectionCleared.connect (_selection_cleared_connection, invalidator (*this), boost::bind (&MidiRegionView::selection_cleared, this, _1), gui_context ()); SelectionCleared.connect (_selection_cleared_connection, invalidator (*this), boost::bind (&MidiRegionView::selection_cleared, this, _1), gui_context ());
} }
MidiRegionView::MidiRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, MidiRegionView::MidiRegionView (ArdourCanvas::Layout *parent, RouteTimeAxisView &tv,
boost::shared_ptr<MidiRegion> r, double spu, uint32_t basic_color, boost::shared_ptr<MidiRegion> r, double spu, uint32_t basic_color,
TimeAxisViewItem::Visibility visibility) TimeAxisViewItem::Visibility visibility)
: RegionView (parent, tv, r, spu, basic_color, false, visibility) : RegionView (parent, tv, r, spu, basic_color, false, visibility)
, _current_range_min(0) , _current_range_min(0)
, _current_range_max(0) , _current_range_max(0)
, _active_notes(0) , _active_notes(0)
, _note_group (new ArdourCanvas::Group (parent)) , _note_group (new ArdourCanvas::Layout (parent))
, _note_diff_command (0) , _note_diff_command (0)
, _ghost_note(0) , _ghost_note(0)
, _step_edit_cursor (0) , _step_edit_cursor (0)
@ -177,7 +177,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other)
, _current_range_min(0) , _current_range_min(0)
, _current_range_max(0) , _current_range_max(0)
, _active_notes(0) , _active_notes(0)
, _note_group (new ArdourCanvas::Group (get_canvas_group())) , _note_group (new ArdourCanvas::Layout (get_canvas_group()))
, _note_diff_command (0) , _note_diff_command (0)
, _ghost_note(0) , _ghost_note(0)
, _step_edit_cursor (0) , _step_edit_cursor (0)
@ -205,7 +205,7 @@ MidiRegionView::MidiRegionView (const MidiRegionView& other, boost::shared_ptr<M
, _current_range_min(0) , _current_range_min(0)
, _current_range_max(0) , _current_range_max(0)
, _active_notes(0) , _active_notes(0)
, _note_group (new ArdourCanvas::Group (get_canvas_group())) , _note_group (new ArdourCanvas::Layout (get_canvas_group()))
, _note_diff_command (0) , _note_diff_command (0)
, _ghost_note(0) , _ghost_note(0)
, _step_edit_cursor (0) , _step_edit_cursor (0)
@ -3610,7 +3610,7 @@ void
MidiRegionView::show_step_edit_cursor (Evoral::MusicalTime pos) MidiRegionView::show_step_edit_cursor (Evoral::MusicalTime pos)
{ {
if (_step_edit_cursor == 0) { if (_step_edit_cursor == 0) {
ArdourCanvas::Group* const group = (ArdourCanvas::Group*)get_canvas_group(); ArdourCanvas::Layout* const group = (ArdourCanvas::Layout*)get_canvas_group();
_step_edit_cursor = new ArdourCanvas::Rectangle (group); _step_edit_cursor = new ArdourCanvas::Rectangle (group);
_step_edit_cursor->set_y0 (0); _step_edit_cursor->set_y0 (0);
@ -3725,7 +3725,7 @@ MidiRegionView::trim_front_starting ()
/* Reparent the note group to the region view's parent, so that it doesn't change /* Reparent the note group to the region view's parent, so that it doesn't change
when the region view is trimmed. when the region view is trimmed.
*/ */
_temporary_note_group = new ArdourCanvas::Group (group->parent ()); _temporary_note_group = new ArdourCanvas::Layout (group->parent ());
_temporary_note_group->move (group->position ()); _temporary_note_group->move (group->position ());
_note_group->reparent (_temporary_note_group); _note_group->reparent (_temporary_note_group);
} }

View file

@ -67,7 +67,7 @@ public:
typedef Evoral::Note<Evoral::MusicalTime> NoteType; typedef Evoral::Note<Evoral::MusicalTime> NoteType;
typedef Evoral::Sequence<Evoral::MusicalTime>::Notes Notes; typedef Evoral::Sequence<Evoral::MusicalTime>::Notes Notes;
MidiRegionView (ArdourCanvas::Group *, MidiRegionView (ArdourCanvas::Layout *,
RouteTimeAxisView&, RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::MidiRegion>, boost::shared_ptr<ARDOUR::MidiRegion>,
double initial_samples_per_pixel, double initial_samples_per_pixel,
@ -309,7 +309,7 @@ protected:
/** Allows derived types to specify their visibility requirements /** Allows derived types to specify their visibility requirements
* to the TimeAxisViewItem parent class. * to the TimeAxisViewItem parent class.
*/ */
MidiRegionView (ArdourCanvas::Group *, MidiRegionView (ArdourCanvas::Layout *,
RouteTimeAxisView&, RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::MidiRegion>, boost::shared_ptr<ARDOUR::MidiRegion>,
double samples_per_pixel, double samples_per_pixel,
@ -387,7 +387,7 @@ private:
PatchChanges _patch_changes; PatchChanges _patch_changes;
SysExes _sys_exes; SysExes _sys_exes;
Note** _active_notes; Note** _active_notes;
ArdourCanvas::Group* _note_group; ArdourCanvas::Layout* _note_group;
ARDOUR::MidiModel::NoteDiffCommand* _note_diff_command; ARDOUR::MidiModel::NoteDiffCommand* _note_diff_command;
Note* _ghost_note; Note* _ghost_note;
double _last_ghost_x; double _last_ghost_x;
@ -401,7 +401,7 @@ private:
/** A group used to temporarily reparent _note_group to during start trims, so /** A group used to temporarily reparent _note_group to during start trims, so
* that the notes don't move with the parent region view. * that the notes don't move with the parent region view.
*/ */
ArdourCanvas::Group* _temporary_note_group; ArdourCanvas::Layout* _temporary_note_group;
MouseState _mouse_state; MouseState _mouse_state;
int _pressed_button; int _pressed_button;

View file

@ -68,7 +68,7 @@ MidiStreamView::MidiStreamView (MidiTimeAxisView& tv)
, _updates_suspended (false) , _updates_suspended (false)
{ {
/* use a group dedicated to MIDI underlays. Audio underlays are not in this group. */ /* use a group dedicated to MIDI underlays. Audio underlays are not in this group. */
midi_underlay_group = new ArdourCanvas::Group (_canvas_group); midi_underlay_group = new ArdourCanvas::Layout (_canvas_group);
midi_underlay_group->lower_to_bottom(); midi_underlay_group->lower_to_bottom();
/* put the note lines in the timeaxisview's group, so it /* put the note lines in the timeaxisview's group, so it

View file

@ -68,7 +68,7 @@ class MidiStreamView : public StreamView
}; };
Gtk::Adjustment note_range_adjustment; Gtk::Adjustment note_range_adjustment;
ArdourCanvas::Group* midi_underlay_group; ArdourCanvas::Layout* midi_underlay_group;
void set_note_range(VisibleNoteRange r); void set_note_range(VisibleNoteRange r);

View file

@ -31,9 +31,9 @@ using namespace ARDOUR;
using namespace ArdourCanvas; using namespace ArdourCanvas;
Note::Note ( Note::Note (
MidiRegionView& region, Group* group, const boost::shared_ptr<NoteType> note, bool with_events) MidiRegionView& region, Item* parent, const boost::shared_ptr<NoteType> note, bool with_events)
: NoteBase (region, with_events, note) : NoteBase (region, with_events, note)
, _rectangle (new ArdourCanvas::Rectangle (group)) , _rectangle (new ArdourCanvas::Rectangle (parent))
{ {
CANVAS_DEBUG_NAME (_rectangle, "note"); CANVAS_DEBUG_NAME (_rectangle, "note");
set_item (_rectangle); set_item (_rectangle);

View file

@ -26,7 +26,7 @@
#include "midi_util.h" #include "midi_util.h"
namespace ArdourCanvas { namespace ArdourCanvas {
class Group; class Layout;
} }
class Note : public NoteBase class Note : public NoteBase
@ -35,7 +35,7 @@ public:
typedef Evoral::Note<Evoral::MusicalTime> NoteType; typedef Evoral::Note<Evoral::MusicalTime> NoteType;
Note (MidiRegionView& region, Note (MidiRegionView& region,
ArdourCanvas::Group* group, ArdourCanvas::Item* parent,
const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(), const boost::shared_ptr<NoteType> note = boost::shared_ptr<NoteType>(),
bool with_events = true); bool with_events = true);

View file

@ -43,7 +43,7 @@ using namespace std;
*/ */
PatchChange::PatchChange( PatchChange::PatchChange(
MidiRegionView& region, MidiRegionView& region,
ArdourCanvas::Group* parent, ArdourCanvas::Layout* parent,
const string& text, const string& text,
double height, double height,
double x, double x,

View file

@ -35,7 +35,7 @@ class PatchChange
public: public:
PatchChange( PatchChange(
MidiRegionView& region, MidiRegionView& region,
ArdourCanvas::Group* parent, ArdourCanvas::Layout* parent,
const string& text, const string& text,
double height, double height,
double x, double x,

View file

@ -365,10 +365,10 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual Gtk::HBox& get_status_bar_packer() = 0; virtual Gtk::HBox& get_status_bar_packer() = 0;
#endif #endif
virtual ArdourCanvas::Group* get_trackview_group () const = 0; virtual ArdourCanvas::Layout* get_trackview_group () const = 0;
virtual ArdourCanvas::Group* get_hscroll_group () const = 0; virtual ArdourCanvas::ScrollGroup* get_hscroll_group () const = 0;
virtual ArdourCanvas::Group* get_vscroll_group () const = 0; virtual ArdourCanvas::ScrollGroup* get_vscroll_group () const = 0;
virtual ArdourCanvas::Group* get_hvscroll_group () const = 0; virtual ArdourCanvas::ScrollGroup* get_hvscroll_group () const = 0;
virtual ArdourCanvas::GtkCanvasViewport* get_track_canvas() const = 0; virtual ArdourCanvas::GtkCanvasViewport* get_track_canvas() const = 0;

View file

@ -38,7 +38,7 @@ using namespace std;
using namespace ARDOUR; using namespace ARDOUR;
using namespace PBD; using namespace PBD;
AudioRegionGainLine::AudioRegionGainLine (const string & name, AudioRegionView& r, ArdourCanvas::Group& parent, boost::shared_ptr<AutomationList> l) AudioRegionGainLine::AudioRegionGainLine (const string & name, AudioRegionView& r, ArdourCanvas::Layout& parent, boost::shared_ptr<AutomationList> l)
: AutomationLine (name, r.get_time_axis_view(), parent, l) : AutomationLine (name, r.get_time_axis_view(), parent, l)
, rv (r) , rv (r)
{ {

View file

@ -35,7 +35,7 @@ class AudioRegionView;
class AudioRegionGainLine : public AutomationLine class AudioRegionGainLine : public AutomationLine
{ {
public: public:
AudioRegionGainLine (const std::string & name, AudioRegionView&, ArdourCanvas::Group& parent, boost::shared_ptr<ARDOUR::AutomationList>); AudioRegionGainLine (const std::string & name, AudioRegionView&, ArdourCanvas::Layout& parent, boost::shared_ptr<ARDOUR::AutomationList>);
void start_drag_single (ControlPoint*, double, float); void start_drag_single (ControlPoint*, double, float);
void end_drag (bool with_push, uint32_t final_index); void end_drag (bool with_push, uint32_t final_index);

View file

@ -63,7 +63,7 @@ static const int32_t sync_mark_width = 9;
PBD::Signal1<void,RegionView*> RegionView::RegionViewGoingAway; PBD::Signal1<void,RegionView*> RegionView::RegionViewGoingAway;
RegionView::RegionView (ArdourCanvas::Group* parent, RegionView::RegionView (ArdourCanvas::Layout* parent,
TimeAxisView& tv, TimeAxisView& tv,
boost::shared_ptr<ARDOUR::Region> r, boost::shared_ptr<ARDOUR::Region> r,
double spu, double spu,
@ -128,7 +128,7 @@ RegionView::RegionView (const RegionView& other, boost::shared_ptr<Region> other
GhostRegion::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&RegionView::remove_ghost, this, _1), gui_context()); GhostRegion::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&RegionView::remove_ghost, this, _1), gui_context());
} }
RegionView::RegionView (ArdourCanvas::Group* parent, RegionView::RegionView (ArdourCanvas::Layout* parent,
TimeAxisView& tv, TimeAxisView& tv,
boost::shared_ptr<ARDOUR::Region> r, boost::shared_ptr<ARDOUR::Region> r,
double spu, double spu,

View file

@ -49,7 +49,7 @@ namespace ArdourCanvas {
class RegionView : public TimeAxisViewItem class RegionView : public TimeAxisViewItem
{ {
public: public:
RegionView (ArdourCanvas::Group* parent, RegionView (ArdourCanvas::Layout* parent,
TimeAxisView& time_view, TimeAxisView& time_view,
boost::shared_ptr<ARDOUR::Region> region, boost::shared_ptr<ARDOUR::Region> region,
double samples_per_pixel, double samples_per_pixel,
@ -128,7 +128,7 @@ class RegionView : public TimeAxisViewItem
/** Allows derived types to specify their visibility requirements /** Allows derived types to specify their visibility requirements
* to the TimeAxisViewItem parent class * to the TimeAxisViewItem parent class
*/ */
RegionView (ArdourCanvas::Group *, RegionView (ArdourCanvas::Layout *,
TimeAxisView&, TimeAxisView&,
boost::shared_ptr<ARDOUR::Region>, boost::shared_ptr<ARDOUR::Region>,
double samples_per_pixel, double samples_per_pixel,

View file

@ -52,9 +52,9 @@ using namespace ARDOUR;
using namespace PBD; using namespace PBD;
using namespace Editing; using namespace Editing;
StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* canvas_group) StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Layout* canvas_group)
: _trackview (tv) : _trackview (tv)
, _canvas_group (canvas_group ? canvas_group : new ArdourCanvas::Group (_trackview.canvas_display())) , _canvas_group (canvas_group ? canvas_group : new ArdourCanvas::Layout (_trackview.canvas_display()))
, _samples_per_pixel (_trackview.editor().get_current_zoom ()) , _samples_per_pixel (_trackview.editor().get_current_zoom ())
, rec_updating(false) , rec_updating(false)
, rec_active(false) , rec_active(false)

View file

@ -42,7 +42,7 @@ namespace ARDOUR {
namespace ArdourCanvas { namespace ArdourCanvas {
class Rectangle; class Rectangle;
class Group; class Layout;
} }
struct RecBoxInfo { struct RecBoxInfo {
@ -82,7 +82,7 @@ public:
void set_layer_display (LayerDisplay); void set_layer_display (LayerDisplay);
LayerDisplay layer_display () const { return _layer_display; } LayerDisplay layer_display () const { return _layer_display; }
ArdourCanvas::Group* canvas_item() { return _canvas_group; } ArdourCanvas::Layout* canvas_item() { return _canvas_group; }
enum ColorTarget { enum ColorTarget {
RegionColor, RegionColor,
@ -128,7 +128,7 @@ public:
sigc::signal<void> ContentsHeightChanged; sigc::signal<void> ContentsHeightChanged;
protected: protected:
StreamView (RouteTimeAxisView&, ArdourCanvas::Group* canvas_group = 0); StreamView (RouteTimeAxisView&, ArdourCanvas::Layout* canvas_group = 0);
void transport_changed(); void transport_changed();
void transport_looped(); void transport_looped();
@ -151,7 +151,7 @@ protected:
virtual void color_handler () = 0; virtual void color_handler () = 0;
RouteTimeAxisView& _trackview; RouteTimeAxisView& _trackview;
ArdourCanvas::Group* _canvas_group; ArdourCanvas::Layout* _canvas_group;
ArdourCanvas::Rectangle* canvas_rect; /* frame around the whole thing */ ArdourCanvas::Rectangle* canvas_rect; /* frame around the whole thing */
typedef std::list<RegionView* > RegionViewList; typedef std::list<RegionView* > RegionViewList;

View file

@ -26,7 +26,7 @@ using namespace std;
SysEx::SysEx ( SysEx::SysEx (
MidiRegionView& region, MidiRegionView& region,
ArdourCanvas::Group* parent, ArdourCanvas::Layout* parent,
string& text, string& text,
double height, double height,
double x, double x,

View file

@ -31,7 +31,7 @@ class SysEx
public: public:
SysEx ( SysEx (
MidiRegionView& region, MidiRegionView& region,
ArdourCanvas::Group* parent, ArdourCanvas::Layout* parent,
std::string& text, std::string& text,
double height, double height,
double x, double x,

View file

@ -46,7 +46,7 @@ const TimeAxisViewItem::Visibility TapeAudioRegionView::default_tape_visibility
TimeAxisViewItem::HideFrameRight | TimeAxisViewItem::HideFrameRight |
TimeAxisViewItem::FullWidthNameHighlight); TimeAxisViewItem::FullWidthNameHighlight);
TapeAudioRegionView::TapeAudioRegionView (ArdourCanvas::Group *parent, RouteTimeAxisView &tv, TapeAudioRegionView::TapeAudioRegionView (ArdourCanvas::Layout *parent, RouteTimeAxisView &tv,
boost::shared_ptr<AudioRegion> r, boost::shared_ptr<AudioRegion> r,
double spu, double spu,
uint32_t basic_color) uint32_t basic_color)

View file

@ -27,7 +27,7 @@
class TapeAudioRegionView : public AudioRegionView class TapeAudioRegionView : public AudioRegionView
{ {
public: public:
TapeAudioRegionView (ArdourCanvas::Group *, TapeAudioRegionView (ArdourCanvas::Layout *,
RouteTimeAxisView&, RouteTimeAxisView&,
boost::shared_ptr<ARDOUR::AudioRegion>, boost::shared_ptr<ARDOUR::AudioRegion>,
double initial_samples_per_pixel, double initial_samples_per_pixel,

View file

@ -28,7 +28,7 @@
using namespace std; using namespace std;
TempoLines::TempoLines (ArdourCanvas::Group* group, double) TempoLines::TempoLines (ArdourCanvas::Layout* group, double)
: lines (group, ArdourCanvas::LineSet::Vertical) : lines (group, ArdourCanvas::LineSet::Vertical)
{ {
lines.set_extent (ArdourCanvas::COORD_MAX); lines.set_extent (ArdourCanvas::COORD_MAX);

View file

@ -25,7 +25,7 @@
class TempoLines { class TempoLines {
public: public:
TempoLines (ArdourCanvas::Group* group, double screen_height); TempoLines (ArdourCanvas::Layout* group, double screen_height);
void tempo_map_changed(); void tempo_map_changed();

View file

@ -97,16 +97,16 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
compute_heights (); compute_heights ();
} }
_canvas_display = new Group (ed.get_trackview_group (), ArdourCanvas::Duple (0.0, 0.0)); _canvas_display = new ArdourCanvas::Layout (ed.get_trackview_group (), ArdourCanvas::Duple (0.0, 0.0));
CANVAS_DEBUG_NAME (_canvas_display, "main for TAV"); CANVAS_DEBUG_NAME (_canvas_display, "main for TAV");
_canvas_display->hide(); // reveal as needed _canvas_display->hide(); // reveal as needed
selection_group = new Group (_canvas_display); selection_group = new ArdourCanvas::Layout (_canvas_display);
CANVAS_DEBUG_NAME (selection_group, "selection for TAV"); CANVAS_DEBUG_NAME (selection_group, "selection for TAV");
selection_group->set_data (X_("timeselection"), (void *) 1); selection_group->set_data (X_("timeselection"), (void *) 1);
selection_group->hide(); selection_group->hide();
_ghost_group = new Group (_canvas_display); _ghost_group = new ArdourCanvas::Layout (_canvas_display);
CANVAS_DEBUG_NAME (_ghost_group, "ghost for TAV"); CANVAS_DEBUG_NAME (_ghost_group, "ghost for TAV");
_ghost_group->lower_to_bottom(); _ghost_group->lower_to_bottom();
_ghost_group->show(); _ghost_group->show();

View file

@ -59,7 +59,7 @@ namespace Gtk {
namespace ArdourCanvas { namespace ArdourCanvas {
class Canvas; class Canvas;
class Group; class Layout;
class Item; class Item;
} }
@ -104,8 +104,8 @@ class TimeAxisView : public virtual AxisView
virtual void enter_internal_edit_mode () {} virtual void enter_internal_edit_mode () {}
virtual void leave_internal_edit_mode () {} virtual void leave_internal_edit_mode () {}
ArdourCanvas::Group* canvas_display () { return _canvas_display; } ArdourCanvas::Layout* canvas_display () { return _canvas_display; }
ArdourCanvas::Group* ghost_group () { return _ghost_group; } ArdourCanvas::Layout* ghost_group () { return _ghost_group; }
/** @return effective height (taking children into account) in canvas units, or /** @return effective height (taking children into account) in canvas units, or
0 if this TimeAxisView has not yet been shown */ 0 if this TimeAxisView has not yet been shown */
@ -212,15 +212,15 @@ class TimeAxisView : public virtual AxisView
std::string controls_base_selected_name; std::string controls_base_selected_name;
Gtk::Menu* display_menu; /* The standard LHS Track control popup-menus */ Gtk::Menu* display_menu; /* The standard LHS Track control popup-menus */
TimeAxisView* parent; TimeAxisView* parent;
ArdourCanvas::Group* selection_group; ArdourCanvas::Layout* selection_group;
ArdourCanvas::Group* _ghost_group; ArdourCanvas::Layout* _ghost_group;
std::list<GhostRegion*> ghosts; std::list<GhostRegion*> ghosts;
std::list<SelectionRect*> free_selection_rects; std::list<SelectionRect*> free_selection_rects;
std::list<SelectionRect*> used_selection_rects; std::list<SelectionRect*> used_selection_rects;
bool _hidden; bool _hidden;
bool in_destructor; bool in_destructor;
Gtk::Menu* _size_menu; Gtk::Menu* _size_menu;
ArdourCanvas::Group* _canvas_display; ArdourCanvas::Layout* _canvas_display;
double _y_position; double _y_position;
PublicEditor& _editor; PublicEditor& _editor;

View file

@ -28,7 +28,7 @@
#include "gtkmm2ext/utils.h" #include "gtkmm2ext/utils.h"
#include "gtkmm2ext/gui_thread.h" #include "gtkmm2ext/gui_thread.h"
#include "canvas/group.h" #include "canvas/layout.h"
#include "canvas/rectangle.h" #include "canvas/rectangle.h"
#include "canvas/debug.h" #include "canvas/debug.h"
#include "canvas/text.h" #include "canvas/text.h"
@ -119,7 +119,7 @@ TimeAxisViewItem::set_constant_heights ()
* @param automation true if this is an automation region view * @param automation true if this is an automation region view
*/ */
TimeAxisViewItem::TimeAxisViewItem( TimeAxisViewItem::TimeAxisViewItem(
const string & it_name, ArdourCanvas::Group& parent, TimeAxisView& tv, double spu, uint32_t base_color, const string & it_name, ArdourCanvas::Item& parent, TimeAxisView& tv, double spu, uint32_t base_color,
framepos_t start, framecnt_t duration, bool recording, bool automation, Visibility vis framepos_t start, framecnt_t duration, bool recording, bool automation, Visibility vis
) )
: trackview (tv) : trackview (tv)
@ -149,7 +149,7 @@ TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
{ {
/* share the other's parent, but still create a new group */ /* share the other's parent, but still create a new group */
ArdourCanvas::Group* parent = other.group->parent(); ArdourCanvas::Item* parent = other.group->parent();
_selected = other._selected; _selected = other._selected;
@ -158,11 +158,11 @@ TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
} }
void void
TimeAxisViewItem::init (ArdourCanvas::Group* parent, double fpp, uint32_t base_color, TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_color,
framepos_t start, framepos_t duration, Visibility vis, framepos_t start, framepos_t duration, Visibility vis,
bool wide, bool high) bool wide, bool high)
{ {
group = new ArdourCanvas::Group (parent); group = new ArdourCanvas::Layout (parent);
CANVAS_DEBUG_NAME (group, string_compose ("TAVI group for %1", get_item_name())); CANVAS_DEBUG_NAME (group, string_compose ("TAVI group for %1", get_item_name()));
group->Event.connect (sigc::mem_fun (*this, &TimeAxisViewItem::canvas_group_event)); group->Event.connect (sigc::mem_fun (*this, &TimeAxisViewItem::canvas_group_event));
@ -646,7 +646,7 @@ TimeAxisViewItem::get_canvas_frame()
return frame; return frame;
} }
ArdourCanvas::Group* ArdourCanvas::Item*
TimeAxisViewItem::get_canvas_group() TimeAxisViewItem::get_canvas_group()
{ {
return group; return group;

View file

@ -33,8 +33,8 @@ namespace ArdourCanvas {
class Pixbuf; class Pixbuf;
class Rectangle; class Rectangle;
class Item; class Item;
class Group; class Layout;
class Text; class Text;
} }
using ARDOUR::framepos_t; using ARDOUR::framepos_t;
@ -79,7 +79,7 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
uint32_t get_fill_color () const; uint32_t get_fill_color () const;
ArdourCanvas::Item* get_canvas_frame(); ArdourCanvas::Item* get_canvas_frame();
ArdourCanvas::Group* get_canvas_group(); ArdourCanvas::Item* get_canvas_group();
ArdourCanvas::Item* get_name_highlight(); ArdourCanvas::Item* get_name_highlight();
virtual void set_samples_per_pixel (double); virtual void set_samples_per_pixel (double);
@ -170,12 +170,12 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
}; };
protected: protected:
TimeAxisViewItem (const std::string &, ArdourCanvas::Group&, TimeAxisView&, double, uint32_t fill_color, TimeAxisViewItem (const std::string &, ArdourCanvas::Item&, TimeAxisView&, double, uint32_t fill_color,
framepos_t, framecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0)); framepos_t, framecnt_t, bool recording = false, bool automation = false, Visibility v = Visibility (0));
TimeAxisViewItem (const TimeAxisViewItem&); TimeAxisViewItem (const TimeAxisViewItem&);
void init (ArdourCanvas::Group*, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool); void init (ArdourCanvas::Item*, double, uint32_t, framepos_t, framepos_t, Visibility, bool, bool);
virtual bool canvas_group_event (GdkEvent*); virtual bool canvas_group_event (GdkEvent*);
@ -240,7 +240,7 @@ class TimeAxisViewItem : public Selectable, public PBD::ScopedConnectionList
bool high_enough_for_name; bool high_enough_for_name;
bool rect_visible; bool rect_visible;
ArdourCanvas::Group* group; ArdourCanvas::Layout* group;
ArdourCanvas::Rectangle* vestigial_frame; ArdourCanvas::Rectangle* vestigial_frame;
ArdourCanvas::Rectangle* frame; ArdourCanvas::Rectangle* frame;
ArdourCanvas::Text* name_text; ArdourCanvas::Text* name_text;

View file

@ -23,6 +23,7 @@
#include "ardour/profile.h" #include "ardour/profile.h"
#include "canvas/debug.h" #include "canvas/debug.h"
#include "canvas/scroll_group.h"
#include "ardour_ui.h" #include "ardour_ui.h"
#include "audio_clock.h" #include "audio_clock.h"

View file

@ -24,7 +24,7 @@
#include "video_image_frame.h" #include "video_image_frame.h"
#include "public_editor.h" #include "public_editor.h"
#include "utils.h" #include "utils.h"
#include "canvas/group.h" #include "canvas/layout.h"
#include "utils_videotl.h" #include "utils_videotl.h"
#include <gtkmm2ext/utils.h> #include <gtkmm2ext/utils.h>
@ -43,7 +43,7 @@ static void freedata_cb (uint8_t *d, void* /*arg*/) {
free (d); free (d);
} }
VideoImageFrame::VideoImageFrame (PublicEditor& ed, ArdourCanvas::Group& parent, int w, int h, std::string vsurl, std::string vfn) VideoImageFrame::VideoImageFrame (PublicEditor& ed, ArdourCanvas::Layout& parent, int w, int h, std::string vsurl, std::string vfn)
: editor (ed) : editor (ed)
, _parent(&parent) , _parent(&parent)
, clip_width(w) , clip_width(w)

View file

@ -32,7 +32,7 @@
#include "ardour/ardour.h" #include "ardour/ardour.h"
#include "pbd/signals.h" #include "pbd/signals.h"
#include "canvas/group.h" #include "canvas/layout.h"
#include "canvas/pixbuf.h" #include "canvas/pixbuf.h"
#include "canvas/image.h" #include "canvas/image.h"
@ -49,7 +49,7 @@ class PublicEditor;
class VideoImageFrame : public sigc::trackable class VideoImageFrame : public sigc::trackable
{ {
public: public:
VideoImageFrame (PublicEditor&, ArdourCanvas::Group&, int, int, std::string, std::string); VideoImageFrame (PublicEditor&, ArdourCanvas::Layout&, int, int, std::string, std::string);
virtual ~VideoImageFrame (); virtual ~VideoImageFrame ();
void set_position (framepos_t); void set_position (framepos_t);
@ -69,7 +69,7 @@ class VideoImageFrame : public sigc::trackable
protected: protected:
PublicEditor& editor; PublicEditor& editor;
ArdourCanvas::Group *_parent; ArdourCanvas::Layout *_parent;
ArdourCanvas::Image *image; ArdourCanvas::Image *image;
boost::shared_ptr<ArdourCanvas::Image::Data> img; boost::shared_ptr<ArdourCanvas::Image::Data> img;

View file

@ -51,7 +51,7 @@ using namespace PBD;
using namespace Timecode; using namespace Timecode;
using namespace VideoUtils; using namespace VideoUtils;
VideoTimeLine::VideoTimeLine (PublicEditor *ed, ArdourCanvas::Group *vbg, int initial_height) VideoTimeLine::VideoTimeLine (PublicEditor *ed, ArdourCanvas::Layout *vbg, int initial_height)
: editor (ed) : editor (ed)
, videotl_group(vbg) , videotl_group(vbg)
, bar_height(initial_height) , bar_height(initial_height)

View file

@ -29,7 +29,7 @@
#include "video_image_frame.h" #include "video_image_frame.h"
#include "video_monitor.h" #include "video_monitor.h"
#include "pbd/signals.h" #include "pbd/signals.h"
#include "canvas/group.h" #include "canvas/layout.h"
namespace ARDOUR { namespace ARDOUR {
class Session; class Session;
@ -55,7 +55,7 @@ class PublicEditor;
class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, public PBD::ScopedConnectionList, public PBD::StatefulDestructible class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, public PBD::ScopedConnectionList, public PBD::StatefulDestructible
{ {
public: public:
VideoTimeLine (PublicEditor*, ArdourCanvas::Group*, int); VideoTimeLine (PublicEditor*, ArdourCanvas::Layout*, int);
virtual ~VideoTimeLine (); virtual ~VideoTimeLine ();
void set_session (ARDOUR::Session *s); void set_session (ARDOUR::Session *s);
@ -102,7 +102,7 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
protected: protected:
PublicEditor *editor; PublicEditor *editor;
ArdourCanvas::Group *videotl_group; ArdourCanvas::Layout *videotl_group;
int bar_height; int bar_height;
std::string _xjadeo_bin; std::string _xjadeo_bin;