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
ead1008597
Add stubs for IContextMenuTarget
2021-01-06 19:02:52 +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
0cbcf44e3e
Add stubs for an IContextMenu implementation
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
5b70e0eea6
Fix source file ordering
2021-01-06 15:17:15 +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
4a7b560972
Revert "Add a background brush to the window"
...
While this does get rid of artifacts, it can also add a brief moment
where the gray background becomes visible when the window reconfigures
which can look jarring.
This reverts commit 35c7138333 .
2021-01-02 19:32:28 +01:00
Robbert van der Helm
872a6aa304
Don't enable unity builds by default
...
But do suggest enabling them in the readme and enable them on the CI.
Having them enabled by default breaks clangd/ccls, which doesn't sound
like a great idea.
https://github.com/mesonbuild/meson/issues/8146
2021-01-01 22:53:08 +01:00
Robbert van der Helm
7c133e18da
Enable unity builds by default
2021-01-01 22:11:30 +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
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
2c3312b452
Merge branch 'master' into feature/vst3
2020-12-28 11:51:28 +01:00
Robbert van der Helm
ae71536639
Add back __cdecl on older Wine versions
2020-12-28 11:50:08 +01:00
Robbert van der Helm
35c7138333
Add a background brush to the window
...
So the background always gets cleared out when the window resizes.
2020-12-27 14:37:43 +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
fbad4a65ab
Add an IConnectionPoint proxy implementation
...
We still have to pass this proxy to the plugin. That's next.
2020-12-25 13:46:03 +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
1be9f53bb3
Add missing compile flags
2020-12-24 13:47:01 +01:00
Robbert van der Helm
91c4b414b0
Add a Vst3PlugFrameProxy implementation with stubs
2020-12-22 13:37:58 +01:00
Robbert van der Helm
f5c75da451
Add Vst3PlugFrameProxy
...
For proxying the `IPlugFrame*` passed to `IPlugView::setFrame()`.
2020-12-22 13:26:54 +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
ae057a0acf
Add stubs for a Vst3PlugViewProxy implementation
2020-12-19 20:58:34 +01:00
Robbert van der Helm
e391bbccb7
Add Vst3PlugViewProxy
2020-12-19 20:18:45 +01:00
Robbert van der Helm
76a1ed6082
Add an IPlugView wrapper
2020-12-19 20:09:04 +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
132ba0baeb
Add stubs for a component handler proxy impl
2020-12-19 14:37:50 +01:00
Robbert van der Helm
f816b5ad5d
Add IComponentHandler to Vst3ComponentHandlerProxy
2020-12-19 14:27:50 +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
f83e526fc6
Add stubs for IConnectionPoint
2020-12-18 13:36:48 +01:00
Robbert van der Helm
2155240cca
Add stubs for IEditController{,2}
2020-12-17 16:39:50 +01:00
Robbert van der Helm
655195a415
Move the plugin interfaces to a subdirectory
2020-12-17 13:12:54 +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
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
f1aefc0a9d
Finish implementing YaAudioBusBuffers
2020-12-15 22:32:42 +01:00
Robbert van der Helm
f33b749172
Implement all event types
2020-12-15 17:44:26 +01:00
Robbert van der Helm
92c37f71db
Implement IParameterChanges
2020-12-15 14:24:55 +01:00