Skip to content

Commit 239e242

Browse files
committed
Resolve review comments
1 parent 97b93b4 commit 239e242

2 files changed

Lines changed: 82 additions & 78 deletions

File tree

src/framework/mlt_repository.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,8 +262,7 @@ void mlt_repository_register(mlt_repository self,
262262

263263
if (mlt_properties_get_data(service_list, service, NULL)) {
264264
mlt_log_error(NULL,
265-
"%s: Duplicate %s service registration for \"%s\" (overwriting previous "
266-
"registration)\n",
265+
"%s: Duplicate %s registration for \"%s\"\n",
267266
__FUNCTION__,
268267
service_type_name,
269268
service);

src/modules/jackrack/factory.c

Lines changed: 81 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -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;
105105
lv2_mgr_t *g_lv2_plugin_mgr = NULL;
106106
#endif
107107

108-
#ifdef WITH_VST2
108+
#if defined(GPL) && defined(WITH_VST2)
109109
vst2_mgr_t *g_vst2_plugin_mgr = NULL;
110110
#endif
111111

112+
#if defined(mltladspa_EXPORTS) || (defined(mltjackrack_EXPORTS) && defined(WITH_JACK))
112113
static 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))
159163
static 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

512517
static 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

704709
JACKRACK_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

Comments
 (0)