Xaymar
f302cdb454
Update README.md
v0.4.0-bad
2025-08-18 02:48:56 +02:00
Xaymar
b45852aec5
Clean and proper directory structure
2025-08-18 02:48:56 +02:00
Xaymar
857104607e
Minor documentation improvements
2025-08-18 02:21:18 +02:00
Xaymar
aa51612da9
Document vst_effect_supports_t.conformsToWindowRules
2025-08-18 02:21:18 +02:00
Xaymar
ab604beafc
Use README.md as the documentation main page
2025-08-18 02:21:17 +02:00
Xaymar
7ae4d26695
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-18 02:21:17 +02:00
Xaymar
6af3de922c
Some documentation updates
2025-08-18 02:21:16 +02:00
Xaymar
cfa826070c
'cinttypes' doesn't exist prior to C++11
2025-08-18 02:21:15 +02:00
Xaymar
fbeab32e30
Add @todo tags to anything that needs work
2025-08-18 02:21:02 +02:00
Xaymar
607ba4d5be
Fix up C99 support again
...
We still require a C++ compiler that treats C header files as actual C code.
2025-08-18 02:19:58 +02:00
Xaymar
07e88f033c
Host 0x17: Query which thread is currently active
...
Quite useful for threading and memory safety.
2025-08-18 02:19:57 +02:00
Xaymar
899315f481
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-18 02:19:56 +02:00
Xaymar
0cf417c5d7
Host 0x13/0x14: Current input/output sample latency
2025-08-18 02:18:43 +02:00
Xaymar
287967df71
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-18 02:18:42 +02:00
Xaymar
4d7978a786
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-18 02:18:42 +02:00
Xaymar
6f752c2afc
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-18 02:18:41 +02:00
Xaymar
a6d1ae6999
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-18 02:18:41 +02:00
Xaymar
2cfed28193
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-18 02:18:40 +02:00
Xaymar
0a9bae5e40
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-18 02:18:40 +02:00
Xaymar
cec86e58dd
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-18 02:18:39 +02:00
Xaymar
3a9af11188
Slightly improve overall documentation
2025-08-18 02:18:39 +02:00
Xaymar
cdcb0d905b
Add documentation to VST_EVENT_TYPE_04 and VST_EVENT_TYPE_05
2025-08-18 01:56:13 +02:00
Xaymar
50e451ab9f
vst_event_midi_sysex_t is event type 6 not 5
2025-08-18 01:56:12 +02:00
Xaymar
1648f45295
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-18 01:55:43 +02:00
Xaymar
e9f88c7fad
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-18 01:55:13 +02:00
Xaymar
3cb139a14a
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-18 01:54:22 +02:00
Xaymar
ff7f380234
Add modern C++ style C header include
...
It does the exact same as all the modern C header includes, which is to include the actual C header as is!
2025-08-15 21:20:20 +02:00
Xaymar
f8ca1b081c
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-15 21:19:44 +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
Xaymar
b49fb7872d
More C99 compat improvements and doxygen support
2025-08-06 00:49:20 +02:00
Xaymar
06245409e8
Improve documentation for speakers and vkey op-codes
2025-08-05 23:56:02 +02:00
Xaymar
adc0352d59
Float parameters are sometimes required to be normalized within 0.0 and 1.0
2025-08-05 15:58:38 +02:00
Xaymar
86838d1e67
Add further documentation to vst_parameter_properties_t
v0.3.0
2025-08-05 15:39:29 +02:00
Xaymar
1c13d4b88a
Forgot to append the _t
2025-08-05 08:27:09 +02:00