fix: real preset data for all VST2/VST3 plugins, template system with ground-truth registry
- Extracted preset data from all_plugins_v2.rpp for 14 previously broken plugins - Fixed PLUGIN_REGISTRY entries: Kontakt 7, Gullfoss, ValhallaDelay, VC 160/76, The Glue - Template parser falls back to PLUGIN_PRESETS when source RPP has fake data - Substitute Transient Master (not installed) with FabFilter Pro-C 2 - All 25 plugins now load correctly in REAPER - Added template generator scripts and ground truth references - Cleaned up temp/debug files from output/
This commit is contained in:
@@ -337,7 +337,7 @@ class TestVST3GUIDPresence:
|
||||
# Must contain the GUID token from VST3_REGISTRY["Serum2"]
|
||||
assert "691258006{56534558667350736572756D20320000}" in content
|
||||
# Must also contain correct display name and filename
|
||||
assert "VST3: Serum 2 (Xfer Records)" in content
|
||||
assert "VST3i: Serum 2 (Xfer Records)" in content
|
||||
assert "Serum2.vst3" in content
|
||||
finally:
|
||||
Path(tmp_path).unlink(missing_ok=True)
|
||||
@@ -361,7 +361,8 @@ class TestVST3GUIDPresence:
|
||||
# Must contain the GUID token from VST3_REGISTRY["FabFilter Pro-Q 3"]
|
||||
assert "756089518{72C4DB717A4D459AB97E51745D84B39D}" in content
|
||||
assert "VST3: Pro-Q 3 (FabFilter)" in content
|
||||
assert "FabFilter Pro-Q 3.vst3" in content
|
||||
# Filename in RPP is "FabFilter" (shared binary for all FabFilter plugins)
|
||||
assert "FabFilter 0" in content
|
||||
finally:
|
||||
Path(tmp_path).unlink(missing_ok=True)
|
||||
|
||||
@@ -424,9 +425,10 @@ class TestVST3PresetData:
|
||||
"""
|
||||
meta = SongMeta(bpm=95, key="Am", title="VST3 Preset Test")
|
||||
# Use actual filenames from registry so _build_plugin recognizes them as VST3
|
||||
from src.reaper_builder import VST3_REGISTRY
|
||||
plugins = [
|
||||
PluginDef(name=name, path=entry[1], index=i)
|
||||
for i, (name, entry) in enumerate(RPPBuilder.VST3_REGISTRY.items())
|
||||
for i, (name, entry) in enumerate(VST3_REGISTRY.items())
|
||||
]
|
||||
track = TrackDef(name="Test", clips=[], plugins=plugins)
|
||||
song = SongDefinition(meta=meta, tracks=[track])
|
||||
@@ -441,7 +443,12 @@ class TestVST3PresetData:
|
||||
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():
|
||||
from src.reaper_builder import PLUGIN_PRESETS, VST3_REGISTRY
|
||||
vst3_keys = set(VST3_REGISTRY.keys())
|
||||
for name, preset_lines in PLUGIN_PRESETS.items():
|
||||
# Only check VST3 plugins (skip VST2 plugins which are in the same dict now)
|
||||
if name not in vst3_keys:
|
||||
continue
|
||||
if len(preset_lines) > 0:
|
||||
# Check first preset line — most distinctive, no collision risk
|
||||
first_line = preset_lines[0]
|
||||
|
||||
Reference in New Issue
Block a user