click-less processor re-ordering.
[ardour.git] / libs / ardour / ardour / vst_types.h
index 0d6f8c397fb6a63eb1ae9cbee5d15390b6f4f11c..35b52435ab96612a45404eec353fdce2ad7a8be0 100644 (file)
 #ifndef __ardour_vst_types_h__
 #define __ardour_vst_types_h__
 
+#include <pthread.h>
+#include "ardour/libardour_visibility.h"
 #include "ardour/vestige/aeffectx.h"
 
-struct _VSTKey
+struct LIBARDOUR_API _VSTKey
 {
        /** virtual-key code, or 0 if this _VSTFXKey is a `character' key */
        int special;
@@ -32,7 +34,7 @@ struct _VSTKey
 
 typedef struct _VSTKey VSTKey;
 
-struct _VSTInfo 
+struct LIBARDOUR_API _VSTInfo 
 {
        char  *name;
        char  *creator;
@@ -56,11 +58,11 @@ typedef struct _VSTInfo VSTInfo;
 
 typedef AEffect * (* main_entry_t) (audioMasterCallback);
 
-struct _VSTHandle
+struct LIBARDOUR_API _VSTHandle
 {
        void*        dll;
        char*        name;
-       char*        nameptr;
+       char*        path;
        
        main_entry_t main_entry;
 
@@ -69,7 +71,7 @@ struct _VSTHandle
 
 typedef struct _VSTHandle VSTHandle;
 
-struct _VSTState
+struct LIBARDOUR_API _VSTState
 {
        AEffect* plugin;
 
@@ -89,13 +91,17 @@ struct _VSTState
        void  (* eventProc) (void * event);
        
        VSTHandle*  handle;
-       
-       int         width;
-       int         height;
-       int         wantIdle;
-       int         destroy;
-       int         vst_version;
-       int         has_editor;
+
+       int width;
+       int height;
+       int wantIdle;
+
+       int voffset;
+       int hoffset;
+       int gui_shown;
+       int destroy;
+       int vst_version;
+       int has_editor;
        
        int         program_set_without_editor;
        
@@ -104,7 +110,6 @@ struct _VSTState
        int         n_pending_keys;
        unsigned char * wanted_chunk;
        int         wanted_chunk_size;
-       int         current_program;
        float *     want_params;
        float *     set_params;