From a09a30c79df6f073d37d01e4f057f404ef4a11b4 Mon Sep 17 00:00:00 2001 From: locpham Date: Sat, 22 Aug 2026 03:49:03 +0000 Subject: [PATCH] =?UTF-8?q?fix(available):=20=5Fscan=5Fplugins=20bo=20qua?= =?UTF-8?q?=20file=20.dll=20ben=20trong=20folder=20.vst3=20=E2=80=94=20FX?= =?UTF-8?q?=20Ozone/Neutron=20khong=20con=20lot=20vao=20nut=20Synth=20(2/2?= =?UTF-8?q?,=20dong=20bo=20=5Fscan=5Fvst=5Fin=5Fdirs)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/vst_engine.py | 7 +++++++ 1 file changed, 7 insertions(+) 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"):