J'essaie de faire fonctionner Overtone sur mon ordinateur Windows 10. Je semble avoir trouvé un bug dans le code qui tente de démarrer le serveur de synthétiseur. Overtone dépend de SuperCollider, et il recherche l'emplacement de scsynth.exe
en regardant où SuperCollider est installé. Mais le code qui est censé vérifier à la fois C:\Program Files
et C:\Program Files (x86)
vérifie uniquement la première qui existe au lieu de deux:Liste des fichiers dans deux répertoires distincts dans Clojure
(import java.io File)
(let [p-files-dir (System/getenv "PROGRAMFILES(X86)")
p-files-dir (or p-files-dir (System/getenv "PROGRAMFILES"))
p-files-dir (File. p-files-dir)
p-files (map str (.listFiles p-files-dir))
p-files])
Dans mon cas, les deux répertoires existent, mais SuperCollider existe que dans C:\Program Files
. L'extrait ci-dessus répertorie uniquement les fichiers dans C:\Program Files (x86)
.
Comment puis-je obtenir ce code pour retourner tous les fichiers dans les deux répertoires, et ne pas rompre quand il n'existe pas?
Parfait! Je suis vraiment surpris que '(some->' gère correctement les environnements invalides. –