summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_canvas_events.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor_canvas_events.cc')
-rw-r--r--gtk2_ardour/editor_canvas_events.cc78
1 files changed, 34 insertions, 44 deletions
diff --git a/gtk2_ardour/editor_canvas_events.cc b/gtk2_ardour/editor_canvas_events.cc
index 3269f9d011..4a22c2bda7 100644
--- a/gtk2_ardour/editor_canvas_events.cc
+++ b/gtk2_ardour/editor_canvas_events.cc
@@ -99,7 +99,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
if (!current_stepping_trackview) {
step_timeout = Glib::signal_timeout().connect (mem_fun(*this, &Editor::track_height_step_timeout), 500);
- std::pair<TimeAxisViewPtr, int> const p = trackview_by_y_position (ev->y + vertical_adjustment.get_value() - canvas_timebars_vsize);
+ std::pair<TimeAxisView*, int> const p = trackview_by_y_position (ev->y + vertical_adjustment.get_value() - canvas_timebars_vsize);
current_stepping_trackview = p.first;
if (!current_stepping_trackview) {
return false;
@@ -134,7 +134,7 @@ Editor::track_canvas_scroll (GdkEventScroll* ev)
} else if (Keyboard::modifier_state_equals (ev->state, Keyboard::TertiaryModifier)) {
if (!current_stepping_trackview) {
step_timeout = Glib::signal_timeout().connect (mem_fun(*this, &Editor::track_height_step_timeout), 500);
- std::pair<TimeAxisViewPtr, int> const p = trackview_by_y_position (ev->y + vertical_adjustment.get_value() - canvas_timebars_vsize);
+ std::pair<TimeAxisView*, int> const p = trackview_by_y_position (ev->y + vertical_adjustment.get_value() - canvas_timebars_vsize);
current_stepping_trackview = p.first;
if (!current_stepping_trackview) {
return false;
@@ -270,8 +270,8 @@ Editor::canvas_region_view_event (GdkEvent *event, ArdourCanvas::Item* item, Reg
case GDK_3BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = rv->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView> (clicked_axisview);
+ clicked_axisview = &rv->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
ret = button_press_handler (item, event, RegionItem);
break;
@@ -284,12 +284,12 @@ Editor::canvas_region_view_event (GdkEvent *event, ArdourCanvas::Item* item, Reg
break;
case GDK_ENTER_NOTIFY:
- set_entered_track (rv->get_time_axis_view ());
+ set_entered_track (&rv->get_time_axis_view ());
set_entered_regionview (rv);
break;
case GDK_LEAVE_NOTIFY:
- set_entered_track (TimeAxisViewPtr ());
+ set_entered_track (0);
set_entered_regionview (0);
break;
@@ -301,13 +301,8 @@ Editor::canvas_region_view_event (GdkEvent *event, ArdourCanvas::Item* item, Reg
}
bool
-Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, boost::weak_ptr<TimeAxisView> w)
+Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, RouteTimeAxisView *tv)
{
- boost::shared_ptr<TimeAxisView> tv = w.lock ();
- if (!tv) {
- return false;
- }
-
bool ret = FALSE;
switch (event->type) {
@@ -317,7 +312,7 @@ Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, boo
clicked_regionview = 0;
clicked_control_point = 0;
clicked_axisview = tv;
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(tv);
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(tv);
ret = button_press_handler (item, event, StreamItem);
break;
@@ -334,7 +329,7 @@ Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, boo
break;
case GDK_LEAVE_NOTIFY:
- set_entered_track (TimeAxisViewPtr ());
+ set_entered_track (0);
break;
default:
@@ -345,13 +340,8 @@ Editor::canvas_stream_view_event (GdkEvent *event, ArdourCanvas::Item* item, boo
}
bool
-Editor::canvas_automation_track_event (GdkEvent *event, ArdourCanvas::Item* item, boost::weak_ptr<AutomationTimeAxisView> v)
+Editor::canvas_automation_track_event (GdkEvent *event, ArdourCanvas::Item* item, AutomationTimeAxisView *atv)
{
- boost::shared_ptr<AutomationTimeAxisView> atv = v.lock ();
- if (!atv) {
- return false;
- }
-
bool ret = false;
switch (event->type) {
@@ -360,8 +350,8 @@ Editor::canvas_automation_track_event (GdkEvent *event, ArdourCanvas::Item* item
case GDK_3BUTTON_PRESS:
clicked_regionview = 0;
clicked_control_point = 0;
- clicked_axisview.reset ();
- clicked_routeview.reset ();
+ clicked_axisview = atv;
+ clicked_routeview = 0;
ret = button_press_handler (item, event, AutomationTrackItem);
break;
@@ -401,8 +391,8 @@ Editor::canvas_fade_in_event (GdkEvent *event, ArdourCanvas::Item* item, AudioRe
case GDK_BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = rv->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(clicked_axisview);
+ clicked_axisview = &rv->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
if (event->button.button == 3) {
return button_press_handler (item, event, FadeInItem);
}
@@ -439,8 +429,8 @@ Editor::canvas_fade_in_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
case GDK_3BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = rv->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(clicked_axisview);
+ clicked_axisview = &rv->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
ret = button_press_handler (item, event, FadeInHandleItem);
break;
@@ -480,8 +470,8 @@ Editor::canvas_fade_out_event (GdkEvent *event, ArdourCanvas::Item* item, AudioR
case GDK_BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = rv->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView> (clicked_axisview);
+ clicked_axisview = &rv->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
if (event->button.button == 3) {
return button_press_handler (item, event, FadeOutItem);
}
@@ -518,8 +508,8 @@ Editor::canvas_fade_out_handle_event (GdkEvent *event, ArdourCanvas::Item* item,
case GDK_3BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = rv->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(clicked_axisview);
+ clicked_axisview = &rv->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
ret = button_press_handler (item, event, FadeOutHandleItem);
break;
@@ -560,7 +550,7 @@ Editor::canvas_crossfade_view_event (GdkEvent* event, ArdourCanvas::Item* item,
switch (event->type) {
case GDK_BUTTON_PRESS:
clicked_crossfadeview = xfv;
- clicked_axisview = clicked_crossfadeview->get_time_axis_view();
+ clicked_axisview = &clicked_crossfadeview->get_time_axis_view();
if (event->button.button == 3) {
return button_press_handler (item, event, CrossfadeViewItem);
}
@@ -590,10 +580,10 @@ Editor::canvas_crossfade_view_event (GdkEvent* event, ArdourCanvas::Item* item,
and proxy to that when required.
*/
- TimeAxisViewPtr tv (xfv->get_time_axis_view());
- AudioTimeAxisViewPtr atv;
+ TimeAxisView& tv (xfv->get_time_axis_view());
+ AudioTimeAxisView* atv;
- if ((atv = boost::dynamic_pointer_cast<AudioTimeAxisView>(tv)) != 0) {
+ if ((atv = dynamic_cast<AudioTimeAxisView*>(&tv)) != 0) {
if (atv->is_audio_track()) {
@@ -631,8 +621,8 @@ Editor::canvas_control_point_event (GdkEvent *event, ArdourCanvas::Item* item, C
case GDK_2BUTTON_PRESS:
case GDK_3BUTTON_PRESS:
clicked_control_point = cp;
- clicked_axisview = cp->line().trackview;
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(clicked_axisview);
+ clicked_axisview = &cp->line().trackview;
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
clicked_regionview = 0;
break;
@@ -779,8 +769,8 @@ Editor::canvas_region_view_name_highlight_event (GdkEvent* event, ArdourCanvas::
case GDK_3BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = clicked_regionview->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(clicked_axisview);
+ clicked_axisview = &clicked_regionview->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
ret = button_press_handler (item, event, RegionViewNameHighlight);
break;
case GDK_BUTTON_RELEASE:
@@ -819,8 +809,8 @@ Editor::canvas_region_view_name_event (GdkEvent *event, ArdourCanvas::Item* item
case GDK_3BUTTON_PRESS:
clicked_regionview = rv;
clicked_control_point = 0;
- clicked_axisview = clicked_regionview->get_time_axis_view();
- clicked_routeview = boost::dynamic_pointer_cast<RouteTimeAxisView>(clicked_axisview);
+ clicked_axisview = &clicked_regionview->get_time_axis_view();
+ clicked_routeview = dynamic_cast<RouteTimeAxisView*>(clicked_axisview);
ret = button_press_handler (item, event, RegionViewName);
break;
case GDK_BUTTON_RELEASE:
@@ -930,12 +920,12 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const & c, int
double py;
nframes64_t const pos = event_frame (&event, &px, &py);
- std::pair<TimeAxisViewPtr, int> const tv = trackview_by_y_position (py);
+ std::pair<TimeAxisView*, int> const tv = trackview_by_y_position (py);
if (tv.first == 0) {
return true;
}
- RouteTimeAxisViewPtr rtav = boost::dynamic_pointer_cast<RouteTimeAxisView> (tv.first);
+ RouteTimeAxisView* rtav = dynamic_cast<RouteTimeAxisView*> (tv.first);
if (rtav == 0 || !rtav->is_track ()) {
return true;
}
@@ -945,14 +935,14 @@ Editor::track_canvas_drag_motion (Glib::RefPtr<Gdk::DragContext> const & c, int
boost::shared_ptr<Region> region_copy = RegionFactory::create (region);
if (boost::dynamic_pointer_cast<AudioRegion> (region_copy) != 0 &&
- boost::dynamic_pointer_cast<AudioTimeAxisView> (tv.first) == 0) {
+ dynamic_cast<AudioTimeAxisView*> (tv.first) == 0) {
/* audio -> non-audio */
return true;
}
if (boost::dynamic_pointer_cast<MidiRegion> (region_copy) == 0 &&
- boost::dynamic_pointer_cast<MidiTimeAxisView> (tv.first) != 0) {
+ dynamic_cast<MidiTimeAxisView*> (tv.first) != 0) {
/* MIDI -> non-MIDI */
return true;