summaryrefslogtreecommitdiff
path: root/gtk2_ardour/automation_time_axis.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-11-14 20:04:09 -0500
committerDavid Robillard <d@drobilla.net>2014-11-14 20:04:19 -0500
commit31acd96384b930de928aa8c7969336ba3401bbed (patch)
tree69137126cf3738fb242a7ff1d3875927c82f7541 /gtk2_ardour/automation_time_axis.h
parentb01d1813f88e303bae724d5bc6f51de0c2fb4e1b (diff)
Implement "multi-paste" for notes, regions, and automation.
The idea here is that pasting several times to the same location doesn't make sense. Instead, the paste is appended past the last paste, snapped to the grid. This make it simple to replicate a given section a number of times, simply by copying once and pasting several times. This behaviour only appears when successive pastes are done to the same location (whatever the edit point is). When the paste point changes, the "multi-paste" state is reset. Boots 'n cats 'n boots 'n cats.
Diffstat (limited to 'gtk2_ardour/automation_time_axis.h')
-rw-r--r--gtk2_ardour/automation_time_axis.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/gtk2_ardour/automation_time_axis.h b/gtk2_ardour/automation_time_axis.h
index a468c12459..39a211a456 100644
--- a/gtk2_ardour/automation_time_axis.h
+++ b/gtk2_ardour/automation_time_axis.h
@@ -93,7 +93,7 @@ class AutomationTimeAxisView : public TimeAxisView {
/* editing operations */
void cut_copy_clear (Selection&, Editing::CutCopyOp);
- bool paste (ARDOUR::framepos_t, float times, Selection&, size_t nth);
+ bool paste (ARDOUR::framepos_t, unsigned paste_count, float times, Selection&, size_t nth);
int set_state (const XMLNode&, int version);
@@ -171,7 +171,7 @@ class AutomationTimeAxisView : public TimeAxisView {
void build_display_menu ();
void cut_copy_clear_one (AutomationLine&, Selection&, Editing::CutCopyOp);
- bool paste_one (AutomationLine&, ARDOUR::framepos_t, float times, Selection&, size_t nth);
+ bool paste_one (AutomationLine&, ARDOUR::framepos_t, unsigned, float times, Selection&, size_t nth);
void route_going_away ();
void set_automation_state (ARDOUR::AutoState);