Credit Andrew - fix vorbis audio which was scratchy and ensure aging plugin does...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / module.C
index 01f3095f1c69d2e8d0b87ee726d1128fb9dd216d..68d2785d5826dbbd8a1cc7e26dfb24c3b06c1564 100644 (file)
@@ -59,7 +59,6 @@ Module::Module(RenderEngine *renderengine,
        nested_edl = 0;
        nested_renderengine = 0;
        nested_command = 0;
-       private_cache = 0;
        cache = 0;
 }
 
@@ -86,7 +85,6 @@ Module::~Module()
 
        delete nested_renderengine;
        delete nested_command;
-       if(private_cache) delete cache;
 }
 
 void Module::create_objects()
@@ -311,30 +309,25 @@ void Module::update_transition(int64_t current_position,
                if(renderengine) {
                        PluginServer *plugin_server = MWindow::scan_plugindb(transition->title,
                                track->data_type);
-                       transition_server = new PluginServer(*plugin_server);
-                       transition_server->open_plugin(0,
-                               get_preferences(),
-                               get_edl(),
-                               transition);
-                       transition_server->init_realtime(
-                               get_edl()->session->real_time_playback &&
-                               renderengine->command->realtime,
-                               1,
-                               get_buffer_size());
+                       if( plugin_server ) {
+                               transition_server = new PluginServer(*plugin_server);
+                               transition_server->open_plugin(0, get_preferences(), get_edl(),
+                                               transition);
+                               transition_server->init_realtime(
+                                       get_edl()->session->real_time_playback &&
+                                       renderengine->command->realtime, 1, get_buffer_size());
+                       }
                }
                else
                if(plugin_array) {
                        PluginServer *plugin_server = MWindow::scan_plugindb(transition->title,
                                plugin_array->data_type);
-                       transition_server = new PluginServer(*plugin_server);
-                       transition_server->open_plugin(0,
-                               get_preferences(),
-                               get_edl(),
-                               transition);
-                       transition_server->init_realtime(
-                               0,
-                               1,
-                               get_buffer_size());
+                       if( plugin_server ) {
+                               transition_server = new PluginServer(*plugin_server);
+                               transition_server->open_plugin(0, get_preferences(), get_edl(),
+                                               transition);
+                               transition_server->init_realtime( 0, 1, get_buffer_size());
+                       }
                }
        }
 }