1
0
Fork 0
Commit graph

1874 commits

Author SHA1 Message Date
Robbert van der Helm b8593b03f4 Inline the nih_plug::debug macro docstrings
This makes it easier to browse the module in rustdoc.
2022-09-29 16:50:13 +02:00
Robbert van der Helm cba0bdc21d Document the logging module 2022-09-29 16:46:33 +02:00
Simon Leiner 0bb5662770 Remove dead code 2022-09-29 15:13:43 +02:00
Simon Leiner 2402eada05 Fix typos in productive cod 2022-09-29 15:13:43 +02:00
Simon Leiner 67808fd9ae Fix typos in test names 2022-09-29 15:13:43 +02:00
Simon Leiner 0caef90b1a Fix typos in comments 2022-09-29 15:13:43 +02:00
Simon Leiner f4995abf88 Fix typos in documentation 2022-09-29 15:13:43 +02:00
joshnatis d1600a9dce Fix link to disabling Gatekeeper in README.md
Not sure what happened with the Markdown here :P
2022-09-29 03:37:19 +02:00
Simon Leiner 958767acf2 Fix off-by-1 error in VST3 parameter range
Running the VST3 SDK Validator [1] for the midi_inverter plugin shows
one failing test:

    [Scan Parameters]
    Info:  ===Scan Parameters ====================================
    Info:  This component exports 2080 parameter(s)
    Info:     Parameter 000 (id=2147481569): [title="MIDI Ch. 1 CC 0"] [unit=""] [type = F, default = 0.000000, unit = 0]
    Info:     Parameter 001 (id=2147481570): [title="MIDI Ch. 1 CC 1"] [unit=""] [type = F, default = 0.000000, unit = 0]
    Info:     Parameter 002 (id=2147481571): [title="MIDI Ch. 1 CC 2"] [unit=""] [type = F, default = 0.000000, unit = 0]

[...]

    Info:     Parameter 2077 (id=2147483646): [title="MIDI Ch. 16 CC 127"] [unit=""] [type = F, default = 0.000000, unit = 0]
    Info:     Parameter 2078 (id=2147483647): [title="MIDI Ch. 16 Channel Pressure"] [unit=""] [type = F, default = 0.000000, unit = 0]
    ERROR: =>Parameter 2079 (id=-2147483648): Invalid Id!!!
    [XXXXXXX Failed]

The relevant part of the test code [2] looks like this:

    int32 paramId = paramInfo.id;
    if (paramId < 0)
    {
        // Error
    }

This shows that the parameter ID must be INT32_MAX = (1 << 31) - 1 at
most. As far as I see, even Steinberg's own documentation [3] gets
this wrong.

[1]: 55d7ed3c6a/samples/vst-hosting/validator
[2]: 55d7ed3c6a/source/vst/testsuite/general/scanparameters.cpp (L100)
[3]: https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/Parameters+Automation/Index.html
2022-09-29 00:24:41 +02:00
Robbert van der Helm fae7050113 Add helper to compensate smoother for oversampling 2022-09-25 17:37:25 +02:00
Robbert van der Helm ccff4f1444 Change macOS test runner to macOS 11
They're disabling the macOS 10.15 runner:

