summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_time_axis.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/midi_time_axis.cc')
-rw-r--r--gtk2_ardour/midi_time_axis.cc40
1 files changed, 24 insertions, 16 deletions
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 0348e632f8..a1e8ef1f04 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -820,31 +820,39 @@ MidiTimeAxisView::update_range()
}
void
-MidiTimeAxisView::show_all_automation ()
+MidiTimeAxisView::show_all_automation (bool apply_to_selection)
{
- if (midi_track()) {
- const set<Evoral::Parameter> params = midi_track()->midi_playlist()->contained_automation();
-
- for (set<Evoral::Parameter>::const_iterator i = params.begin(); i != params.end(); ++i) {
- create_automation_child(*i, true);
+ if (apply_to_selection) {
+ _editor.get_selection().tracks.foreach_midi_time_axis (boost::bind (&MidiTimeAxisView::show_all_automation, _1, false));
+ } else {
+ if (midi_track()) {
+ const set<Evoral::Parameter> params = midi_track()->midi_playlist()->contained_automation();
+
+ for (set<Evoral::Parameter>::const_iterator i = params.begin(); i != params.end(); ++i) {
+ create_automation_child(*i, true);
+ }
}
+
+ RouteTimeAxisView::show_all_automation ();
}
-
- RouteTimeAxisView::show_all_automation ();
}
void
-MidiTimeAxisView::show_existing_automation ()
+MidiTimeAxisView::show_existing_automation (bool apply_to_selection)
{
- if (midi_track()) {
- const set<Evoral::Parameter> params = midi_track()->midi_playlist()->contained_automation();
-
- for (set<Evoral::Parameter>::const_iterator i = params.begin(); i != params.end(); ++i) {
- create_automation_child(*i, true);
+ if (apply_to_selection) {
+ _editor.get_selection().tracks.foreach_midi_time_axis (boost::bind (&MidiTimeAxisView::show_existing_automation, _1, false));
+ } else {
+ if (midi_track()) {
+ const set<Evoral::Parameter> params = midi_track()->midi_playlist()->contained_automation();
+
+ for (set<Evoral::Parameter>::const_iterator i = params.begin(); i != params.end(); ++i) {
+ create_automation_child(*i, true);
+ }
}
+
+ RouteTimeAxisView::show_existing_automation ();
}
-
- RouteTimeAxisView::show_existing_automation ();
}
/** Create an automation track for the given parameter (pitch bend, channel pressure).