feat: expand VST3 registry to 52 plugins and remove unrecognized tokens

- Add 42 new VST3 plugins to registry (FabFilter, Ozone 12, Diva, Pigments,
  Electra, Kontakt 7, Gullfoss, Trackspacer, ShaperBox, VC series, Arcade)
- Remove RENDER_CFG, PROJBAY, WAK tokens that caused REAPER warnings
- GUIDs sourced from REAPER scan file (reaper-vstplugins64.ini)
- New plugins have empty preset data (to be extracted incrementally)
- 72 tests passing
This commit is contained in:
renato97
2026-05-03 14:22:18 -03:00
parent 53741b48b6
commit d5c2490a05
2 changed files with 286 additions and 8 deletions

View File

@@ -416,8 +416,12 @@ class TestVST3PresetData:
finally:
Path(tmp_path).unlink(missing_ok=True)
def test_all_registry_plugins_have_preset_data(self):
"""All 10 VST3 plugins in VST3_REGISTRY have preset data."""
def test_registry_plugins_with_preset_data_are_in_output(self):
"""VST3 plugins with non-empty preset data include that data in output.
New plugins added with empty preset lists ([]) are handled gracefully —
vst3_element() only appends preset lines when preset_data is truthy.
"""
meta = SongMeta(bpm=95, key="Am", title="VST3 Preset Test")
# Use actual filenames from registry so _build_plugin recognizes them as VST3
plugins = [
@@ -436,10 +440,11 @@ class TestVST3PresetData:
try:
builder.write(tmp_path)
content = Path(tmp_path).read_text(encoding="utf-8")
# Check that plugins WITH preset data have that data in output
for name, preset_lines in RPPBuilder.VST3_PRESETS.items():
assert len(preset_lines) > 0, f"{name} has no preset lines"
# Check first preset line — most distinctive, no collision risk
first_line = preset_lines[0]
assert first_line in content, f"{name} preset line not found in output"
if len(preset_lines) > 0:
# Check first preset line — most distinctive, no collision risk
first_line = preset_lines[0]
assert first_line in content, f"{name} preset line not found in output"
finally:
Path(tmp_path).unlink(missing_ok=True)