projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
camera zoom fix, upgrade giflib, configure.ac ix86 probe tweaks, any python
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
edit.C
diff --git
a/cinelerra-5.1/cinelerra/edit.C
b/cinelerra-5.1/cinelerra/edit.C
index 2c8eefcfbb0698a8b56553ed3190059cd92efac0..47ca63c3ffe915a28469da28700988e616b28186 100644
(file)
--- a/
cinelerra-5.1/cinelerra/edit.C
+++ b/
cinelerra-5.1/cinelerra/edit.C
@@
-451,8
+451,10
@@
int Edit::shift_start(int edit_mode, int64_t newposition, int64_t oldposition,
switch( edit_mode ) {
case MOVE_RIPPLE:
edits_moved = rest_moved = 1;
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:
edit->startproject += cut_length;
break;
case MOVE_ROLL:
@@
-500,6
+502,7
@@
int Edit::shift_end(int edit_mode, int64_t newposition, int64_t oldposition,
switch( edit_mode ) {
case MOVE_RIPPLE:
switch( edit_mode ) {
case MOVE_RIPPLE:
+ case MOVE_EDGE:
rest_moved = 1;
length += cut_length;
for( Edit *edit=next; edit; edit=edit->next )
rest_moved = 1;
length += cut_length;
for( Edit *edit=next; edit; edit=edit->next )
@@
-527,12
+530,6
@@
int Edit::shift_end(int edit_mode, int64_t newposition, int64_t oldposition,
next->trim(-cut_length);
}
break;
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);
}
trim(0);
@@
-583,11
+580,11
@@
int Edit::follow_edits(int64_t start, int64_t end, int64_t cut_length,
}
if( edit_plugins ) {
if( cut_length > 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->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);
}
}
track->shift_effects(end+cut_length, -cut_length, 1, 0);
}
}