summaryrefslogtreecommitdiff
path: root/muse2/muse/functions.cpp
diff options
context:
space:
mode:
authorTim E. Real <termtech@rogers.com>2012-08-15 00:24:29 +0000
committerTim E. Real <termtech@rogers.com>2012-08-15 00:24:29 +0000
commit6c642a1cff928c183d80af7ab4fad6910466a091 (patch)
treeab534d2203486d681398b7197635861ae65160c1 /muse2/muse/functions.cpp
parent345fb0cc41b94b08134dc1f40020b4bf26e1d46b (diff)
Introducing: Improved Wave Editor. Class WaveView is replaced by WaveCanvas.
Wave Events can be selected, added, moved and deleted. TODO: Bunch o' stuff, but currently it should be as good or better than the old editor.
Diffstat (limited to 'muse2/muse/functions.cpp')
-rw-r--r--muse2/muse/functions.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/muse2/muse/functions.cpp b/muse2/muse/functions.cpp
index 1a6927e8..da5826e5 100644
--- a/muse2/muse/functions.cpp
+++ b/muse2/muse/functions.cpp
@@ -1286,12 +1286,22 @@ void schedule_resize_all_same_len_clone_parts(Part* part, unsigned new_len, Undo
if (op_it->type==UndoOp::ModifyPart || op_it->type==UndoOp::DeletePart)
already_done.insert(op_it->nPart);
- unsigned old_len=part->lenTick();
+ unsigned old_len= part->type() == Pos::FRAMES ? part->lenFrame() : part->lenTick();
if (old_len!=new_len)
{
Part* part_it=part;
do
{
+ if (part->type() == Pos::FRAMES)
+ {
+ if (part_it->lenFrame()==old_len && !already_done.contains(part_it))
+ {
+ WavePart* new_part = new WavePart(*(WavePart*)part_it);
+ new_part->setLenFrame(new_len);
+ operations.push_back(UndoOp(UndoOp::ModifyPart, part_it, new_part, true, false));
+ }
+ }
+ else
if (part_it->lenTick()==old_len && !already_done.contains(part_it))
{
MidiPart* new_part = new MidiPart(*(MidiPart*)part_it);