diff options
author | Carl Hetherington <carl@carlh.net> | 2011-11-22 02:27:26 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-11-22 02:27:26 +0000 |
commit | 16aece1d47ad1c1137d68ab12989cbc94b112c0f (patch) | |
tree | 4d07547a58e4209f3d40642f40907e2b658fef2b /libs/ardour/ardour/vst_types.h | |
parent | 51e43ae5a7df65c2d0b7c1f2dcec22511cfb8a98 (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.h | 59 |
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 |