fix(rig-builder): final leveler never found on installs using the downloaded VST pack - #61
Conversation
…nloaded VST pack _final_leveler_vst_path() only checked _plugin_dir/vst (the bundle shipped inside the plugin's own directory) and never _downloaded_vst_root() (where the opt-in per-platform VST pack actually installs - see _download_vst_pack/_vst_search_roots, which every OTHER VST lookup in this file correctly checks against both roots). On any install whose bundled effects came from the VST-pack download rather than a plugin.zip that already contained vst/, this always returned None - the final leveler (the AGC + brickwall limiter that normalizes loudness and is the only safety net against a hot chain) was silently missing from every generated chain. native_preset_full's `missing` list does report the gap, but nothing in the UI calls out that specific entry as "your loudness safety net is off," so the practical symptom was just: every tone plays at raw, unprotected level - no normalization, no limiting. Reported as tones being blown out/clipping "way too loud," not close to how the same NAM captures sound in a standalone host. Fix: search the same roots _vst_search_roots() already uses (bundled + downloaded), matching how every other VST reference in this file resolves.
|
Warning Review limit reached
Next review available in: 30 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
_final_leveler_vst_path()only checked_plugin_dir/vst(the bundle shipped inside the plugin's own installed directory) and never_downloaded_vst_root()(config_dir/nam_rig_builder/vst, where the opt-in per-platform VST pack from/download_vst_packactually installs). Every OTHER VST lookup in this file correctly searches both roots via_vst_search_roots()- this one didn't.Impact
On any install whose bundled effects came from the VST-pack download rather than a
plugin.zipthat already bundledvst/inside the plugin directory, this always returnedNone- the final leveler (the AGC + brickwall limiter that normalizes loudness and is the only safety net against a hot chain) was silently missing from every generated chain.native_preset_full'smissinglist does correctly report the gap ("missing": ["vst acks\RB Final Leveler.vst3"]), but nothing in the UI calls out that specific entry as "your loudness safety net is off." The practical, user-visible symptom: every tone plays at raw, unprotected level - no loudness normalization, no limiting. Reported as tones being blown-out/clipping "way too loud," not close to how the same NAM captures sound loaded in a standalone host - which makes total sense once you realize the limiter that's supposed to catch exactly that was never actually in the signal path.Confirmed live:
native_preset_fullfor a real installed-via-download-pack setup showedvst_stage_count: 0, "missing": ["vst acks\RB Final Leveler.vst3"]before the fix, andvst_stage_count: 1, "missing": [](with the leveler VST stage present in the chain) after.Fix
Search the same roots
_vst_search_roots()already uses (bundled_plugin_dir/vst+ downloaded_downloaded_vst_root()), matching how every other VST reference in this file resolves a bundled plugin path.Test plan
vst/only exists via the downloaded pack (not bundled in the plugin directory), load any tone and confirmnative_preset_full's chain includes anRB Final Levelerstage withslot: "master_post".