From 8e3b6c9ac6b4d0e167ab116d197d32b0f8202e8b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 14 Nov 2016 21:04:01 +0100 Subject: consolidate VSTState initialization --- libs/ardour/ardour/vst_types.h | 17 +++++++++++++++++ libs/ardour/linux_vst_support.cc | 22 +--------------------- libs/ardour/mac_vst_support.cc | 20 +------------------- libs/fst/vstwin.c | 9 +-------- 4 files changed, 20 insertions(+), 48 deletions(-) diff --git a/libs/ardour/ardour/vst_types.h b/libs/ardour/ardour/vst_types.h index b9c62e4fe1..936cab6173 100644 --- a/libs/ardour/ardour/vst_types.h +++ b/libs/ardour/ardour/vst_types.h @@ -133,6 +133,23 @@ struct LIBARDOUR_API _VSTState pthread_cond_t plugin_dispatcher_called; pthread_cond_t window_created; int been_activated; + + void init () { + pthread_mutex_init (&lock, 0); + pthread_cond_init (&window_status_change, 0); + pthread_cond_init (&plugin_dispatcher_called, 0); + pthread_cond_init (&window_created, 0); + want_program = -1; + want_chunk = 0; + n_pending_keys = 0; + has_editor = 0; + program_set_without_editor = 0; + linux_window = 0; + linux_plugin_ui_window = 0; + eventProc = 0; + extra_data = 0; + want_resize = 0; + } }; typedef struct _VSTState VSTState; diff --git a/libs/ardour/linux_vst_support.cc b/libs/ardour/linux_vst_support.cc index 0314fa8d57..92c3243fb8 100644 --- a/libs/ardour/linux_vst_support.cc +++ b/libs/ardour/linux_vst_support.cc @@ -83,27 +83,7 @@ static VSTState * vstfx_new () { VSTState* vstfx = (VSTState *) calloc (1, sizeof (VSTState)); - - /*Mutexes*/ - - pthread_mutex_init (&vstfx->lock, 0); - pthread_cond_init (&vstfx->window_status_change, 0); - pthread_cond_init (&vstfx->plugin_dispatcher_called, 0); - pthread_cond_init (&vstfx->window_created, 0); - - /*Safe values*/ - - vstfx->want_program = -1; - vstfx->want_chunk = 0; - vstfx->n_pending_keys = 0; - vstfx->has_editor = 0; - vstfx->program_set_without_editor = 0; - vstfx->linux_window = 0; - vstfx->linux_plugin_ui_window = 0; - vstfx->eventProc = 0; - vstfx->extra_data = 0; - vstfx->want_resize = 0; - + vstfx->init (); return vstfx; } diff --git a/libs/ardour/mac_vst_support.cc b/libs/ardour/mac_vst_support.cc index 42eb3f70e5..3b968c28d8 100644 --- a/libs/ardour/mac_vst_support.cc +++ b/libs/ardour/mac_vst_support.cc @@ -80,25 +80,7 @@ static VSTState * mac_vst_new () { VSTState* mac_vst = (VSTState *) calloc (1, sizeof (VSTState)); - - /*Mutexes*/ - pthread_mutex_init (&mac_vst->lock, 0); - pthread_cond_init (&mac_vst->window_status_change, 0); // XXX unused - pthread_cond_init (&mac_vst->plugin_dispatcher_called, 0); // XXX unused - pthread_cond_init (&mac_vst->window_created, 0); // XXX unused - - /*Safe values*/ - mac_vst->want_program = -1; - mac_vst->want_chunk = 0; - mac_vst->n_pending_keys = 0; - mac_vst->has_editor = 0; - mac_vst->program_set_without_editor = 0; - mac_vst->linux_window = 0; - mac_vst->linux_plugin_ui_window = 0; - mac_vst->eventProc = 0; - mac_vst->extra_data = 0; - mac_vst->want_resize = 0; - + mac_vst0->init(); return mac_vst; } diff --git a/libs/fst/vstwin.c b/libs/fst/vstwin.c index ba3187684b..7f748c6db6 100644 --- a/libs/fst/vstwin.c +++ b/libs/fst/vstwin.c @@ -218,13 +218,7 @@ static VSTState* fst_new (void) { VSTState* fst = (VSTState*) calloc (1, sizeof (VSTState)); - pthread_mutex_init (&fst->lock, NULL); - pthread_cond_init (&fst->window_status_change, NULL); // unused ?? -> TODO check gtk2ardour - pthread_cond_init (&fst->plugin_dispatcher_called, NULL); // unused ?? - fst->want_program = -1; - fst->want_chunk = 0; - fst->n_pending_keys = 0; - fst->has_editor = 0; + fst->init(); #ifdef PLATFORM_WINDOWS fst->voffset = 50; fst->hoffset = 0; @@ -232,7 +226,6 @@ fst_new (void) fst->voffset = 24; fst->hoffset = 6; #endif - fst->program_set_without_editor = 0; return fst; } -- cgit v1.2.3