projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
upgrades to scopewindow, add blurbox, bd.sh sed tab test, tweak clk2play over window...
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
module.C
diff --git
a/cinelerra-5.1/cinelerra/module.C
b/cinelerra-5.1/cinelerra/module.C
index 3c21504e6a7e30471c91866bd50774cd447d6f60..01f3095f1c69d2e8d0b87ee726d1128fb9dd216d 100644
(file)
--- a/
cinelerra-5.1/cinelerra/module.C
+++ b/
cinelerra-5.1/cinelerra/module.C
@@
-50,7
+50,7
@@
Module::Module(RenderEngine *renderengine,
this->commonrender = commonrender;
this->plugin_array = plugin_array;
this->track = track;
this->commonrender = commonrender;
this->plugin_array = plugin_array;
this->track = track;
- transition
= 0
;
+ transition
_id = -1
;
transition_server = 0;
attachments = 0;
total_attachments = 0;
transition_server = 0;
attachments = 0;
total_attachments = 0;
@@
-283,8
+283,9
@@
int Module::test_plugins()
void Module::update_transition(int64_t current_position,
int direction)
{
void Module::update_transition(int64_t current_position,
int direction)
{
- transition = track->get_current_transition(current_position,
+
Plugin *
transition = track->get_current_transition(current_position,
direction, 0, 0);
direction, 0, 0);
+ transition_id = transition ? transition->orig_id : -1;
// For situations where we had a transition but not anymore,
// keep the server open.
// For situations where we had a transition but not anymore,
// keep the server open.
@@
-295,13
+296,14
@@
void Module::update_transition(int64_t current_position,
// If the current transition differs from the previous transition, delete the
// server.
if (transition && transition_server) {
// If the current transition differs from the previous transition, delete the
// server.
if (transition && transition_server) {
- if (strcmp(transition->title, transition_server->plugin->title)) {
+ Plugin *plugin = transition->edl->tracks->plugin_exists(transition_server->plugin_id);
+ if (!plugin || strcmp(transition->title, plugin->title)) {
transition_server->close_plugin();
delete transition_server;
transition_server = 0;
}
else {
transition_server->close_plugin();
delete transition_server;
transition_server = 0;
}
else {
- transition_server->plugin
= transition
;
+ transition_server->plugin
_id = transition_id
;
}
}
}
}