in draw mode, mouse drags in automation tracks are always freehand drawing
This commit is contained in:
parent
b354f41fc2
commit
c578695a64
|
@ -112,6 +112,7 @@ AutomationLine::AutomationLine (const string& name,
|
||||||
line = new ArdourCanvas::PolyLine (group);
|
line = new ArdourCanvas::PolyLine (group);
|
||||||
CANVAS_DEBUG_NAME (line, "region gain envelope line");
|
CANVAS_DEBUG_NAME (line, "region gain envelope line");
|
||||||
line->set_data ("line", this);
|
line->set_data ("line", this);
|
||||||
|
line->set_data ("trackview", &trackview);
|
||||||
line->set_outline_width (2.0);
|
line->set_outline_width (2.0);
|
||||||
line->set_covers_threshold (4.0);
|
line->set_covers_threshold (4.0);
|
||||||
|
|
||||||
|
|
|
@ -619,7 +619,7 @@ Editor::button_selection (ArdourCanvas::Item* item, GdkEvent* event, ItemType it
|
||||||
case ControlPointItem:
|
case ControlPointItem:
|
||||||
/* for object/track exclusivity, we don't call set_selected_track_as_side_effect (op); */
|
/* for object/track exclusivity, we don't call set_selected_track_as_side_effect (op); */
|
||||||
|
|
||||||
if (eff_mouse_mode != MouseRange) {
|
if (eff_mouse_mode == MouseContent) {
|
||||||
if (event->button.button != 3) {
|
if (event->button.button != 3) {
|
||||||
_mouse_changed_selection |= set_selected_control_point_from_click (press, op);
|
_mouse_changed_selection |= set_selected_control_point_from_click (press, op);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1242,11 +1242,6 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
||||||
_drags->set (new LineDrag (this, item), event);
|
_drags->set (new LineDrag (this, item), event);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case ControlPointItem:
|
|
||||||
_drags->set (new ControlPointDrag (this, item), event);
|
|
||||||
return true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SelectionItem:
|
case SelectionItem:
|
||||||
{
|
{
|
||||||
if (selection->time.empty ()) {
|
if (selection->time.empty ()) {
|
||||||
|
@ -1335,6 +1330,10 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case ControlPointItem:
|
||||||
|
item = &(static_cast<ControlPoint*> (item->get_data ("control_point"))->line().grab_item());
|
||||||
|
/*fallthrough*/
|
||||||
|
case AutomationLineItem:
|
||||||
case AutomationTrackItem:
|
case AutomationTrackItem:
|
||||||
{
|
{
|
||||||
AutomationTimeAxisView* atv = static_cast<AutomationTimeAxisView*> (item->get_data ("trackview"));
|
AutomationTimeAxisView* atv = static_cast<AutomationTimeAxisView*> (item->get_data ("trackview"));
|
||||||
|
@ -1344,10 +1343,6 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AutomationLineItem:
|
|
||||||
_drags->set (new LineDrag (this, item), event);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NoteItem:
|
case NoteItem:
|
||||||
if ((note = reinterpret_cast<NoteBase*>(item->get_data ("notebase")))) {
|
if ((note = reinterpret_cast<NoteBase*>(item->get_data ("notebase")))) {
|
||||||
if (note->big_enough_to_trim() && note->mouse_near_ends()) {
|
if (note->big_enough_to_trim() && note->mouse_near_ends()) {
|
||||||
|
|
|
@ -327,6 +327,10 @@ Editor::set_selected_control_point_from_click (bool press, Selection::Operation
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mouse_mode != Editing::MouseContent) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
|
||||||
switch (op) {
|
switch (op) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user