title: Listing files in two separate directories in Clojure
body: <p>I'm trying to get Overtone to work on my Windows 10 machine. I seem to have found a bug in the code that attempts to start the synthesizer server. Overtone depends on SuperCollider, and it looks up the location of <code>scsynth.exe</code> by looking at where SuperCollider is installed. But the code that is supposed to check both <code>C:\Program Files</code> and <code>C:\Program Files (x86)</code> only checks the first one that exists instead of both:</p>
  
  <pre><code>(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])
  </code></pre>
  
  <p>In my case, both directories exist, but SuperCollider only exists in <code>C:\Program Files</code>. The snippet above only lists files in <code>C:\Program Files (x86)</code>.</p>
  
  <p>How do I get this code to return all of the files in <em>both</em> directories, and not break when one doesn't exist?</p>