Commit Graph

941 Commits

Author SHA1 Message Date
Robbert van der Helm bca6588965 Fix clap_plugin_factory logging meesage 2022-09-11 19:18:03 +02:00
Robbert van der Helm 423534f373 Implement Wine side for creating plugin instances 2022-09-11 19:18:03 +02:00
Robbert van der Helm e74c25445d Add messages for creating plugin instances 2022-09-11 19:18:03 +02:00
Robbert van der Helm bba5d34d41 Add a serialization struct for clap_host data 2022-09-11 19:18:03 +02:00
Robbert van der Helm 49e3f7ff1e Capitalize CLAP plugin descriptor class name
To stay consistent with the rest of the naming.
2022-09-11 19:18:03 +02:00
Robbert van der Helm d0aeeaba2a Move CLAP version clamping to a function 2022-09-11 19:18:03 +02:00
Robbert van der Helm 41b2c2ea72 Fix bridged CLAP plugin names 2022-09-11 19:18:03 +02:00
Robbert van der Helm c36590abf5 Add a basic CLAP plugin factory implementation
Which can only list plugins without creating them.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 6098ebc778 Add a TODO for speeding up VST3 compilation 2022-09-11 19:18:03 +02:00
Robbert van der Helm ec8028f78c Allow serializing CLAP plugin factory list message 2022-09-11 19:18:03 +02:00
Robbert van der Helm edc0cbbe38 Add serialization for enumerating CLAP factories 2022-09-11 19:18:03 +02:00
Robbert van der Helm 653a3a88cb Add serialization for CLAP plugin descriptors 2022-09-11 19:18:03 +02:00
Robbert van der Helm 38187241d4 Add a document outlining CLAP support status 2022-09-11 19:18:03 +02:00
Robbert van der Helm 8ef8a61e2b Add WantsConfiguration logging for CLAP 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7a60cf37ea Fix typos 2022-09-11 19:18:03 +02:00
Robbert van der Helm 7f5e2e6a35 Change CLAP socket names for more clarity 2022-09-11 19:18:03 +02:00
Robbert van der Helm 77e703e9e3 Fix CLAP library name in generated config.h 2022-09-11 19:18:03 +02:00
Robbert van der Helm eb2b12aa2b Add boilerplate for CLAP sockets 2022-09-11 19:18:03 +02:00
Robbert van der Helm 401ebb21ce Add minimal CLAP logger 2022-09-11 19:18:03 +02:00
Robbert van der Helm b7b6dff922 Add minimal boilerplate for CLAP serialization 2022-09-11 19:18:03 +02:00
Robbert van der Helm 1820a82bef Update out of date VST3 socket docs 2022-09-11 19:18:03 +02:00
Robbert van der Helm 09e6c6494e Add a CLAP plugin type
These aren't handled anywhere yet
2022-09-11 19:18:03 +02:00
Robbert van der Helm 6df0741195 Prefix top level VST3 message types
CLAP will use a similar structure. Alternatively we could use
namespaces, but while that would solve clashes for the linker with the
way namespaces in C++ work it would still be ambiguous which one is
being referred to just looking at the code.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 5b4dbdd890 Move get_request_variant template function
This needs to be specialized for the CLAP and VST3 request variant
types.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 9edb4aa567 Move WantsConfiguration to common
We'll also need this for CLAP.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 4ca7ea17b2 Change terminology from 'VST' to 'plugin' 2022-09-11 19:18:03 +02:00
Robbert van der Helm bf7280fc7e Move Vst3MessageHandler to common and make generic
CLAP will use the same strategy.
2022-09-11 19:18:03 +02:00
Robbert van der Helm ffad63d439 Add a CLAP chainloader
The functions it's supposed to load however don't exist yet.
2022-09-11 19:18:03 +02:00
Robbert van der Helm 98bb4a019b Add CLAP whenever mentioning yabridge libs 2022-09-11 19:18:03 +02:00
Robbert van der Helm 36d2ca021b Bump VST3 dependency version 2022-08-22 18:37:47 +02:00
Robbert van der Helm 637176541d Remove old TODOs 2022-06-08 14:57:16 +02:00
Robbert van der Helm d9de22ddbd Add support for VST2 effBeginLoad{Bank,Program}
A user reported that REAPER was using these on the REAPER forum, but I
have not been able to reproduce that. And they went MIA after posting
about it. But hopefully this helps.
2022-06-08 14:27:04 +02:00
Robbert van der Helm 65cf9cd782 Increase VST2 buffer and MIDI serialization limits
This really, really shouldn't be needed, but some plugins do weird
things.
2022-05-26 12:57:18 +02:00
Robbert van der Helm 39605ef465 Increase MIDI event count limits for VST2
This really shouldn't be needed, but apparently there are plugins that
output more than 2048 events per buffer.

