switch( edit_mode ) {
case MOVE_RIPPLE:
edits_moved = rest_moved = 1;
- if( prev ) prev->trim(cut_length);
- for( Edit *edit=this; edit; edit=edit->next )
+ startsource += cut_length;
+ cut_length = -cut_length;
+ length += cut_length;
+ for( Edit *edit=next; edit; edit=edit->next )
edit->startproject += cut_length;
break;
case MOVE_ROLL:
switch( edit_mode ) {
case MOVE_RIPPLE:
+ case MOVE_EDGE:
rest_moved = 1;
length += cut_length;
for( Edit *edit=next; edit; edit=edit->next )
next->trim(-cut_length);
}
break;
- case MOVE_EDGE:
- edits_moved = 1;
- if( prev ) prev->trim(cut_length);
- startproject += cut_length;
- length -= cut_length;
- break;
}
trim(0);
}
if( edit_plugins ) {
if( cut_length > 0 ) {
- track->clear(end, end+cut_length, 0, 0, 1, 0, 0);
+ track->clear(end, end+cut_length, 0, 0, -1, 0, 0);
track->shift_effects(start, cut_length, 1, 0);
}
else if( cut_length < 0 ) {
- track->clear(start+cut_length, start, 0, 0, 1, 0, 0);
+ track->clear(start+cut_length, start, 0, 0, -1, 0, 0);
track->shift_effects(end+cut_length, -cut_length, 1, 0);
}
}