summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-11-14 21:04:01 +0100
committerRobin Gareus <robin@gareus.org>2016-11-14 21:06:18 +0100
commit8e3b6c9ac6b4d0e167ab116d197d32b0f8202e8b (patch)
tree94c6efafaecf1154f0aca72bb96fdb0ed110540a /libs/ardour
parent48c470d51dbc3345b647904922cafc7cf51d20f4 (diff)
consolidate VSTState initialization
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/vst_types.h17
-rw-r--r--libs/ardour/linux_vst_support.cc22
-rw-r--r--libs/ardour/mac_vst_support.cc20
3 files changed, 19 insertions, 40 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;
}