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
dd0ef70d3e
Add CLAP module detection
2022-09-11 19:18:03 +02:00
Robbert van der Helm
707092086e
Interact with CLAP bridge in libyabridge-clap.so
2022-09-11 19:18:03 +02:00
Robbert van der Helm
7206ed2621
Silence warning about unnecessary CLAP_EXPORT
2022-09-11 19:18:03 +02:00
Robbert van der Helm
fcb2c85935
Add boilerplate for a CLAP plugin bridge
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
dc54d082a8
Rename factory function in CLAP chainloader
...
For consistency
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
54c506c703
Rename VST3 log_init_exception for consistency
2022-09-11 19:18:03 +02:00
Robbert van der Helm
6be5fbbcf4
Mention the CLAP feature in the init message
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
beed7963ec
Only set VST3 chainloader sources when enabled
2022-09-11 19:18:03 +02:00
Robbert van der Helm
a172b0ad06
Add minimal boilerplate for a CLAP plugin
2022-09-11 19:18:03 +02:00
Robbert van der Helm
ac0495bea2
Remove unused mutex from VST3 chainloader
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
687bee34d5
Silence spurious maybe uninitialized warning
2022-06-14 14:47:07 +02:00
Robbert van der Helm
49526b1e7d
Handle effGetProgramNameIndexed as mutually recursive
...
This fixes changing presets in Full Bucket's Ragnarök.
2022-06-14 14:40:17 +02:00
Robbert van der Helm
5e95c3b4e0
Make the VST3 bundle detection more specific
...
In yabridge itself.
2022-06-13 00:06:56 +02:00
Robbert van der Helm
61b141a0fe
Inhibit event loop after IPluginBase::terminate()
...
This 'fixes' recent Arturia VST3 plugins crashing at the end of a plugin
scan in REAPER.
2022-06-11 22:53:13 +02:00
Robbert van der Helm
637176541d
Remove old TODOs
2022-06-08 14:57:16 +02:00
Robbert van der Helm
818eeb2137
Remove unused include
2022-06-08 14:45:38 +02:00
Robbert van der Helm
c598ca08e1
Update notifications for yabridge 4.0
2022-06-08 14:45:31 +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
3e73d60b78
Only resize VST3 shared memory buffers when needed
...
This is an optimization for the last commit (split into two for
readability's sake).
2022-05-18 18:16:14 +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
5d9029d839
Store process setup data instead of offline flag
...
This is needed later when potentially reallocating the shared memory
during setActive().
2022-05-18 17:40:19 +02:00
Robbert van der Helm
6efc69071e
Fix building with -Dvst3=false #180
2022-05-14 13:19:20 +02:00
Robbert van der Helm
6b22ac6e66
Remove very insightful comment
...
Not quite sure how this got here.
2022-05-03 17:44:18 +02:00
Robbert van der Helm
89378e8862
Handle dlsym() failures in chainloaders better
...
If these ever fail (because the function names change, not that that
should happen anytime soon) then you'll now get the expected logging
output instead of it just printing an assertion failure to the terminal.
2022-04-21 14:21:26 +02:00
Robbert van der Helm
3970bc7f52
[yabridgectl] Set up in ~/.vst/yabridge by default
...
Instead of creating `.so` files next to the VST2 plugin's `.dll` files.
This behavior is still available as an option. #123
2022-04-17 20:27:47 +02:00
Robbert van der Helm
ffddb06b28
Actually add the new merged host.cpp file
...
Kinda useful.
2022-04-16 23:29:57 +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
4d9e865dd3
Define plugin and chainloader deps in own dir
...
Just like we already did for the plugin host.
2022-04-16 23:00:25 +02:00
Robbert van der Helm
470f4dfaaa
Remove the with- prefix from the build options
2022-04-16 21:13:46 +02:00
Robbert van der Helm
773b101cd4
Update error messages for chainloading changes
2022-04-16 20:37:11 +02:00
Robbert van der Helm
8710b6d63d
Add one last Hail Mary search to the chainloader
2022-04-16 20:37:11 +02:00