Xaymar
339d4f3159
Add documentation to VST_EVENT_TYPE_04 and VST_EVENT_TYPE_05
v0.4.0
2025-08-08 06:24:25 +02:00
Xaymar
ac2d40ebce
vst_event_midi_sysex_t is event type 6 not 5
2025-08-08 06:24:24 +02:00
Xaymar
22bb104943
Strip out old vst3sdk support as it's unsupported by Steinberg now
...
Seems like the functionality to make a VST 3.x + 2.x plug-in is now no longer in their SDK or at least I can't find it. Since that code likely relied on things that were GPLv3 or Steinberg Proprietary licensed, it's better if I remove it.
2025-08-08 06:24:24 +02:00
Xaymar
779b6c55de
Update README.md
2025-08-08 06:16:15 +02:00
Xaymar
7593071b9e
Add modern C++ style C header include
...
It does the exact same as all the modern C header includes!
2025-08-08 05:34:16 +02:00
Xaymar
ce82058d69
Clean and proper directory structure
2025-08-08 05:33:54 +02:00
Xaymar
f32ac9b385
Minor documentation improvements
2025-08-08 05:27:59 +02:00
Xaymar
a17e62c097
Support for C98 and C++98
...
This omits the definition for vst_host_supports_t and vst_effect_supports_t if the compiler doesn't support it. I may replace these with #define's in the future for universal compiler support.
2025-08-08 05:18:23 +02:00
Xaymar
0c87491e6f
Document vst_effect_supports_t.conformsToWindowRules
2025-08-08 04:57:34 +02:00
Xaymar
cb3952b5f1
Empty field in vst_events_t is likely padding
...
Based on where things are in the structure this is likely to be a remnant of the past. Can't verify that though.
2025-08-08 04:47:06 +02:00
Xaymar
a76aa75260
Define "External" category ( #5 )
2025-08-08 04:42:50 +02:00
Xaymar
4246e8442c
Use README.md as the documentation main page
2025-08-08 04:40:12 +02:00
Xaymar
00a9f2dc53
Effect 0x3B/0x3C: Define virtual key codes
...
These are probably not all but they are the ones that I could actually make happen.
2025-08-08 04:38:13 +02:00
Xaymar
4b00c75a3f
Some documentation updates
2025-08-08 04:15:18 +02:00
Xaymar
93bc195dea
'cinttypes' doesn't exist prior to C++11
2025-08-08 04:09:52 +02:00
Xaymar
45194f82b9
Add @todo tags to anything that needs work
2025-08-08 04:09:12 +02:00
Xaymar
bc16fce699
Fix up C99 support again
...
We still require a C++ compiler that treats C header files as actual C code.
2025-08-08 03:59:29 +02:00
Xaymar
6576c95a74
Add MIDI and MIDI SysEx event structures ( #2 , #3 )
...
Thanks to a cheap MIDI keyboard I was able to figure out most of the structure with ease.
2025-08-08 03:55:12 +02:00
Xaymar
de16483b55
Host 0x17: Query which thread is currently active
...
Quite useful for threading and memory safety.
2025-08-08 02:54:42 +02:00
Xaymar
b5310b8922
Host 0x2D/0x2E/0x2F: Controllable crash/memory corruption via p_ptr
...
Doesn't appear useful so far.
2025-08-08 02:54:37 +02:00
Xaymar
098f059834
Host 0x1F/0x31: Query current input/output speaker arrangement
...
Seems to be completely unsupported in VST 2.4 hosts and all prior hosts seem to just return the exact data we output from VST_EFFECT_OPCODE_GET_SPEAKER_ARRANGEMENT.
2025-08-08 02:54:36 +02:00
Xaymar
ca9d9de24e
Host 0x15/0x16: Query which vst_effect_t is attached to an input/output stream
...
Basically unsupported in almost all hosts so not very useful for optimization purposes.
2025-08-08 02:54:36 +02:00
Xaymar
596cf21b71
Host 0x13/0x14: Current input/output sample latency
2025-08-08 02:54:35 +02:00
Xaymar
8204f06ca7
Host 0x11/0x12: Current effect sample rate and block size
...
Some hosts can randomly "forget" to send these updates to the effect and that's why we can ask the host for them. Most modern ones though do properly handle all of this.
2025-08-08 02:54:35 +02:00
Xaymar
64ddb953db
Host 0x27: Query current host language
...
Seems to use a custom format instead of something like ISO 639 which predates VST 2.x by quite a long time. Reinventing the wheel goes back a long time it seems.
2025-08-08 02:54:34 +02:00
Xaymar
5cef1f300a
Host 0x29: Retrieves the path of the currently loaded effect
...
Unsure what this does with container plug-ins. Does it return the container file?
2025-08-08 02:54:34 +02:00
Xaymar
9f1a61b603
Host 0x30: Some kind of path query related programs and banks
...
Mostly just crashes hosts but in rare cases actually works to retrieve a path to something.
2025-08-08 02:54:33 +02:00
Xaymar
ac4572eff4
Host 0x2A: Plug-in requests a full refresh of information
...
A plug-in may call this if they believe important information has changed such as the number of parameters. This seems to work together with VST_HOST_OPCODE_IO_MODIFIED.
2025-08-08 02:54:33 +02:00
Xaymar
14688491dc
Host 0x2B/0x2C: Intended behavior appears to be locking/unlocking
...
These calls seem to prevent compatible hosts from emitting parameter changes entirely. This is like a file lock where it prevents other processes from modifying things they shouldn't.
2025-08-08 02:54:32 +02:00
Xaymar
a140b58016
Initial work towards event handling support ( #3 )
...
The VST 2.x API seems to support some sort of event handling functionality used to implement MIDI (#2 ) and External Processing (#5 ). The vst_event_t structure is currently unclear.
2025-08-08 02:54:31 +02:00
Xaymar
2551d06b0c
Add "editFile" to vst_host_supports_t
...
This one looked like a function lookup for a LoadLibrary call. Turns out it's an actual support query!
2025-08-08 02:54:31 +02:00
Xaymar
e81a1f91e2
Host 0x1E: Request a resize of the window containing our custom editor
...
The host is not required to accept our request and may ignore it.
2025-08-08 02:54:30 +02:00
Xaymar
0b608bec1f
Slightly improve overall documentation
2025-08-08 02:54:30 +02:00
Xaymar
e9fcf1408b
Host 0x0E -> 0x0D: Missed one of the off-by-1 errors
...
This explains why my test code using the header wasn't working.
v0.3.4
2025-08-08 02:38:09 +02:00
Xaymar
d23a117ecc
Add editorconfig file for automatically trimming whitespace
2025-08-08 02:38:09 +02:00
Xaymar
c9629ad8d3
Fix all host opcodes being offset by 1 or two
v0.3.3
2025-08-08 01:54:21 +02:00
Xaymar
87b3e2bcfc
Hopefully fix documentation not updating on push
v0.3.2
2025-08-06 05:19:28 +02:00
Xaymar
9dd8de817f
Update README
2025-08-06 05:18:17 +02:00
Xaymar
41a24b0f07
Mac OS exclusivity isn't an important thing either
2025-08-06 04:21:22 +02:00
Xaymar
0049af4720
VST version changes aren't important enough to warrant red boxes
2025-08-06 04:17:56 +02:00
Xaymar
35125a732b
Various fixes for documentation
2025-08-06 04:14:15 +02:00
Xaymar
21998dbbc0
Fix wrong reference to VST_HOST where we wanted VST_EFFECT
2025-08-06 04:07:08 +02:00
Xaymar
fa02ffef09
Fix incorrect type definition in vst.hpp
2025-08-06 04:06:23 +02:00
Xaymar
ce354e3824
Fix duplicate definition of VST_EFFECT_OPCODE_43
2025-08-06 04:05:31 +02:00
Xaymar
5e65ee89ca
Fix incorrect definition for vst_host_callback_t
v0.3.1
2025-08-06 03:56:51 +02:00
Xaymar
3c7322c90d
Oops: VST_EFFECT_OPCODE_PARAM_PROPERTIES is actually 0x38
...
Late night coding while sleepy tends to invite mistakes.
2025-08-06 03:46:49 +02:00
Xaymar
3beabeef6d
Add vst.hpp to automatically generated docs
2025-08-06 03:33:52 +02:00
Xaymar
6a1e5be101
Automatically generate documentation for hosting via Github Pages
...
In addition to the extensive header documentation available lets also have doxygen generate proper HTML for the web.
2025-08-06 03:22:14 +02:00
Xaymar
f5779515c2
More documentation improvements
2025-08-06 02:51:57 +02:00
Xaymar
4b0f52863f
More documentation improvments
2025-08-06 02:29:41 +02:00