summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-12-28 15:50:57 -0500
committerDavid Robillard <d@drobilla.net>2014-12-28 16:06:44 -0500
commit4c0cebf7f98ecd14873d26b6f4d8bdedd37cb994 (patch)
tree8efbd17e96fc1c56392ff77e2ef3d99e5f3af731 /gtk2_ardour/editor_ops.cc
parentec947ff8fd2cf229284f757b8bd6b0f96cbd6383 (diff)
MIDI transform dialog.
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 4589844bf6..625579d6a8 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -97,6 +97,7 @@
#include "strip_silence_dialog.h"
#include "time_axis_view.h"
#include "transpose_dialog.h"
+#include "transform_dialog.h"
#include "i18n.h"
@@ -5039,6 +5040,33 @@ Editor::legatize_regions (const RegionSelection& rs, bool shrink_only)
}
void
+Editor::transform_region ()
+{
+ if (_session) {
+ transform_regions(get_regions_from_selection_and_entered ());
+ }
+}
+
+void
+Editor::transform_regions (const RegionSelection& rs)
+{
+ if (rs.n_midi_regions() == 0) {
+ return;
+ }
+
+ TransformDialog* td = new TransformDialog();
+
+ td->present();
+ const int r = td->run();
+ td->hide();
+
+ if (r == Gtk::RESPONSE_OK) {
+ Transform transform(td->get());
+ apply_midi_note_edit_op(transform, rs);
+ }
+}
+
+void
Editor::insert_patch_change (bool from_context)
{
RegionSelection rs = get_regions_from_selection_and_entered ();