Robbert van der Helm
eae77d4dbf
Fix num samples in processing log message
2020-12-23 12:00:31 +01:00
Robbert van der Helm
216f65d2a1
Unify log format further
2020-12-23 11:53:09 +01:00
Robbert van der Helm
9bb90388c1
Implement IPlugView::checkSizeConstraint()
...
With this the whole of `IPlugView` and thus also `IEditController` is
implemented.
2020-12-22 15:42:41 +01:00
Robbert van der Helm
5ef7e73725
Implement IPlugView::canResize()
2020-12-22 15:37:06 +01:00
Robbert van der Helm
656f6d3f6c
Implement IPlugFrame::resizeView()
...
The base IPlugFrame only contains this single function.
2020-12-22 15:09:33 +01:00
Robbert van der Helm
da6ddccf07
Implement IPlugView::setFrame()
2020-12-22 14:16:00 +01:00
Robbert van der Helm
9288cdcb59
Remove support for null pointers in setHostContext
...
Like the other functions, null pointers are never valid here so we
shouldn't bother passing them as it only increases complexity.
2020-12-22 14:04:42 +01:00
Robbert van der Helm
3b96ffa349
Remove null pointer supported in initialize()
2020-12-22 13:59:47 +01:00
Robbert van der Helm
51876a024c
Remove null pointer support in setComponentHandler
...
This should be an implementation fault.
2020-12-22 13:59:15 +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
d4d9746f69
Implement IPlugView::onFocus()
2020-12-22 00:19:23 +01:00
Robbert van der Helm
463557349d
Implement IPlugView::onSize()
2020-12-21 23:46:29 +01:00
Robbert van der Helm
063b480fd0
Implement IPlugView onKey{Up,Down}
2020-12-21 19:13:14 +01:00
Robbert van der Helm
06c55fcdd8
Implement IPlugView::onWheel()
2020-12-21 18:56:22 +01:00
Robbert van der Helm
f1009f1941
Implement IPlugView::removed()
2020-12-21 18:30:42 +01:00
Robbert van der Helm
51877796fa
Add dedicated IAudioProcessor/IComponent sockets
...
This way every relevant object instance will get its own thread for
handling these calls. The alternative would be creating a full fat
Vst3MessageHandler pair for all object instances, but that would be a
huge waste.
2020-12-21 17:26:30 +01:00
Robbert van der Helm
415c1b5683
Allow disabling ad-hoc socket spawning
...
We'll need this for handling `IAudioProcessor` method calls in VST3. We
basically want a `Vst3MessageHandler` per `IAudioProcessor` instance,
but without the additional socket spawning or extra thread.
2020-12-21 15:45:47 +01:00
Robbert van der Helm
960e2d50d1
Implement IPlugView::getSize()
2020-12-19 23:46:45 +01:00
Robbert van der Helm
09f6d93214
Implement IPlugView::attached()
2020-12-19 23:31:41 +01:00
Robbert van der Helm
e72e6d5642
Implement IPlugView::isPLatformTypeSupported()
...
This of course requires us to substitute the relevant Linux platform
type for the Win32 one.
2020-12-19 22:34:56 +01:00
Robbert van der Helm
7306809991
Drop IPlugView pointer when host drops proxy
2020-12-19 22:17:10 +01:00
Robbert van der Helm
f0ece64018
Implement the Wine side for createView()
2020-12-19 20:41:06 +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
b422f6fd42
Don't cache IComponent::getControllerClassId()
...
For the same reasons as the last commit. Now we don't have any of these
cached methods anymore.
2020-12-19 18:56:47 +01:00
Robbert van der Helm
63ae5f330c
Don't cache IHostApplication::getName()
...
As it turns out there are only two or three functions where we can do
this. It also breaks logging, and this function will probably only be
called once anyways. More consistency is always better.
2020-12-19 18:28:16 +01:00
Robbert van der Helm
85faca736f
Add a todo for removing cached functions
2020-12-19 17:19:01 +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
c970093b5e
Add todo about creating a Vst3HostContextProxy
2020-12-19 16:05:04 +01:00
Robbert van der Helm
1b454371a6
Implement IComponentHandler::restartComponent()
...
The base IComponentHandler is now fully implemented.
2020-12-19 15:51:48 +01:00
Robbert van der Helm
25575e2d3a
Implement IComponentHandler::endEdit()
2020-12-19 15:48:06 +01:00
Robbert van der Helm
bb99a539d5
Implement IComponentHandler::performEdit()
2020-12-19 15:45:24 +01:00
Robbert van der Helm
3b06bca95e
Implement IComponentHandler::beginEdit()
2020-12-19 15:39:03 +01:00
Robbert van der Helm
bf3d802f36
Implement IEditController::setComponentHandler()
2020-12-19 15:04:27 +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
9bca4796a5
Add boilerplate for Vst3ComponentHandlerProxy
2020-12-19 14:08:41 +01:00
Robbert van der Helm
7e3568e333
Rename YaEditController2 to YaEditController
...
Adding versions to our implementations doesn't work when the versions
and extensions start becoming non-numerical. This is what happened with
`IComponentHandler`.
2020-12-19 13:49:00 +01:00
Robbert van der Helm
1ede385784
Clean up YaHostApplication
2020-12-19 13:40:37 +01:00
Robbert van der Helm
be78ff50be
Update Ya*::ConstructArgs docstrings
2020-12-19 13:27:00 +01:00
Robbert van der Helm
fa256ab9be
Only log IComponent::getBusCount() on verbosity 2
2020-12-19 13:07:58 +01:00
Robbert van der Helm
38c37f2721
Don't log responses for filtered out requests
2020-12-19 13:07:58 +01:00
Robbert van der Helm
71493299ec
Implement IConnectionPoint::disconnect
2020-12-19 13:07:58 +01:00
Robbert van der Helm
6734962886
Add todo about filtering response log messages
2020-12-18 23:08:18 +01:00
Robbert van der Helm
24fc584fca
Hide a few more messages on verbosity level 1
2020-12-18 23:05:49 +01:00
Robbert van der Helm
151ca17ed1
Don't seek to the beginning when writing stream
2020-12-18 22:31:06 +01:00
Robbert van der Helm
bbcdf9c685
Loosen assertions in VectorStream::write_back
2020-12-18 22:14:10 +01:00