diff options
author | Carl Hetherington <carl@carlh.net> | 2011-07-13 12:34:11 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-07-13 12:34:11 +0000 |
commit | 82ec615da30478d34bc4f47dcbce2349ade5507e (patch) | |
tree | 91f742e7bd64e6c2f34997efddcae83fc1e2f36e /gtk2_ardour/editor_mouse.cc | |
parent | dc900af74c4d3fa276d70ea09947fc59b3ecb38c (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.cc | 14 |
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: { |