- Track *track = edits->track;
- if( cut_length < 0 )
- track->clear(end+cut_length, end,
- 0, 0, edit_autos, edit_plugins, trim_edits);
- else if( cut_length > 0 ) {
- if( edit_autos )
- track->shift_keyframes(end, cut_length);
- if( edit_plugins )
- track->shift_effects(end, cut_length, 1, trim_edits);
+ else if( edits_moved ) {
+ if( edit_labels ) {
+ double cut_len = track->from_units(cut_length);
+ double start_pos = edits->track->from_units(start);
+ edits->edl->labels->insert(start_pos, cut_len);
+ double end_pos = edits->track->from_units(end);
+ edits->edl->labels->insert(end_pos + cut_len, -cut_len);
+ }
+ if( edit_autos ) {
+ if( cut_length > 0 ) {
+ track->clear(end, end+cut_length, 0, 0, 0, 1, 0);
+ track->shift_keyframes(start, cut_length);
+ }
+ else if( cut_length < 0 ) {
+ track->clear(start+cut_length, start, 0, 0, 0, 1, 0);
+ track->shift_keyframes(end+cut_length, -cut_length);
+ }
+ }
+ if( edit_plugins ) {
+ if( cut_length > 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->shift_effects(end+cut_length, -cut_length, 1, 0);
+ }
+ }