https://github.com/actions/runner-images/issues/5583
2022-09-23 16:35:34 +02:00
Robbert van der Helm 6ffdfc009f Update readme 2022-09-23 16:11:17 +02:00
Robbert van der Helm ca22806f8c Fix double click handling after Vizia update 2022-09-22 20:07:04 +02:00
Robbert van der Helm 85543e1668 Update Vizia 2022-09-22 19:53:21 +02:00
Robbert van der Helm 21078bcae0 Fix Vizia resize handle for HiDPI windows 2022-09-22 19:48:08 +02:00
Robbert van der Helm d3fe4c0d06 Use upstream egui-baseview
Now that all patches have been merged.
2022-09-22 19:42:03 +02:00
Robbert van der Helm fff713d066 Fix resizing with HiDPI standalones 2022-09-22 19:36:43 +02:00
Robbert van der Helm e4d1ad39ab Remove old todo 2022-09-22 17:39:22 +02:00
Robbert van der Helm 347cbae430 Use egui's own redraw forcing function 2022-09-22 17:08:17 +02:00
Robbert van der Helm 51b8f64092 Update nih_plug_egui from egui 0.17 to egui 0.19 2022-09-22 15:35:51 +02:00
Robbert van der Helm b008f129f2
Merge pull request #33 from geom3trik/param-slider-update
Move ParamSliderInternal variables to ParamSlider [vizia]
2022-09-21 19:23:25 +02:00
George Atkinson ec79bb36be Fix some spelling errors 2022-09-21 17:32:24 +01:00
George Atkinson eb33a55fcc Move ParamSliderInternal variables to ParamSlider 2022-09-21 17:30:02 +01:00
Robbert van der Helm 269c2a51e1 Re-enable assert_process_allocs for gain_gui_egui 2022-09-21 16:25:07 +02:00
Robbert van der Helm eb11da731d Enable the standalone for gain_gui_egui 2022-09-21 16:11:17 +02:00
Robbert van der Helm 16010c076c Target macOS 10.13 on the CI 2022-09-15 14:27:51 +02:00
Robbert van der Helm 45b609791d Create bundle metadata for universal binaries 2022-09-15 13:28:26 +02:00
Robbert van der Helm 0475c7000b Add support for building universal macOS binaries
This resolves #17.
2022-09-15 03:48:12 +02:00
Robbert van der Helm a51c359c0b Fix Spectral Compressor high frequency rolloff 2022-09-15 01:39:16 +02:00
Robbert van der Helm 5ac9c32c19 Fix SC high freq rolloff at 22.05 kHz
This prevents the effect from getting brighter as you increase the
sample rate.
2022-09-14 17:47:07 +02:00
Robbert van der Helm 374dfc9052 Clarify you can pass other options to xtask 2022-09-14 15:11:04 +02:00
Robbert van der Helm 963d1bd14f Fix bar start position calculation 2022-09-12 14:17:06 +02:00
Robbert van der Helm 5fa2382c8c Add a Spectral Compressor todo for rolloff 2022-09-12 02:42:43 +02:00
Robbert van der Helm b883a611ab Fix resizing aux input storage on buffer size
This nested `resize_with()` of course wouldn't resize the inner vectors
of the outer ones were already the correct size.
2022-09-11 16:41:31 +02:00
Robbert van der Helm 4c9a2726f3 Fix s2v_bool_bypass() 2022-09-07 20:43:47 +02:00
Robbert van der Helm c980fe2b4b Add backtraces for allocation failures #30 2022-09-07 20:02:35 +02:00
Robbert van der Helm cf72a796f4 Fix GUI context state loading in standalones 2022-09-07 18:38:07 +02:00
Robbert van der Helm 910a90d47a Respect assert_process_allocs in standalones
This fixes #29.
2022-09-07 18:29:58 +02:00
Robbert van der Helm 591f3710bd Add missing reset call to standalone init
The plugin versions also do this, and the docs mention that this always
happens.
2022-09-07 18:23:36 +02:00
Robbert van der Helm 997249a293 Notify about unsupported aux IO in standalones
None of the backends support this at the moment.
2022-09-07 15:58:09 +02:00
Robbert van der Helm 9536842a15 Only show CPAL MIDI support warning if applicable 2022-09-07 15:55:36 +02:00
Robbert van der Helm c566888fa3 💥 Use interior mutability for parameters
Instead of the previous technically-unsound approach. While it wouldn't
cause any issues in practice, it did break Rust's guarantees. That was a
design choice after adding support for editors in NIH-plug, but this is
probably the better long term solution.

The downside is that all uses of `param.value` now need to be changed to
`param.value()`.
2022-09-06 21:57:24 +02:00
Robbert van der Helm 5966e353da Use only interior mutability for smoothers
This is needed in preparation for removing the need to have `*mut`
pointers to parameters.
2022-09-06 21:21:46 +02:00
Robbert van der Helm 7f33f172cb Clean up optimized block smoothing
This is easier to follow and avoids computing and subsequently
overwriting the last smoothed value.
2022-09-05 14:00:56 +02:00
Robbert van der Helm a21daef96b Redesign mapped block smoothing
The non-mapped version is now split off and the mapped version is much
better suited for array based modulation. Check the breaking changes
document and the new docstring for more information.
2022-09-04 20:17:06 +02:00
Robbert van der Helm 99437c6011 Optimize block smoothing 2022-09-04 19:52:17 +02:00
Robbert van der Helm cd02ebb839 Use less arbitrary decay weights for the gain GUIs
This solves the same problem as #27 but in a cleaner way. The previous
commits refactored the smoothing to make it possible to use the
calculations in plugin code to do the same thing as #27, but then I
realized that that doesn't make much sense since the time to decay into
complete silence isn't very meaningful for this kind of computation.
2022-09-04 19:09:22 +02:00
Robbert van der Helm 3a9d56e956 Rename step_size() current parameter to start 2022-09-04 18:40:18 +02:00
Robbert van der Helm 8e17972da5 Also move num steps computation to SmoothingStyle 2022-09-04 18:26:36 +02:00
Robbert van der Helm bb6e9c237f Add equivalence tests for next() and next_step() 2022-09-04 18:20:51 +02:00