30 Commits

Author SHA1 Message Date
Robbert van der Helm
b5080d8086 Update architecture document 2022-10-31 12:17:23 +01:00
Robbert van der Helm
3d832159b3 Change wording 2022-10-03 02:24:32 +02:00
Robbert van der Helm
f3e41d19ef Add a very minimal architecture entry for CLAP 2022-09-25 17:15:50 +02:00
Robbert van der Helm
162aeed661 Only set up VST3 SHM audio buffers in setActive()
This avoids doing the duplicate check (since both `setProcessing()` and
`setActive()` would be called), and this also gets rid of the assumption
added a couple commits ago that `setupProcessing()` is only ever called
once, which is not true.
2022-05-19 14:43:59 +02:00
Robbert van der Helm
c2794831da Add (for now, hardcoded) chainloader libraries 2022-04-16 20:37:11 +02:00
Robbert van der Helm
88ac466501 Remove all references to Boost
Since we no longer depend on any of it.
2022-04-16 20:37:10 +02:00
Robbert van der Helm
df40b85e60 Mention Wine->X11 drag-and-drop in architecture.md 2021-07-22 14:28:27 +02:00
Robbert van der Helm
b21e9f29bb Mention new embedding structure in architecture.md 2021-07-22 14:25:56 +02:00
Robbert van der Helm
a58005252a Mention the new audio buffers in architecture.md 2021-07-14 17:02:20 +02:00
Robbert van der Helm
a194765696 Rename EventHandler to Vst2EventHandler 2021-05-20 13:54:31 +02:00
Robbert van der Helm
37d706df63 Handle mutual recursion on plugin side globally
This makes much more sense, since all plugin instances will be sharing a
single GUI thread. What would happen was that resize calls from one
instance and GUI thread function calls from another instance would
collide. Using a single shared mutual recursion mechanism (just like on
the Wine side) fixes this.
2021-05-16 01:17:04 +02:00
Robbert van der Helm
9f756b4881 Rewrite architecture document ToC 2021-02-14 00:54:29 +01:00
Robbert van der Helm
c9fbd0627f Rewrite the architecture document for VST3 support
This now also goes more in depth on the more interesting parts of
yabridge's implementation while skimming over lesser useful technical
bits.
2021-02-14 00:48:15 +01:00
Robbert van der Helm
38f34f91f2 Update the readme for VST3 2020-12-26 13:57:57 +01:00
Robbert van der Helm
d99f880277 Rename YaHostApplication implementation
The context should make it obvious where it's implemented, and with the
current design we only an implementation on one of the two sides.
2020-12-18 21:36:39 +01:00
Robbert van der Helm
7a5de5d35e Update the VST3 implementation documentation 2020-12-17 15:43:13 +01:00
Robbert van der Helm
11bf7532fa Rename the monolitic class to Vst3PluginProxy
Now it's starting to look promising.
2020-12-17 13:07:42 +01:00
Robbert van der Helm
d8b2646563 Split off IComponent and create a monolithic class
We can now use implement all VST3 plugin interfaces through this class,
check whether the object from the plugin also supports these classes,
and then conditionally allow casting to the supported classes. This
should give us a one-to-one proxy of the original object.
2020-12-17 12:49:33 +01:00
Robbert van der Helm
602bbc5d35 Add TODO about replacing known_iids with flags 2020-12-17 00:31:32 +01:00
Robbert van der Helm
6809e73d6b Split IPluginBase from IComponent
We're also going to need this for `IEditController`. Separating all of
these classes will also keep everything much more maintainable with all
of these associated structs.
2020-12-16 23:46:47 +01:00
Robbert van der Helm
7488d6f482 Move the VST3 design document to docs/ 2020-12-16 21:54:18 +01:00
Robbert van der Helm
9d40e04a62 Update all references to libyabridge.so 2020-12-07 18:28:16 +01:00
Robbert van der Helm
e2603df522 Update the architecture document 2020-11-07 21:45:02 +01:00
Robbert van der Helm
ba6381e3ae Rename EventHandler::{send,receive} to *_event(s?)
Since it does something way more involved than
`SocketHandler::{send,receive_multi}`, and that makes it a bit confusing
if you don't already know about that (and even if you do).
2020-11-01 12:01:50 +01:00
Robbert van der Helm
74c3cab046 Move event handling logic to a dedicated class
Now all pieces are in place to allow handling events over multiple
socket connections.
2020-10-26 11:40:38 +01:00
Robbert van der Helm
4b4b19bbd8 Mention multiple socket endpoints in architecture 2020-10-25 21:21:00 +01:00
Robbert van der Helm
8198a73742 Add support for double precision audio #34
So far I've only seen REAPER running iZotope Rx plugins utilize this.
2020-08-24 16:13:29 +02:00
Robbert van der Helm
cd02ab5fc9 Send the configuration from plugin to Wine host
Next we can add some options for different plugin editor behaviours for #27.
2020-07-22 17:15:55 +02:00
Robbert van der Helm
40f88b948f Document behaviour differences with plugin groups 2020-05-27 15:43:43 +02:00
Robbert van der Helm
941f915dfe Move the architecture section to docs/
It's getting a bit unwieldy to be left in the readme.
2020-05-27 15:24:54 +02:00