1
0
Fork 0
Commit graph

1831 commits

Author SHA1 Message Date
Robbert van der Helm 5cbef6ec03 Fix alloc failures in VST3 with many events
Or well, work around. We should use a different non-allocating sorting
implementation here. This only crept up in Ardour because they for some
reason send all parameter values after loading a VST3 plugin.
2022-12-28 01:30:26 +01:00
Robbert van der Helm fd28a95231 Defer set_latency_samples() in VST3 plugin init
The host might otherwise restart the plugin while the `Plugin::init()`
call is still active, resulting in a deadlock because the plugin mutex
is still locked. This was causing issues when loading state in Ardour7.
The new approach also removes the need for a previous hack added for
Ardour6.
2022-12-28 01:28:33 +01:00
Robbert van der Helm 46752fc7f0 Make the definition of buffer length more explicit
This is the standard definition, but apparently it's still confusing.
Resolves #47.
2022-12-23 20:34:57 +01:00
Robbert van der Helm 78c84b7596 Update dependencies 2022-12-16 23:29:03 +01:00
Robbert van der Helm f58b69f10a Update baseplug for better resizing support
This should now fully support resizing in nih_plug_vizia on all
platforms.
2022-12-02 20:17:53 +01:00
Robbert van der Helm 2747714640 Silence warning for standalone config on macOS 2022-12-02 19:42:51 +01:00
Robbert van der Helm 1767e6abe4 Update nih_plug_iced to the latest baseview
The feature branch used to add mouse modifiers has long been merged into
upstream baseview.
2022-12-02 19:25:27 +01:00
Robbert van der Helm ec34e54bfe Update dependencies, allow resizing on Win/macOS
This was implemented for Linux in March, but it should now also work on
Windows and macOS.
2022-12-01 20:21:56 +01:00
Robbert van der Helm 50fa1008c0 Allow assert_process_allocs+mingw-w64 in release
This causes the application to halt in debug builds, but it shouldn't be
an issue in release builds.
2022-12-01 20:18:30 +01:00
Robbert van der Helm 5115ff7b47 Mention safe mode in Diopser readme 2022-11-29 20:59:41 +01:00
Robbert van der Helm 0d2af71180 Increase minimum frequency in Diopser safe mode 2022-11-29 20:53:51 +01:00
Robbert van der Helm d7acd6573a Only set parameter values on safe mode when needed
Otherwise this resets the filters every time.
2022-11-29 20:48:47 +01:00
Robbert van der Helm 035e345e21 Limit Diopser frequency range in safe mode 2022-11-29 20:45:06 +01:00
Robbert van der Helm afd8830636 Clamp scrolling in RestrictedParamSlider 2022-11-29 20:36:30 +01:00
Robbert van der Helm 3ba0ddffee Simmplify safe mode granular drag mapping 2022-11-29 20:34:02 +01:00
Robbert van der Helm 3635cfb78e Default Diopser automation precision to 100%
This is fine with the limited range.
2022-11-29 20:11:20 +01:00
Robbert van der Helm aca09c49c7 Auto-disable Diopser safe mode for older instances
Since this used to not do anything.
2022-11-29 20:00:21 +01:00
Robbert van der Helm 836a72dbc4 Implement Diopser's safe mode for filter stages
These are now limited to 40 by default.
2022-11-29 19:47:42 +01:00
Robbert van der Helm 32f123b47d Add a RestrictedParamSlider to Diopser
This currently is just a stripped down ParamSlider, but it will allow
the slider's range to be capped when safe mode is enabled.
2022-11-29 19:09:55 +01:00
Robbert van der Helm 1ef987a403 Show the modulation value in Diopser X-Y pad 2022-11-28 01:00:54 +01:00
Robbert van der Helm 1d9e7e6256 Implement Debug for parameters 2022-11-26 12:58:32 +01:00
Robbert van der Helm 4eb7614ee7 Wrap Diopser safe mode boolean in a struct
This struct will also be used to limit the parameter ranges later.
2022-11-23 01:00:45 +01:00
Robbert van der Helm 9a77bd2918 Remove old comment 2022-11-22 21:29:06 +01:00
Robbert van der Helm d9284ef0b7 Add debug assertion for custom feature namespaces 2022-11-22 21:19:17 +01:00
Robbert van der Helm 7c732e594c Document that custom features must be namespaced 2022-11-22 21:09:35 +01:00
Robbert van der Helm 82b7426689 Namespace custom CLAP features 2022-11-22 21:09:32 +01:00
Robbert van der Helm dfd0109205 Move Diopser filter stages range to a function
We'll use this in the safe mode abstraction to clamp the parameter's
range when safe mode is engaged.
2022-11-22 18:20:36 +01:00
Robbert van der Helm fc6fcf4cf5 Move Diopser param structs and helpers to module
We'll need to expose some more ranges here so we can limit the ranges in
safe mode.
2022-11-22 18:06:59 +01:00
Robbert van der Helm 26535a099d Seal the Params trait
This avoids situations like #41 where people try to implement the trait
only to find out that you simply can't.
2022-11-22 17:43:26 +01:00
Robbert van der Helm f0c6ce6e71 Update baseview with horizontal scrolling support 2022-11-22 16:27:32 +01:00
Robbert van der Helm 5e4cfb0e5a Add scrolling for the X-Y pad 2022-11-22 15:23:08 +01:00
Robbert van der Helm 753ca201a6 Support #[nested] prefixes/suffixes w/ #[persist]
This makes nested fields behave the same as nested parameters, allowing
multiple copies of a persistent field to exist.
2022-11-19 00:17:13 +01:00
Robbert van der Helm 5d9f1b109c Add test for nested #[persist] key prefixes
This has not yet been implemented.
2022-11-18 23:45:41 +01:00
Robbert van der Helm a3056713c8 Don't normalize empty buffers in Buffr Glitch 2022-11-18 19:32:52 +01:00
Robbert van der Helm cea84edceb Add a tip on stopping ringing to Diopser's readme 2022-11-18 17:58:04 +01:00
Robbert van der Helm c05bc21581 Also reset Vizia widgets on right click
Because why choose. Right click, Ctrl+click, and double click all do the
same thing now.
2022-11-18 17:53:13 +01:00
Robbert van der Helm d97e5ccd30 Actually use the correct formatter 2022-11-18 17:43:34 +01:00
Robbert van der Helm ec94dadc04 Use correct formatter for Diopser's bypass param 2022-11-18 17:42:59 +01:00
Robbert van der Helm 66e7625724 Add a border radius to X-Y pad tooltip
To match the text input box. It adds a bit of flair to a plugin that's
otherwise 100% flat with straight lines and 90 degree angles.
2022-11-18 17:38:06 +01:00
Robbert van der Helm c947d6c232 Handle shaprs in s2v_i32_note_formatter() 2022-11-18 17:26:42 +01:00
Robbert van der Helm 230ed90745 Parse XXX Hz, C4 as XXX Hz
This can happen if the user edits the output of
`v2s_f32_hz_then_khz_with_note_name()`.
2022-11-18 17:12:52 +01:00
Robbert van der Helm ef2a4d9dde Mention Alt+click on X-Y pad in new tips section 2022-11-18 17:03:20 +01:00
Robbert van der Helm 3e4c7fa99d Add Alt+click text entry for X-Y pad 2022-11-18 17:03:13 +01:00
Robbert van der Helm f7de5afcc5 Fix name in Buffr Glitch compilation instructions 2022-11-18 16:26:52 +01:00
Robbert van der Helm 11f8b242c5 Snap Diopser frequency to notes with Alt+drag 2022-11-18 16:11:54 +01:00
Robbert van der Helm 4dbc0c1a87 Mark the utils functions as inlnie
So the compiler can decide what to do with them.
2022-11-18 16:09:32 +01:00
Robbert van der Helm 6d0c1eebbe Move frequency to note number conversion to utils 2022-11-18 16:09:18 +01:00
Robbert van der Helm e5211ced4c Update vizia and baseview
This greatly improves performance on X11 as the frame pacing is now
fixed. VIZIA GUIs in debug builds also run at 3x the frame rate for me
now.
2022-11-18 15:30:11 +01:00
Robbert van der Helm 463c04c492 Add a screenshot of Diopser's new GUI
It's not entirely finished yet, but this is pretty much what it will end
up looking like.
2022-11-18 02:06:55 +01:00
Robbert van der Helm 8e9a1d1b60 Filter out DC bin in Diopser's spectrum analyzer 2022-11-18 01:41:37 +01:00