mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 06:44:57 +01:00
further adventures in drag-refactoring do that LineDrag can be used in MidiCueEditor also
This commit is contained in:
parent
302337e8fd
commit
01068fe306
7 changed files with 46 additions and 27 deletions
|
|
@ -848,7 +848,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
return true;
|
||||
|
||||
case GainLineItem:
|
||||
_drags->set (new LineDrag (*this, item), event);
|
||||
_drags->set (new LineDrag (*this, item, [&](GdkEvent* ev,timepos_t const & pos, double y) { line_drag_click (ev, pos, y); }), event);
|
||||
return true;
|
||||
break;
|
||||
|
||||
|
|
@ -858,7 +858,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
break;
|
||||
|
||||
case EditorAutomationLineItem:
|
||||
_drags->set (new LineDrag (*this, item), event);
|
||||
_drags->set (new LineDrag (*this, item, [&](GdkEvent* ev,timepos_t const & pos, double y) { line_drag_click (ev, pos, y); }), event);
|
||||
return true;
|
||||
break;
|
||||
|
||||
|
|
@ -999,7 +999,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
break;
|
||||
|
||||
case EditorAutomationLineItem:
|
||||
_drags->set (new LineDrag (*this, item), event);
|
||||
_drags->set (new LineDrag (*this, item, [&](GdkEvent* ev,timepos_t const & pos, double y) { line_drag_click (ev, pos, y); }), event);
|
||||
return true;
|
||||
break;
|
||||
|
||||
|
|
@ -1062,7 +1062,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
|||
case MouseDraw:
|
||||
switch (item_type) {
|
||||
case GainLineItem:
|
||||
_drags->set (new LineDrag (*this, item), event);
|
||||
_drags->set (new LineDrag (*this, item, [&](GdkEvent* ev,timepos_t const & pos, double y) { line_drag_click (ev, pos, y); }), event);
|
||||
return true;
|
||||
|
||||
case ControlPointItem:
|
||||
|
|
@ -2617,3 +2617,22 @@ Editor::rb_click (GdkEvent* event, timepos_t const & where)
|
|||
|
||||
return do_deselect;
|
||||
}
|
||||
|
||||
void
|
||||
Editor::line_drag_click (GdkEvent* event, timepos_t const & where, double y)
|
||||
{
|
||||
AutomationTimeAxisView* atv;
|
||||
|
||||
if ((atv = dynamic_cast<AutomationTimeAxisView*> (clicked_axisview)) != 0) {
|
||||
|
||||
atv->add_automation_event (event, where, y, false);
|
||||
|
||||
} else if (dynamic_cast<AudioTimeAxisView*> (clicked_axisview) != 0) {
|
||||
|
||||
AudioRegionView* arv;
|
||||
|
||||
if ((arv = dynamic_cast<AudioRegionView*> (clicked_regionview)) != 0) {
|
||||
arv->add_gain_point_event (&arv->fx_line ()->grab_item (), event, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue