summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/vst_types.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-11-22 02:27:26 +0000
committerCarl Hetherington <carl@carlh.net>2011-11-22 02:27:26 +0000
commit16aece1d47ad1c1137d68ab12989cbc94b112c0f (patch)
tree4d07547a58e4209f3d40642f40907e2b658fef2b /libs/ardour/ardour/vst_types.h
parent51e43ae5a7df65c2d0b7c1f2dcec22511cfb8a98 (diff)
Share main VSTFX / FST struct between windows / linux VSTs.
git-svn-id: svn://localhost/ardour2/branches/3.0@10762 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/vst_types.h')
-rw-r--r--libs/ardour/ardour/vst_types.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/libs/ardour/ardour/vst_types.h b/libs/ardour/ardour/vst_types.h
index f441844e2d..9bc64b269f 100644
--- a/libs/ardour/ardour/vst_types.h
+++ b/libs/ardour/ardour/vst_types.h
@@ -69,4 +69,63 @@ struct _VSTHandle
typedef struct _VSTHandle VSTHandle;
+struct _VSTState
+{
+ AEffect* plugin;
+
+ /* Linux */
+ int linux_window; /* The plugin's parent X11 XWindow */
+ int linux_plugin_ui_window; /*The ID of the plugin UI window created by the plugin*/
+
+ /* Windows */
+ void* windows_window;
+
+ int xid; /* X11 XWindow */
+
+ int want_resize; /*Set to signal the plugin resized its UI*/
+ void* extra_data; /*Pointer to any extra data*/
+
+ void* event_callback_thisptr;
+ void (*eventProc) (void* event);
+
+ VSTHandle* handle;
+
+ int width;
+ int height;
+ int wantIdle;
+ int destroy;
+ int vst_version;
+ int has_editor;
+
+ int program_set_without_editor;
+
+ int want_program;
+ int want_chunk;
+ int n_pending_keys;
+ unsigned char* wanted_chunk;
+ int wanted_chunk_size;
+ int current_program;
+ float * want_params;
+ float * set_params;
+
+ VSTKey pending_keys[16];
+
+ int dispatcher_wantcall;
+ int dispatcher_opcode;
+ int dispatcher_index;
+ int dispatcher_val;
+ void * dispatcher_ptr;
+ float dispatcher_opt;
+ int dispatcher_retval;
+
+ struct _VSTState * next;
+ pthread_mutex_t lock;
+ pthread_cond_t window_status_change;
+ pthread_cond_t plugin_dispatcher_called;
+ pthread_cond_t window_created;
+ int been_activated;
+};
+
+typedef struct _VSTState VSTState;
+
#endif