https://github.com/robbert-vdh/yabridge/issues/35#issuecomment-1138176117
2022-05-26 12:56:35 +02:00
Robbert van der Helm 03c2acd578 Add a todo on the VST 3.7.5 moduleinfo format
Supporting this in yabridge would require parsing JSON. So unless this
feature is actually used, we should probably not bother.
2022-05-19 22:31:16 +02:00
Robbert van der Helm 162aeed661 Only set up VST3 SHM audio buffers in setActive()
This avoids doing the duplicate check (since both `setProcessing()` and
`setActive()` would be called), and this also gets rid of the assumption
added a couple commits ago that `setupProcessing()` is only ever called
once, which is not true.
2022-05-19 14:43:59 +02:00
Robbert van der Helm 8c10edf861 Add explicit virtual default destructors
We need to silence the warning about this because Steinberg doesn't
declare their base class destructors as virtual (because of Windows ABI
compatibility issues). But we can still do it inside of yabridge to have
at least a bit more safety.
2022-05-18 18:44:15 +02:00
Robbert van der Helm dedcdefebf Allow resizing shared memory buffers in setActive
REAPER apparently changes bus arrangements between
`IAudioProcessor::setupProcessing()` and `IAudioProcessor::setActive()`.
2022-05-18 18:16:14 +02:00
Robbert van der Helm b3efcf4e06 Merge yabridge-group.exe and yabridge-host.exe
They were 95% the same, so this makes a lot more sense this way. When
group host processes were introduced yabridge only did VST2 bridging,
but we already have a plugin type argument anyways so might as well
reuse that for group hosts.
2022-04-16 23:26:24 +02:00
Robbert van der Helm 85989f4c1d Also add a way to use logging library without Asio 2022-04-16 20:37:11 +02:00
Robbert van der Helm d63b4d2da5 Add the plugin library names to config.h.in 2022-04-16 20:37:11 +02:00
Robbert van der Helm 3cad93cb65 Move get_augmented_search_path to process library
We'll need this for the chainloader.
2022-04-16 20:37:11 +02:00
Robbert van der Helm d79663bdc1 Remove spurious underscores from socket files 2022-04-16 20:37:11 +02:00
Robbert van der Helm 6773305646 Allow including process.h without Asio support 2022-04-16 20:37:11 +02:00
Robbert van der Helm 46af07748b Move desktop notifications to its own header
We'll need to use this from the chainloader.
2022-04-16 20:37:10 +02:00
Robbert van der Helm fde90d7bc3 Pass plugin path around instead of redetecting
This is now set only once at the top level. This is needed for the
chainloading to work because we'll need to set the path when we create
the bridge.
2022-04-16 20:37:10 +02:00
Robbert van der Helm 1fec4c8860 Change the description in the GPL header 2022-04-16 20:37:10 +02:00
Robbert van der Helm 7b3afa4043 Replace Boost.Dll with our own function
Now we no longer rely on anything from Boost. Later we'll move the path
detection to the very beginning of the plugin bridge initialization so
it can be set from the coming chainloader libraries.
2022-04-16 20:37:10 +02:00
Robbert van der Helm c2de0cce2e Use our own export macro 2022-04-16 20:37:10 +02:00
Robbert van der Helm 6e2fff5710 Add size field in AudioShm move constructors 2022-04-16 20:37:10 +02:00