1
0
Fork 0
Commit graph

730 commits

Author SHA1 Message Date
Robbert van der Helm
04c5780e4a Implement state saving/loading for standalone 2022-04-24 19:46:51 +02:00
Robbert van der Helm
566095802c Decouple state functions from CLAP/VST3 wrapper
This should also be usable with a plain `params` object, since we don't
need hashes in the standalone wrapper.
2022-04-24 19:46:07 +02:00
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
cf3745a4e1 Somewhat clarify initialize_block_smoothers()
This function is meant to be called by the plugin itself, it only lives
in the plugin trait to make using it more convenient.
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
532ffca768 Permit allocations in debug and tracing messages
Otherwise debugging becomes a lot more difficult when using the
assert_no_alloc feature.
2022-04-24 15:43:23 +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
54bab5ff6d Add an nih_trace!() macro 2022-04-24 15:30:38 +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
5ae0bee3ee Use the new logger for the debug macros 2022-04-24 15:20:25 +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
83f9ce3608 Add a todo for a standalone target 2022-04-21 21:30:04 +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
55aabcea31 Add a note for PolyPressure + MPE 2022-04-20 16:48:37 +02:00
Robbert van der Helm
8eaecb6e5c Add a way to completely exclude the vst3-sys dep
Because technically you might still include GPL'd symbols even if you
wouldn't use the `nih_export_vst3!()` macro.
2022-04-15 16:14:42 +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
7b24dea719 Clarify param_map() docstring 2022-04-13 20:20:27 +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
3c69fb72cf Make parameter names owned
That way you can generate parameters with custom `Params`
implementations.
2022-04-11 23:27:36 +02:00
Robbert van der Helm
ad50852aeb Fix CLAP event output struct sizes 2022-04-11 20:53:25 +02:00