fix(available): bo qua .dll trong thu muc da co .vst3 (iZotope installs .vst3 + module .dll cung thu muc) — FX khong con lot vao nut Synth (3/3)

This commit is contained in:
2026-08-22 03:57:14 +00:00
parent a09a30c79d
commit aaf97b1255
2 changed files with 26 additions and 4 deletions
+14 -3
View File
@@ -291,14 +291,25 @@ def _scan_vst_in_dirs(dirs: list) -> list:
}
if _inside_vst3_bundle(root):
continue # file bên trong bundle VST3 — không phải plugin riêng
# iZotope cài kiểu: thư mục chứa CẢ file .vst3 lẫn file .dll
# (iZOzonePro.dll là module/dependency — bridge scan chỉ nhận
# .vst3 là FX). Thư mục có file .vst3 → bỏ qua .dll (VST2 thật
# như Kong Audio vẫn giữ vì thư mục không có .vst3).
has_vst3_file = any(f.lower().endswith(".vst3") for f in files)
for f in files:
low = f.lower()
if low.endswith(".vst3") or low.endswith(".dll") or low.endswith(".so"):
if low.endswith(".vst3") or low.endswith(".so"):
name = os.path.splitext(f)[0]
if name not in found:
found[name] = {
"id": name, "name": name,
"type": "VST3" if low.endswith(".vst3") else "VST2",
"id": name, "name": name, "type": "VST3",
"path": os.path.join(root, f),
}
elif low.endswith(".dll") and not has_vst3_file:
name = os.path.splitext(f)[0]
if name not in found:
found[name] = {
"id": name, "name": name, "type": "VST2",
"path": os.path.join(root, f),
}
return list(found.values())