1
0
Fork 0
Commit graph

308 commits

Author SHA1 Message Date
Robbert van der Helm 9acd312768 Parmaeters are not real, they can't hurt you 2022-04-24 19:46:07 +02:00
Robbert van der Helm 8714310468 Silence dead code warnings in standalone wrapper
These were kept in as a reminder, but since standalone has been merged
into master these should be silenced as there are relevant TODOs for the
missing features in place already.
2022-04-24 18:18:11 +02:00
Robbert van der Helm 084d34fe5c Set up the logger for the standalone target 2022-04-24 15:50:17 +02:00
Robbert van der Helm 60593e7cc3 Close standalone when process returns an error
For this to work the resize mutex has been replaced with a channel for
sending tasks.
2022-04-24 15:48:42 +02:00
Robbert van der Helm 5d481e59f1 Call the process function in the standalone target
Although there's no functional backend yet.
2022-04-24 15:48:42 +02:00
Robbert van der Helm ae24ed4c4d Move standalone audio thread to a function 2022-04-24 15:48:42 +02:00
Robbert van der Helm 19d4b73039 Implement parameter changes for standalone target
Changing parameters from an editor now works just like in the other
targets.
2022-04-24 15:48:42 +02:00
Robbert van der Helm 9e40ec11fe Print a message about IO being unimplemented 2022-04-24 15:48:42 +02:00
Robbert van der Helm 8cb763246b Add an audio thread for the standalone target 2022-04-24 15:48:42 +02:00
Robbert van der Helm 81e56dd018 Abstract the IO backend for the standalone wrapper 2022-04-24 15:48:42 +02:00
Robbert van der Helm 8ba60eeab9 Implement resizing for standalone editor window 2022-04-24 15:48:42 +02:00
Robbert van der Helm da86d1c6b1 Open a basic baseview window for standalone target 2022-04-24 15:48:41 +02:00
Robbert van der Helm 6c84fec09e Add a (not yet functional) standalone run function 2022-04-24 15:48:05 +02:00
Robbert van der Helm f838062d72 Don't use an Arc for the CLAP editor 2022-04-24 15:48:05 +02:00
Robbert van der Helm e90bacffb5 Print initialization errors in standalone 2022-04-24 15:48:05 +02:00
Robbert van der Helm 261594a478 Initialize the standalone target 2022-04-24 15:48:05 +02:00
Robbert van der Helm 42548ef5d1 Update standalone target todos 2022-04-24 15:48:05 +02:00
Robbert van der Helm 96ec1da037 Export the standalone target for gain_gui_vizia 2022-04-24 15:48:05 +02:00
Robbert van der Helm f3db4a9ed0 Add a (not yet functional) standalone exporter 2022-04-24 15:48:05 +02:00
Robbert van der Helm f895a27136 Simplify known VST3 note expression match 2022-04-24 15:31:02 +02:00
Robbert van der Helm 3264bee810 Include locations in assertion failure messages 2022-04-24 15:27:59 +02:00
Robbert van der Helm 015c554d79 Register the loggers for VST3 and CLAP plugins 2022-04-24 15:24:35 +02:00
Robbert van der Helm 88260c55c7 Log on lower verbosity in release builds
This will also strip away information.
2022-04-24 15:08:55 +02:00
Robbert van der Helm 3b0291b4f5 Add function for setting up file and windbg logs
And also writing panics to those logs.
2022-04-24 15:08:48 +02:00
Robbert van der Helm a79099f573 Work around Bitwig VST3 note expressions bug
Bitwig will only send these note expression events if the plugin claims
to support at least one custom note expression type, and if it returns
`kResultOk` on `INoteExpressionController::get_note_expression_info()`
when the expression ID is equal to the note expression type (even though
these are out of range, since this index argument is supposed to be a
linear index from `0..count`).
2022-04-23 15:00:30 +02:00
Robbert van der Helm 3361c4454b Define constants for VST3 note expression types 2022-04-23 14:49:19 +02:00
Robbert van der Helm b88707769a Add a way to find out the current plugin API 2022-04-21 21:27:36 +02:00
Robbert van der Helm 2bc77ed691 Work around vst3-sys not allowing #[cfg()] fields 2022-04-20 20:44:07 +02:00
Robbert van der Helm 6ae05eb01b Log assertion failure if a VST3 resize is denied 2022-04-20 20:35:44 +02:00
Robbert van der Helm 8966ca5280 Fix C++ interface pointer transmutes
These are supposed to be pointers to vtable pointers.
2022-04-20 20:25:59 +02:00
Robbert van der Helm 5d343f7873 Also perform resize requests using the run loop 2022-04-20 19:52:02 +02:00
Robbert van der Helm 98924a5728 Use the host's run loop to handle VST3 tasks 2022-04-20 19:51:26 +02:00
Robbert van der Helm 37b62e4278 Add an IRunLoop event runner on Linux 2022-04-20 19:44:03 +02:00
Robbert van der Helm 4fa54ceabe Add an object for implementing IEventLoop
We can't do this directly on WrapperView because of vst3-sys
limitations.
2022-04-20 17:18:41 +02:00
Robbert van der Helm f3bb552cfe Get a reference to the host's IRunLoop 2022-04-20 17:03:15 +02:00
Robbert van der Helm 0fd9a68146 Move u16strlcpy to the VST3 wrapper utils module 2022-04-15 16:13:14 +02:00
Robbert van der Helm 877eeadc7f Add a todo for implementing FTZ for AArch64 2022-04-12 02:08:41 +02:00
Robbert van der Helm 54db43f48d Fix c_char usage on AArch64
Apparently char is unsigned on AArch64.
2022-04-12 02:06:29 +02:00
Robbert van der Helm ad50852aeb Fix CLAP event output struct sizes 2022-04-11 20:53:25 +02:00
Robbert van der Helm 5e486ab3d9 Explicitly handle 0 channel IO
Instead of treating it as a flush. This is needed for note effect
plugins.
2022-04-11 20:46:51 +02:00
Robbert van der Helm 65d87f87ed Add a way to output note events
This supports all note events supported by NIH-plug, and both CLAP and
VST3.
2022-04-11 20:46:51 +02:00
Robbert van der Helm e4606918e7 Rename next_midi_event() to next_event() 2022-04-11 18:15:14 +02:00
Robbert van der Helm 84d91d8826 Update dependencies for CLAP
The signature for this function was incorrect.
2022-04-11 16:18:39 +02:00
Robbert van der Helm 5b5bbf19f7 Prefix all polyphonic expressions with Poly
Makes it much more obvious that they're polyphonic at a glance.
2022-04-11 15:57:27 +02:00
Robbert van der Helm 63ad2b2cb8 Parse redundant CLAP MIDI events just in case 2022-04-11 15:56:33 +02:00
Robbert van der Helm 476dfb9f81 Fix compilation failure from f0303fe 2022-04-09 12:12:34 +02:00
Robbert van der Helm 33c2d8288b Don't warn on parameter hash overflow
But do mention overflows in the duplicate parameter warning.
2022-04-09 11:47:23 +02:00
Robbert van der Helm f0303fed4b Remove now unnecessary input events sort
This was added in anticipation of having to merge the parameter change
MIDI CC events into the events stream, but VST3 threw a curveball and
now we need to do the sorting one step earlier.
2022-04-09 11:32:20 +02:00
Robbert van der Helm 52d7b47a24 Improve block splitting transport information
Don't do any recomputations at the start of the buffer, and also
recompute the bar positions and numbers.
2022-04-08 23:10:38 +02:00
Robbert van der Helm 1a8f81e4c0 Support MIDI CCs, aftertouch, pitch bend for VST3
This required rewriting the way events and parameter changes are handled
for VST3 by putting them all in a single sorted array, because we can
now no longer read directly from the host's events list because we also
need to mix these new generated MIDI CC events in with it.
2022-04-08 20:53:32 +02:00