diff options
author | Robin Gareus <robin@gareus.org> | 2014-02-23 21:11:53 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-02-23 21:11:53 +0100 |
commit | 2e0c98c48903c67fcef7abd77a7c53f3f2d41e2f (patch) | |
tree | 5385a3ce65c4dcc1080d5ff91b5da6fcb934d876 /libs/ardour/ardour/vestige | |
parent | fac93f7a82833b094c36164d733bb3c352a7223e (diff) |
remaining bits for VST-shell plugin support ..and more VST rework
Diffstat (limited to 'libs/ardour/ardour/vestige')
-rw-r--r-- | libs/ardour/ardour/vestige/aeffectx.h | 59 |
1 files changed, 49 insertions, 10 deletions
diff --git a/libs/ardour/ardour/vestige/aeffectx.h b/libs/ardour/ardour/vestige/aeffectx.h index 2dca9f26be..5b7d69c411 100644 --- a/libs/ardour/ardour/vestige/aeffectx.h +++ b/libs/ardour/ardour/vestige/aeffectx.h @@ -101,6 +101,8 @@ #define effEditIdle 19 #define effEditTop 20 #define effProcessEvents 25 +// the next one from http://asseca.com/vst-24-specs/index.html +#define effGetPlugCategory 35 #define effGetEffectName 45 #define effGetVendorString 47 #define effGetProductString 48 @@ -191,21 +193,58 @@ struct _VstEvents VstEvent * events[]; }; +/* constants from http://www.rawmaterialsoftware.com/juceforum/viewtopic.php?t=3740&sid=183f74631fee71a493316735e2b9f28b */ + +enum Vestige2StringConstants +{ + VestigeMaxNameLen = 64, + VestigeMaxLabelLen = 64, + VestigeMaxShortLabelLen = 8, + VestigeMaxCategLabelLen = 24, + VestigeMaxFileNameLen = 100 +}; + + +/* constants from http://asseca.com/vst-24-specs/efGetPlugCategory.html */ + +enum VstPlugCategory +{ + kPlugCategUnknown = 0, + kPlugCategEffect, + kPlugCategSynth, + kPlugCategAnalysis, + kPlugCategMastering, + kPlugCategSpacializer, + kPlugCategRoomFx, + kPlugSurroundFx, + kPlugCategRestoration, + kPlugCategOfflineProcess, + kPlugCategShell, + kPlugCategGenerator, + kPlugCategMaxCount +}; + typedef struct _VstEvents VstEvents; /* this struct taken from http://asseca.com/vst-24-specs/efGetParameterProperties.html */ struct _VstParameterProperties { - float stepFloat; - float smallStepFloat; - float largeStepFloat; - char label[64]; - int32_t flags; - int32_t minInteger; - int32_t maxInteger; - int32_t stepInteger; - int32_t largeStepInteger; - char shortLabel[8]; + float stepFloat; /* float step */ + float smallStepFloat; /* small float step */ + float largeStepFloat; /* large float step */ + char label[VestigeMaxLabelLen]; /* parameter label */ + int32_t flags; /* @see VstParameterFlags */ + int32_t minInteger; /* integer minimum */ + int32_t maxInteger; /* integer maximum */ + int32_t stepInteger; /* integer step */ + int32_t largeStepInteger; /* large integer step */ + char shortLabel[VestigeMaxShortLabelLen]; /* short label, recommended: 6 + delimiter */ + int16_t displayIndex; /* index where this parameter should be displayed (starting with 0) */ + int16_t category; /* 0: no category, else group index + 1 */ + int16_t numParametersInCategory; /* number of parameters in category */ + int16_t reserved; /* zero */ + char categoryLabel[VestigeMaxCategLabelLen]; /* category label, e.g. "Osc 1" */ + char future[16]; /* reserved for future use */ }; typedef struct _VstParameterProperties VstParameterProperties; |