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.
This commit is contained in:
David Robillard 2014-11-14 20:04:09 -05:00
parent b01d1813f8
commit 31acd96384
11 changed files with 80 additions and 17 deletions

View file

@ -99,7 +99,7 @@ public:
/* 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);
RegionView* combine_regions ();
void uncombine_regions ();
void uncombine_region (RegionView*);