projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version update, fix vaapi spelling, zoom fixes
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
pluginset.C
diff --git
a/cinelerra-5.1/cinelerra/pluginset.C
b/cinelerra-5.1/cinelerra/pluginset.C
index a0d3b6c2b494aa8976853ffabacd29206c5989aa..86bb4b6687290e24f3904ec637b021481f466cfc 100644
(file)
--- a/
cinelerra-5.1/cinelerra/pluginset.C
+++ b/
cinelerra-5.1/cinelerra/pluginset.C
@@
-44,13
+44,6
@@
PluginSet::~PluginSet()
}
}
-PluginSet& PluginSet::operator=(PluginSet& plugins)
-{
-printf("PluginSet::operator= 1\n");
- copy_from(&plugins);
- return *this;
-}
-
void PluginSet::copy_from(PluginSet *src)
{
while(last) delete last;
void PluginSet::copy_from(PluginSet *src)
{
while(last) delete last;
@@
-59,6
+52,8
@@
void PluginSet::copy_from(PluginSet *src)
Plugin *new_plugin;
append(new_plugin = (Plugin*)create_edit());
new_plugin->copy_from(current);
Plugin *new_plugin;
append(new_plugin = (Plugin*)create_edit());
new_plugin->copy_from(current);
+// update gui_id when copying edl
+ new_plugin->gui_id = current->gui_id;
}
this->record = src->record;
}
}
this->record = src->record;
}
@@
-442,6
+437,13
@@
int PluginSet::optimize()
int result = 1;
Plugin *current_edit;
int result = 1;
Plugin *current_edit;
+// trim plugins before position 0
+ while( first && first->startproject+first->length < 0 )
+ delete first;
+ if( first && first->startproject < 0 ) {
+ first->length += first->startproject;
+ first->startproject = 0;
+ }
// Delete keyframes out of range
for(current_edit = (Plugin*)first;
// Delete keyframes out of range
for(current_edit = (Plugin*)first;