diff --git a/app/core/vst_engine.py b/app/core/vst_engine.py index 4746dae..72c276e 100644 --- a/app/core/vst_engine.py +++ b/app/core/vst_engine.py @@ -323,6 +323,13 @@ class PluginManager: for d in list(dirs): if d.lower().endswith(".vst3"): plugins[os.path.splitext(d)[0]] = os.path.join(root, d) + # Bỏ qua file NẰM TRONG folder .vst3 (vd ...\Ozone Pro.vst3\ + # iZOzonePro.dll): folder .vst3 đã là 1 plugin — file .dll bên + # trong tạo entry TRÙNG path khác (không khớp block set của + # list_scan_all → FX Ozone/Neutron lọt vào nút Synth). + if any(p.lower().endswith(".vst3") + for p in root.replace("/", os.sep).split(os.sep)): + continue for file in files: low = file.lower() if low.endswith(".vst3") or low.endswith(".so") or low.endswith(".dll"):