blade and hard egdes, undo cache reset bug, sams ladspa icons, theme image access...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edits.C
index 4f54457bdc6f464db93c2938b36bea968dc12b6c..6c512009ad0d3fbea04729f974e2d5919f988825 100644 (file)
@@ -385,19 +385,20 @@ int Edits::optimize()
 
                for(current = first; !result && current && current->next; ) {
                        Edit *next_edit = current->next;
-
 // printf("Edits::optimize %d %lld=%lld %d=%d %p=%p %p=%p\n",
 // __LINE__, current->startsource + current->length, next_edit->startsource,
 // current->channel, next_edit->channel, current->asset, next_edit->asset,
 // current->nested_edl, next_edit->nested_edl);
 
+// both edges are not hard edges
 // both edits are silence & not a plugin
 // source channels are identical, assets are identical
-                       if( (current->silence() && next_edit->silence() && !current->is_plugin) ||
+                       if( !current->hard_right && !next_edit->hard_left && (
+                           (current->silence() && next_edit->silence() && !current->is_plugin) ||
                            (current->startsource + current->length == next_edit->startsource &&
                             current->channel == next_edit->channel &&
                             current->asset == next_edit->asset &&
-                            current->nested_edl == next_edit->nested_edl)) {
+                            current->nested_edl == next_edit->nested_edl)) {
 //printf("Edits::optimize %d\n", __LINE__);
                                current->length += next_edit->length;
                                remove(next_edit);