 (defn load-samples
   "Takes a directoy path or glob path (see #'overtone.helpers.file/glob) and
   loads up all matching samples and returns a seq of maps representing
-  information for each loaded sample (see load-sample)"
+  information for each loaded sample (see load-sample). Samples should be in
+  .aiff or .wav format."
   [& path-glob]
   (let [path  (apply mk-path path-glob)
         path  (resolve-tilde-path path)

        sample))))

(defn load-sample
  "Synchronously load a wav file into a memory buffer. Returns the buffer.

    ; load a sample a
    (load-sample \"/home/rosejn/studio/samples/kit/boom.wav\")

  Takes optional params :start and :size. Allocates buffer to number of channels
  of file and number of samples requested (:size), or fewer if sound file is

;; Samples are just audio files loaded into a buffer, so buffer
;; functions work on samples too.
(derive ::sample :overtone.sc.buffer/buffer)
(derive ::playable-sample ::sample)

(defn sample
  "Loads a .wav or .aiff file into a memory buffer. Returns a function capable
   of playing that sample.

   ; e.g.
   (sample \"~/music/samples/flibble.wav\")

  "
  [path & args]
