@@ -84,7 +84,7 @@ extern mlt_producer producer_lv2_init(mlt_profile profile,
8484 char * arg );
8585#endif
8686
87- #ifdef WITH_VST2
87+ #if defined( GPL ) && defined( WITH_VST2 )
8888
8989#include "vestige.h"
9090
@@ -105,10 +105,11 @@ plugin_mgr_t *g_jackrack_plugin_mgr = NULL;
105105lv2_mgr_t * g_lv2_plugin_mgr = NULL ;
106106#endif
107107
108- #ifdef WITH_VST2
108+ #if defined( GPL ) && defined( WITH_VST2 )
109109vst2_mgr_t * g_vst2_plugin_mgr = NULL ;
110110#endif
111111
112+ #if defined(mltladspa_EXPORTS ) || (defined(mltjackrack_EXPORTS ) && defined(WITH_JACK ))
112113static void add_port_to_metadata (mlt_properties p , plugin_desc_t * desc , int j )
113114{
114115 LADSPA_Data sample_rate = 48000 ;
@@ -153,9 +154,12 @@ static void add_port_to_metadata(mlt_properties p, plugin_desc_t *desc, int j)
153154 mlt_properties_set (p , "mutable" , "yes" );
154155 mlt_properties_set (p , "animation" , "yes" );
155156}
157+ #endif
156158
157159#endif
158160
161+ #if (defined(mltladspa_EXPORTS ) && defined(GPL )) \
162+ || (defined(mltjackrack_EXPORTS ) && defined(WITH_JACK ))
159163static mlt_properties metadata (mlt_service_type type , const char * id , char * data )
160164{
161165 char file [PATH_MAX ];
@@ -287,6 +291,7 @@ static mlt_properties metadata(mlt_service_type type, const char *id, char *data
287291
288292 return result ;
289293}
294+ #endif
290295
291296#ifdef WITH_LV2
292297
@@ -507,7 +512,7 @@ static mlt_properties lv2_metadata(mlt_service_type type, const char *id, char *
507512
508513#endif
509514
510- #ifdef WITH_VST2
515+ #if defined( GPL ) && defined( WITH_VST2 )
511516
512517static void vst2_add_port_to_metadata (mlt_properties p , vst2_plugin_desc_t * desc , int j )
513518{
@@ -703,107 +708,107 @@ static mlt_properties vst2_metadata(mlt_service_type type, const char *id, char
703708
704709JACKRACK_MODULE_EXPORT MLT_REPOSITORY
705710{
706- #if defined(mltladspa_EXPORTS )
707- #ifdef GPL
708- GSList * list ;
709- g_jackrack_plugin_mgr = plugin_mgr_new ();
710-
711- for (list = g_jackrack_plugin_mgr -> all_plugins ; list ; list = g_slist_next (list )) {
712- plugin_desc_t * desc = (plugin_desc_t * ) list -> data ;
713- char * s = malloc (strlen ("ladpsa." ) + 21 );
714-
715- sprintf (s , "ladspa.%lu" , desc -> id );
711+ // Registrations owned by mltladspa.
712+ #if defined(mltladspa_EXPORTS ) && defined(GPL )
713+ {
714+ GSList * list ;
715+ g_jackrack_plugin_mgr = plugin_mgr_new ();
716+
717+ for (list = g_jackrack_plugin_mgr -> all_plugins ; list ; list = g_slist_next (list )) {
718+ plugin_desc_t * desc = (plugin_desc_t * ) list -> data ;
719+ char * s = malloc (strlen ("ladpsa." ) + 21 );
720+
721+ sprintf (s , "ladspa.%lu" , desc -> id );
722+
723+ if (desc -> has_input ) {
724+ MLT_REGISTER (mlt_service_filter_type , s , filter_ladspa_init );
725+ MLT_REGISTER_METADATA (mlt_service_filter_type , s , metadata , NULL );
726+ } else {
727+ MLT_REGISTER (mlt_service_producer_type , s , producer_ladspa_init );
728+ MLT_REGISTER_METADATA (mlt_service_producer_type , s , metadata , NULL );
729+ }
716730
717- if (desc -> has_input ) {
718- MLT_REGISTER (mlt_service_filter_type , s , filter_ladspa_init );
719- MLT_REGISTER_METADATA (mlt_service_filter_type , s , metadata , NULL );
720- } else {
721- MLT_REGISTER (mlt_service_producer_type , s , producer_ladspa_init );
722- MLT_REGISTER_METADATA (mlt_service_producer_type , s , metadata , NULL );
731+ free (s );
723732 }
724-
725- free ( s );
733+ mlt_factory_register_for_clean_up ( g_jackrack_plugin_mgr ,
734+ ( mlt_destructor ) plugin_mgr_destroy );
726735 }
727- mlt_factory_register_for_clean_up ( g_jackrack_plugin_mgr , ( mlt_destructor ) plugin_mgr_destroy );
736+ #endif
728737
729- #ifdef WITH_LV2
730- g_lv2_plugin_mgr = lv2_mgr_new ();
738+ #if defined(mltladspa_EXPORTS ) && defined(GPL ) && defined(WITH_LV2 )
739+ {
740+ GSList * list ;
741+ g_lv2_plugin_mgr = lv2_mgr_new ();
731742
732- char global_lv2_world [20 ];
733- snprintf (global_lv2_world , 20 , "%p" , g_lv2_plugin_mgr -> lv2_world );
734- mlt_environment_set ("global_lv2_world" , global_lv2_world );
743+ char global_lv2_world [20 ];
744+ snprintf (global_lv2_world , 20 , "%p" , g_lv2_plugin_mgr -> lv2_world );
745+ mlt_environment_set ("global_lv2_world" , global_lv2_world );
735746
736- for (list = g_lv2_plugin_mgr -> all_plugins ; list ; list = g_slist_next (list )) {
737- lv2_plugin_desc_t * desc = (lv2_plugin_desc_t * ) list -> data ;
738- char * s = NULL ;
739- s = calloc (1 , strlen ("lv2." ) + strlen (desc -> uri ) + 1 );
747+ for (list = g_lv2_plugin_mgr -> all_plugins ; list ; list = g_slist_next (list )) {
748+ lv2_plugin_desc_t * desc = (lv2_plugin_desc_t * ) list -> data ;
749+ char * s = NULL ;
750+ s = calloc (1 , strlen ("lv2." ) + strlen (desc -> uri ) + 1 );
740751
741- sprintf (s , "lv2.%s" , desc -> uri );
752+ sprintf (s , "lv2.%s" , desc -> uri );
742753
743- char * str_ptr = strchr (s , ':' );
744- while (str_ptr != NULL ) {
745- * str_ptr ++ = '^' ;
746- str_ptr = strchr (str_ptr , ':' );
747- }
754+ char * str_ptr = strchr (s , ':' );
755+ while (str_ptr != NULL ) {
756+ * str_ptr ++ = '^' ;
757+ str_ptr = strchr (str_ptr , ':' );
758+ }
748759
749- if (desc -> has_input ) {
750- MLT_REGISTER (mlt_service_filter_type , s , filter_lv2_init );
751- MLT_REGISTER_METADATA (mlt_service_filter_type , s , lv2_metadata , NULL );
752- } else {
753- MLT_REGISTER (mlt_service_producer_type , s , producer_lv2_init );
754- MLT_REGISTER_METADATA (mlt_service_producer_type , s , lv2_metadata , NULL );
755- }
760+ if (desc -> has_input ) {
761+ MLT_REGISTER (mlt_service_filter_type , s , filter_lv2_init );
762+ MLT_REGISTER_METADATA (mlt_service_filter_type , s , lv2_metadata , NULL );
763+ } else {
764+ MLT_REGISTER (mlt_service_producer_type , s , producer_lv2_init );
765+ MLT_REGISTER_METADATA (mlt_service_producer_type , s , lv2_metadata , NULL );
766+ }
756767
757- if (s ) {
758- free (s );
768+ if (s ) {
769+ free (s );
770+ }
759771 }
760772 }
761773#endif
762774
763- #ifdef WITH_VST2
775+ #if defined(mltladspa_EXPORTS ) && defined(GPL ) && defined(WITH_VST2 )
776+ {
777+ GSList * list ;
778+ g_vst2_plugin_mgr = vst2_mgr_new ();
764779
765- g_vst2_plugin_mgr = vst2_mgr_new ();
780+ for (list = g_vst2_plugin_mgr -> all_plugins ; list ; list = g_slist_next (list )) {
781+ vst2_plugin_desc_t * desc = (vst2_plugin_desc_t * ) list -> data ;
782+ char * s = malloc (strlen ("vst2." ) + 21 );
766783
767- for (list = g_vst2_plugin_mgr -> all_plugins ; list ; list = g_slist_next (list )) {
768- vst2_plugin_desc_t * desc = (vst2_plugin_desc_t * ) list -> data ;
769- char * s = malloc (strlen ("vst2." ) + 21 );
784+ sprintf (s , "vst2.%lu" , desc -> id );
770785
771- sprintf (s , "vst2.%lu" , desc -> id );
786+ if (desc -> has_input ) {
787+ MLT_REGISTER (mlt_service_filter_type , s , filter_vst2_init );
788+ MLT_REGISTER_METADATA (mlt_service_filter_type , s , vst2_metadata , NULL );
789+ } else {
790+ MLT_REGISTER (mlt_service_producer_type , s , producer_vst2_init );
791+ MLT_REGISTER_METADATA (mlt_service_producer_type , s , vst2_metadata , NULL );
792+ }
772793
773- if (desc -> has_input ) {
774- MLT_REGISTER (mlt_service_filter_type , s , filter_vst2_init );
775- MLT_REGISTER_METADATA (mlt_service_filter_type , s , vst2_metadata , NULL );
776- } else {
777- MLT_REGISTER (mlt_service_producer_type , s , producer_vst2_init );
778- MLT_REGISTER_METADATA (mlt_service_producer_type , s , vst2_metadata , NULL );
794+ free (s );
779795 }
780-
781- free (s );
796+ mlt_factory_register_for_clean_up (g_vst2_plugin_mgr , (mlt_destructor ) vst2_mgr_destroy );
782797 }
783- mlt_factory_register_for_clean_up (g_vst2_plugin_mgr , (mlt_destructor ) vst2_mgr_destroy );
784-
785798#endif
786799
787- MLT_REGISTER (mlt_service_filter_type , "ladspa" , filter_ladspa_init );
788- MLT_REGISTER_METADATA (mlt_service_filter_type , "ladspa" , metadata , "filter_ladspa.yml" );
789- #endif
790- #endif
791- #if defined(mltjackrack_EXPORTS )
792- #ifdef GPL
793- #ifdef WITH_JACK
794- // JACK filter services belong to mltjackrack to avoid duplicate registration.
800+ // Registrations owned by mltjackrack.
801+ #if defined(mltjackrack_EXPORTS ) && defined(GPL ) && defined(WITH_JACK )
795802 MLT_REGISTER (mlt_service_filter_type , "jack" , filter_jackrack_init );
796803 MLT_REGISTER_METADATA (mlt_service_filter_type , "jack" , metadata , "filter_jack.yml" );
797804 MLT_REGISTER (mlt_service_filter_type , "jackrack" , filter_jackrack_init );
798805 MLT_REGISTER_METADATA (mlt_service_filter_type , "jackrack" , metadata , "filter_jackrack.yml" );
806+ MLT_REGISTER (mlt_service_filter_type , "ladspa" , filter_ladspa_init );
807+ MLT_REGISTER_METADATA (mlt_service_filter_type , "ladspa" , metadata , "filter_ladspa.yml" );
799808#endif
800- #endif
801- #endif
802- #ifdef WITH_JACK
803- #if defined(mltjackrack_EXPORTS )
804- // JACK consumer belongs to mltjackrack to avoid duplicate registration.
809+
810+ #if defined(mltjackrack_EXPORTS ) && defined(WITH_JACK )
805811 MLT_REGISTER (mlt_service_consumer_type , "jack" , consumer_jack_init );
806812 MLT_REGISTER_METADATA (mlt_service_consumer_type , "jack" , metadata , "consumer_jack.yml" );
807813#endif
808- #endif
809814}
0 commit comments