Robbert van der Helm
bfdfd9c341
Add proxy classes for IProgress
2021-01-16 18:02:15 +01:00
Robbert van der Helm
4f416e135a
Add a proxy class for IProcessContextRequirements
2021-01-16 15:51:48 +01:00
Robbert van der Helm
a8699eed18
Add a proxy class for IPlugInterfaceSupport
2021-01-16 14:33:09 +01:00
Robbert van der Helm
64507828bb
Add a proxy class for IMidiLearn
2021-01-15 22:33:29 +01:00
Robbert van der Helm
c485677987
Add stubs for INoteExpressionPhysicalUIMapping
2021-01-15 19:08:06 +01:00
Robbert van der Helm
be7fccc920
Add a proxy class for INoteExpressionPhysicalUIMapping
2021-01-15 18:09:51 +01:00
Robbert van der Helm
f24632ac8f
Add proxy class for IComponentHandlerBusActivation
2021-01-14 16:08:48 +01:00
Robbert van der Helm
8cfe2512ed
Add a proxy class for IPlugViewContentScaleSupport
2021-01-14 14:30:06 +01:00
Robbert van der Helm
23f681c742
Bump the supported VST3 version to 3.6.5
2021-01-12 17:16:54 +01:00
Robbert van der Helm
9c63eb6fcd
Add a proxy class for IInfoListener
2021-01-12 16:15:35 +01:00
Robbert van der Helm
8bcb3d7095
Add a proxy class for IPrefetchableSupport
2021-01-12 15:18:46 +01:00
Robbert van der Helm
cbb8ebaf5d
Add a proxy class for IUnitHandler2
2021-01-10 23:44:10 +01:00
Robbert van der Helm
ba983be99f
Add a proxy class for IAutomationState
2021-01-10 23:32:55 +01:00
Robbert van der Helm
c938068cf5
Update VST3 implementation level
...
We're now at VST 3.6.0.
2021-01-10 17:46:56 +01:00
Robbert van der Helm
9b603a964c
Implement IStreamAttributes when reading from host
...
This allows presets to contain meta data about file names and the type
of preset.
Even though the docs don't mention that this is also relevant for
`getState()`, we should also implement it there so plugins can write
their own meta data.
2021-01-10 16:23:45 +01:00
Robbert van der Helm
9b62386099
Move VectorStream to a new YaBStream
...
We'll have to extend this with `IStreamAttributes` for VST 3.6.0 preset
meta data.
2021-01-10 15:12:47 +01:00
Robbert van der Helm
ebd887d565
Add a proxy class for IXmlRepresentationController
2021-01-08 17:33:49 +01:00
Robbert van der Helm
4ef734dc5a
Add a proxy class for IKeyswitchController
2021-01-08 16:44:58 +01:00
Robbert van der Helm
66020f3056
Add a proxy class for IEditControllerHostEditing
2021-01-08 16:12:38 +01:00
Robbert van der Helm
f944bf4a39
Fully implement IContextMenu
...
Although all of this stuff is completely untested, and since no host on
Linux uses it we'll likely never know whether this implementation is
correct.
2021-01-07 16:47:28 +01:00
Robbert van der Helm
237b755c52
Add a proxy class for IComponentHandler3
2021-01-06 20:53:10 +01:00
Robbert van der Helm
d3eeebc9f9
Add a proxy class for context menu targets
2021-01-06 19:02:52 +01:00
Robbert van der Helm
fbbd2f0671
Add proxy classes for IContextMenu
...
So we can proxy objects returned by the host during
`IComponentHandler3::createContextMenu`.
2021-01-06 17:16:03 +01:00
Robbert van der Helm
44f42d7e02
Add a proxy class for IAudioPresentationLatency
2021-01-04 22:06:05 +01:00
Robbert van der Helm
ffde7642f3
Add a proxy class for IComponentHandler2
2021-01-04 21:29:12 +01:00
Robbert van der Helm
52de84f81f
Add a proxy class for IParameterFinder
2021-01-03 23:18:21 +01:00
Robbert van der Helm
315148d628
Add a proxy class for IMidiMapping
2021-01-02 22:13:54 +01:00
Robbert van der Helm
c6276d03a1
Add a proxy class for INoteExpressionController
2021-01-01 21:37:38 +01:00
Robbert van der Helm
1ecdc5f270
Add a better list with unimplemented interfaces
2020-12-30 14:43:29 +01:00
Robbert van der Helm
104cdef919
Add a proxy class for IUnitData
2020-12-29 21:48:29 +01:00
Robbert van der Helm
c2f1722f14
Add a proxy class for IProgramListData
2020-12-29 15:47:25 +01:00
Robbert van der Helm
c1118af21c
Update the readmes for merging into master
2020-12-29 15:39:41 +01:00
Robbert van der Helm
4226ab6e43
Pass pointers to IMessage objects around
...
Instead of serializing the actual `YaMessage`, for the reasons mentioned
in the comments. This was needed to stop iZotope VocalSynth 2 in Ardour
from segfaulting when editing parameters, because that plugin is
apparently being very naughty.
2020-12-29 00:22:42 +01:00
Robbert van der Helm
aed369c4be
Add stubs for IUnitInfo
...
This is a big boy.
2020-12-26 21:18:11 +01:00
Robbert van der Helm
5e26d30752
Add a wrapper for IUnitHandler
2020-12-26 14:12:40 +01:00
Robbert van der Helm
0fce9c9eed
Add an IConnectionPoint proxy proxy
...
This is a bit dumb, but this way we can support indirectly connected
objects.
2020-12-25 13:28:03 +01:00
Robbert van der Helm
84b859c499
Implement IMessage
2020-12-25 01:01:13 +01:00
Robbert van der Helm
b6304c83b5
Implement IAttributeList
2020-12-25 00:54:08 +01:00
Robbert van der Helm
90de46428c
Add an implementation wrapper for IPlugFrame
2020-12-22 13:20:49 +01:00
Robbert van der Helm
e391bbccb7
Add Vst3PlugViewProxy
2020-12-19 20:18:45 +01:00
Robbert van der Helm
0522f84f4a
Create Vst3HostContextProxy from YaHostApplication
...
This is quite a huge refactor, but note everything is consistent (and
we're going to need one or two more of these `Vst3*Proxy` objects).
Right now nothing extends `IHostApplication`, but this way it will be
trivial to add support for more host context interfaces.
2020-12-19 17:13:17 +01:00
Robbert van der Helm
54e73d2d19
Split YaEditController into YaEditController{,2}
...
Since even though the title would make you assume it's a versioned
interface, it's not.
2020-12-19 14:19:37 +01:00
Robbert van der Helm
9bca4796a5
Add boilerplate for Vst3ComponentHandlerProxy
2020-12-19 14:08:41 +01:00
Robbert van der Helm
71493299ec
Implement IConnectionPoint::disconnect
2020-12-19 13:07:58 +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
af1d573712
Add IConnectionPoint to the implemented interfaces
2020-12-18 14:31:26 +01:00
Robbert van der Helm
2155240cca
Add stubs for IEditController{,2}
2020-12-17 16:39:50 +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
d6c28f48d9
Split YaAudioProcessor from YaComponent
...
Now all that's left is splitting YaComponent into the IComponent bits
and separate YaPluginMonlith that implements everything.
2020-12-17 00:31:32 +01:00