summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_mouse.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-07-13 12:34:11 +0000
committerCarl Hetherington <carl@carlh.net>2011-07-13 12:34:11 +0000
commit82ec615da30478d34bc4f47dcbce2349ade5507e (patch)
tree91f742e7bd64e6c2f34997efddcae83fc1e2f36e /gtk2_ardour/editor_mouse.cc
parentdc900af74c4d3fa276d70ea09947fc59b3ecb38c (diff)
Make MIDI automation tracks behave the same as MIDI
tracks when they are clicked in an area with no region (approximation to a fix for #4155). git-svn-id: svn://localhost/ardour2/branches/3.0@9860 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_mouse.cc')
-rw-r--r--gtk2_ardour/editor_mouse.cc14
1 files changed, 11 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index 0d5f75f60d..30e117fb59 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -725,7 +725,7 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
if (dynamic_cast<MidiTimeAxisView*> (clicked_axisview)) {
_drags->set (new RegionCreateDrag (this, item, clicked_axisview), event);
return true;
- }
+ }
} else {
_drags->set (new SelectionDrag (this, item, SelectionDrag::CreateSelection), event);
return true;
@@ -879,9 +879,17 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
break;
case AutomationTrackItem:
- /* rubberband drag to select automation points */
- _drags->set (new RubberbandSelectDrag (this, item), event);
+ {
+ TimeAxisView* parent = clicked_axisview->get_parent ();
+ if (parent && dynamic_cast<MidiTimeAxisView*> (parent)) {
+ /* create a MIDI region so that we have somewhere to put automation */
+ _drags->set (new RegionCreateDrag (this, item, parent), event);
+ } else {
+ /* rubberband drag to select automation points */
+ _drags->set (new RubberbandSelectDrag (this, item), event);
+ }
break;
+ }
case SelectionItem:
{