Commit Graph

281 Commits

Author SHA1 Message Date
Robbert van der Helm 2b0fb8f954 Change wording in changelog 2020-12-29 22:09:09 +01:00
Robbert van der Helm fa4bd4bb24 Update the VST3 notice in the readme 2020-12-29 22:02:29 +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 b34762db29 Mention that XEmbed is only available on master 2020-12-29 15:23:22 +01:00
Robbert van der Helm 5a3b6319bd Add VST3 status to supported DAWs list 2020-12-29 15:17:19 +01:00
Robbert van der Helm 902b05ddc0 Update todos in the readme 2020-12-29 14:42:36 +01:00
Robbert van der Helm 86c8b284a2 Mention the XEmbed Wine patch in the readme 2020-12-27 13:31:16 +01:00
Robbert van der Helm 5e26d30752 Add a wrapper for IUnitHandler 2020-12-26 14:12:40 +01:00
Robbert van der Helm b9b6129933 Rewrite the readme introduction 2020-12-26 13:57:57 +01:00
Robbert van der Helm d32e566446 Update the changelog for VST3 support 2020-12-26 13:57:57 +01:00
Robbert van der Helm 38f34f91f2 Update the readme for VST3 2020-12-26 13:57:57 +01:00
Robbert van der Helm 86aaf2fa3a Implement IEditController2::openAboutBox
With this IEditController2 has been fully implemented.
2020-12-26 00:10:39 +01:00
Robbert van der Helm 49eeee99fa Add an XEmbed compatibility option 2020-12-25 19:49:47 +01:00
Robbert van der Helm 70cb6dad89 Allow indirect IConnectionPoint connections
This is needed to support Ardour. These extra hops and serialization
steps will probably hurt performance, but outside of some huge hacks (to
connect the components directly anyways) there's not much else we can
do.
2020-12-25 14:21:18 +01:00
Robbert van der Helm b0fc8f2c5f Remove are_objects_directly_connected check
It's not necessary, since all of these objects are simple data objects
that will be passed as arguments to other functions. When we have to
pass through one of those functions we can just serialize the objects at
that point.
2020-12-24 14:45:58 +01:00
Robbert van der Helm a86c37a21d Partially implement IHostApplication
For now only works for directly connected components.
2020-12-24 13:48:31 +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 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 b7047a5281 Implement IEditController::createView()
Even though `Vst3PlugViewProxyImpl` is still only stubs,
`IEditController` is now fully implemented.
2020-12-19 21:07:36 +01:00
Robbert van der Helm 95b30b069e Include libyabridge-vst3.so in the build artifacts 2020-12-19 13:23:53 +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 cfa4849467 Partially implement IConnectionPoint::connect()
This now works for direct connections, which is probably how most hosts
will use this.
2020-12-18 14:09:20 +01:00
Robbert van der Helm f83e526fc6 Add stubs for IConnectionPoint 2020-12-18 13:36:48 +01:00
Robbert van der Helm 97570a47ba Add a document with all implemented interfaces 2020-12-16 22:07:43 +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 1dd575e4a7 Implement IAudioProcessor::process()
With this the entire `IAudioProcessor` interface has been implemented
and in theory it should now be possible to process audio and events.
Logging for these requests still has to be implemented separately.
2020-12-16 18:55:34 +01:00
Robbert van der Helm 2bf98d0a97 Implement writing back YaProcessDataResponse
Everything around `ProcessData` is now fully implemented and should in
theory work.
2020-12-16 18:14:28 +01:00
Robbert van der Helm 7e40d70ff4 Update the TODO list in the readme 2020-12-15 20:07:03 +01:00
Robbert van der Helm a516309d17 Implement IEventList 2020-12-15 18:32:43 +01:00
Robbert van der Helm 92c37f71db Implement IParameterChanges 2020-12-15 14:24:55 +01:00
Robbert van der Helm 026595d99f Implement IParamValueQueue 2020-12-15 14:23:55 +01:00
Robbert van der Helm e7d7317f60 Add a partial AudioBusBuffers implementation 2020-12-15 13:08:12 +01:00
Robbert van der Helm c815b3903b Implement IAudioProcessor::getTailSamples() 2020-12-14 21:43:38 +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 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 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 4f8fe21fa9 Merge branch 'master' into feature/vst3 2020-12-12 13:33:36 +01:00
Robbert van der Helm afd777b583 Mention the Discord in the common issues section 2020-12-11 18:16:17 +01:00
Robbert van der Helm b815fb0c34 Add a Discord badge to the readme 2020-12-11 18:14:37 +01:00
Robbert van der Helm 9554bbc12d Merge branch 'master' into feature/vst3 2020-12-11 16:25:53 +01:00
Robbert van der Helm ced3608e91 Update the tested REAPER version 2020-12-11 13:21:29 +01:00
Robbert van der Helm 170cd53c27 Add todo about readme changes after merging 2020-12-07 18:28:16 +01:00
Robbert van der Helm ff2807c939 Add all the boilerplate for the Vst3PluginBridge
And now that I also have an idea of what the communication model will
look like, this can server as a base for instantiating plugins.
2020-12-07 18:28:16 +01:00
Robbert van der Helm a4af1a2535 Fix compiling VST3 module system with winegcc 2020-12-07 18:28:16 +01:00
Robbert van der Helm a55fbb0daf Mention the version and patches of the VST3 SDK 2020-12-07 18:28:16 +01:00