]> git.sesse.net Git - mlt/commitdiff
Let all instances of ladspa share single plugin_mgr.
authorDan Dennedy <dan@dennedy.org>
Wed, 18 May 2011 05:33:54 +0000 (22:33 -0700)
committerDan Dennedy <dan@dennedy.org>
Wed, 18 May 2011 05:33:54 +0000 (22:33 -0700)
src/modules/jackrack/factory.c
src/modules/jackrack/jack_rack.c

index 3f68c5f1ec82ad073ba8182bba2d77ba9837d5f5..c1086f1a7036665495a480fc1436ea4ea1f0fcca 100644 (file)
@@ -32,7 +32,7 @@
 extern mlt_filter filter_jackrack_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
 extern mlt_filter filter_ladspa_init( mlt_profile profile, mlt_service_type type, const char *id, char *arg );
 
-plugin_mgr_t *g_mgr = NULL;
+plugin_mgr_t *g_jackrack_plugin_mgr = NULL;
 
 static mlt_properties metadata( mlt_service_type type, const char *id, void *data )
 {
@@ -44,7 +44,7 @@ static mlt_properties metadata( mlt_service_type type, const char *id, void *dat
        if ( !strncmp( id, "ladspa.", 7 ) )
        {
                // Annotate the yaml properties with ladspa control port info.
-               plugin_desc_t *desc = plugin_mgr_get_any_desc( g_mgr, strtol( id + 7, NULL, 10 ) );
+               plugin_desc_t *desc = plugin_mgr_get_any_desc( g_jackrack_plugin_mgr, strtol( id + 7, NULL, 10 ) );
 
                if ( desc )
                {
@@ -124,9 +124,9 @@ static mlt_properties metadata( mlt_service_type type, const char *id, void *dat
 MLT_REPOSITORY
 {
        GSList *list;
-       g_mgr = plugin_mgr_new();
+       g_jackrack_plugin_mgr = plugin_mgr_new();
 
-       for ( list = g_mgr->all_plugins; list; list = g_slist_next( list ) )
+       for ( list = g_jackrack_plugin_mgr->all_plugins; list; list = g_slist_next( list ) )
        {
                plugin_desc_t *desc = (plugin_desc_t *) list->data;
                char *s = malloc( strlen( "ladpsa." ) + 21 );
@@ -135,7 +135,7 @@ MLT_REPOSITORY
                MLT_REGISTER( filter_type, s, filter_ladspa_init );
                MLT_REGISTER_METADATA( filter_type, s, metadata, NULL );
        }
-       mlt_factory_register_for_clean_up( g_mgr, (mlt_destructor) plugin_mgr_destroy );
+//     mlt_factory_register_for_clean_up( g_jackrack_plugin_mgr, (mlt_destructor) plugin_mgr_destroy );
 
        MLT_REGISTER( filter_type, "jackrack", filter_jackrack_init );
        MLT_REGISTER_METADATA( filter_type, "jackrack", metadata, NULL );
index d1070676840772b420abfbf2329fea7566012c5d..2474bbc544e7de9e7761f56f7c6814a52679b3f1 100644 (file)
@@ -43,6 +43,8 @@
 #define _x (const xmlChar*)
 #define _s (const char*)
 
+extern plugin_mgr_t *g_jackrack_plugin_mgr;
+
 jack_rack_t *
 jack_rack_new (const char * client_name, unsigned long channels)
 {
@@ -56,7 +58,7 @@ jack_rack_new (const char * client_name, unsigned long channels)
     g_free (rack);
     return NULL;
   }
-  rack->plugin_mgr = plugin_mgr_new ();
+  rack->plugin_mgr = g_jackrack_plugin_mgr;
   plugin_mgr_set_plugins (rack->plugin_mgr, channels);
 
   return rack;