Robbert van der Helm
e7d7317f60
Add a partial AudioBusBuffers implementation
2020-12-15 13:08:12 +01:00
Robbert van der Helm
9c97ebb262
Merge branch 'master' into feature/vst3
2020-12-14 23:21:53 +01:00
Robbert van der Helm
449b17b5e2
Get rid of explicit calling convention on main()
...
Fixes builds on Wine 6.0, and it's apparently also no longer needed for
Wine 5.9 and up.
2020-12-14 23:20:21 +01:00
Robbert van der Helm
62f376d952
Allow the module to be properly unloaded
...
Terminating the host process will cause all sockets to be closed so we
can join the threads.
2020-12-14 22:49:20 +01:00
Robbert van der Helm
c815b3903b
Implement IAudioProcessor::getTailSamples()
2020-12-14 21:43:38 +01:00
Robbert van der Helm
007aa1e707
Implement IAudioProcessor::setProcessing()
2020-12-14 21:31:50 +01:00
Robbert van der Helm
b1bcfd3873
Implement IAudioProcessor::setupProcessing()
2020-12-14 21:25:05 +01:00
Robbert van der Helm
cb7413c521
Add implicit conversion for UniversalTResult
2020-12-14 18:32:18 +01:00
Robbert van der Helm
2becd420b2
Take PrimitiveWrapper<T> value by rvalue
2020-12-14 18:22:12 +01:00
Robbert van der Helm
bb110e8cbb
Add PrimitiveWrapper<T> response logging
2020-12-14 18:08:16 +01:00
Robbert van der Helm
e282f8c572
Fix IComponent::getBusCount()
2020-12-14 18:03:20 +01:00
Robbert van der Helm
0f59d6429d
Implement IAudioProcessor::getLatencySamples()
2020-12-14 17:53:50 +01:00
Robbert van der Helm
6979dafa06
Add a wrapper for serializing primitives
2020-12-14 17:53:38 +01:00
Robbert van der Helm
d9585fac78
Implement IAudioProcessor::canProcessSampleSize()
2020-12-14 17:12:49 +01:00
Robbert van der Helm
b26c2e08a7
Implement IAudioProcessor::getBusArrangement()
2020-12-14 16:55:21 +01:00
Robbert van der Helm
e3b442de57
Implement IAudioProcessor::setBusArrangements()
2020-12-14 16:40:40 +01:00
Robbert van der Helm
b87c3fe790
Add a todo about non-separated controllers
2020-12-14 16:10:56 +01:00
Robbert van der Helm
49a87371bc
Add todos for logging successful interface queries
2020-12-14 13:23:27 +01:00
Robbert van der Helm
143d795c0b
Unify log message format for initialize()
2020-12-14 13:21:28 +01:00
Robbert van der Helm
e2ba9c13f1
Add IAudioProcessor instance to ComponentInstance
...
So we don't have to these expensive casts every time.
2020-12-14 13:18:47 +01:00
Robbert van der Helm
e0dd4ab22d
Add IAudioProcessor query interface to YaComponent
2020-12-14 13:17:10 +01:00
Robbert van der Helm
0668a785b0
Add stubs for implementing IAudioProcessor
2020-12-14 13:06:02 +01:00
Robbert van der Helm
096171bb96
Use the known_iids mechanism for IComponent
2020-12-14 12:48:21 +01:00
Robbert van der Helm
e653142e45
Implement IComponent::getState()
...
With this the basic IComponent interface is fully implemented. Next will
be `IAudioProcessor` and `IConnectionPoint` as additions to IComponent.
We'll use the same `known_iids` mechanism as used in the plugin factory.
2020-12-14 12:38:35 +01:00
Robbert van der Helm
02e6fb1ba8
Add a way to write a VectorStream back
2020-12-14 12:24:09 +01:00
Robbert van der Helm
816d1c1501
Implement IComponent::setState()
2020-12-14 12:09:47 +01:00
Robbert van der Helm
c463543ac9
Implement a serializable vector based IBStream
...
We can now use this for implementing reading and writing preset data.
2020-12-14 00:02:31 +01:00
Robbert van der Helm
42664be378
Use std::copy_n instead of pointer arithmetic
2020-12-13 23:19:37 +01:00
Robbert van der Helm
7341fab0ea
Implement IComponent::setActive()
2020-12-13 22:17:06 +01:00
Robbert van der Helm
43296675f6
Implement IComponent::activateBus()
2020-12-13 22:07:45 +01:00
Robbert van der Helm
16b949bccf
Log all function calls kwargs-style
2020-12-13 21:53:08 +01:00
Robbert van der Helm
5b6a8ebfac
Implement IComponent::getRoutingInfo()
2020-12-13 21:51:56 +01:00
Robbert van der Helm
583645bb46
Add a holder for component contexts and pointers
...
When implementing the other component interfaces we want to be able to
store the `FUnknownPtrs`.
2020-12-13 21:31:59 +01:00
Robbert van der Helm
6adeb1987d
Log function arguments kwargs-style
...
This would make everything a bit clearer since the SDK uses bitfields
everywhere.
2020-12-13 16:59:16 +01:00
Robbert van der Helm
9df812952e
Implement IComponent::GetBusInfo()
2020-12-13 16:56:09 +01:00
Robbert van der Helm
34b2fa8905
Implement IComponent::getBusCount()
2020-12-13 16:18:13 +01:00
Robbert van der Helm
116b618ac5
Implement IComponent::setIoMode()
2020-12-13 16:12:30 +01:00
Robbert van der Helm
3f3759e5fc
Log calls to unimplemented functions
2020-12-13 16:01:52 +01:00
Robbert van der Helm
32c1028736
Implement IPluginFactory3::setHostContext()
...
Now the plugin factories are fully implemented (at least, functionality
wise, we still can't create most kinds of objects).
2020-12-13 15:53:39 +01:00
Robbert van der Helm
7c5f7a2e0e
Fully implement IPluginBase::initialize()
...
We can now pass host contexts around.
2020-12-13 15:16:11 +01:00
Robbert van der Helm
0c64aabeea
Add a partial YaHostApplication implementation
2020-12-13 14:46:17 +01:00
Robbert van der Helm
e21ee31ee8
Implement plugin side of IPluginBase::initialize()
2020-12-13 14:30:51 +01:00
Robbert van der Helm
e8929e5e43
Make the UTF-16 conversion a bit safer
2020-12-13 13:53:53 +01:00
Robbert van der Helm
919987298c
Add the base for YaHostApplication
2020-12-13 13:46:00 +01:00
Robbert van der Helm
ca91cf041d
List the progress of interface implementations
2020-12-13 12:47:18 +01:00
Robbert van der Helm
d9989fe856
Update the VST3 architecture document
2020-12-13 12:32:49 +01:00
Robbert van der Helm
cd92b7a976
Log failed calls to IComponent::queryInterface()
2020-12-12 22:25:25 +01:00
Robbert van der Helm
0ad56874e2
Abstract away logging unknown interfaces
2020-12-12 22:22:27 +01:00
Robbert van der Helm
39984ad442
Use the new approach for creating plugin factory
...
Directly serializing and deserializing into objects was and more
boilerplate heavy (since we now need two implementations even though we
only use one), and also much less flexible because we can't wrap
payloads in structs or provide optional values that way.
2020-12-12 21:53:38 +01:00
Robbert van der Helm
1b30000147
Keep track of active YaComponentPluginImpls
...
So we can do host callbacks later.
2020-12-12 21:24:11 +01:00