 
 
 (defn format-show-save
+  "Takes file path, show name, and date.
+   Returns a string with the outgoing show filename and path, with ogg extension"
   [path name date]
   (format "%s/%s-%s.ogg"  path date name))
 
 
 (defn gen-command-line
-  "Takes a file glob, returns the string command to process it"
+  "Takes a concatenating file command full path (cmd-path),
+  the path to where the output file is to be saved,
+  and a file glob (name, date, filenames)
+  Returns the string shell command to concatenate all the filenames,
+  to the output dir, named properly with name and date."
   [cmd-path path {:keys [name date filenames]}]
   (let [cmd (format "cat %s | %s > %s"
                     (umisc/inter-str " " filenames)



(defn revision-info
  []
  (let [{:keys [version revision]} (ujava/get-project-properties "defragment" "defragment")]
    (format "Version: %s, Revision %s" version revision)))



;; TODO: protocol maybe?
;; unused, but might be needed later
#_(defn header->vec
    "Takes array of CommentFields and translates to a proper Clojure vector"
    [hs]
    (for [^CommentField h hs]
      [(-> h .name s/lower-case keyword) (.value h)]))


(defn album-mover
  "Returns a CommentUpdater for use with JVorbisComment,
   for updating comments in place,
   which moves any ALBUM tags to ARTIST, removing any
   ARTIST tags which might have been there.
   Necessary because liquidsoap is broken and won't save
   anything but artist in filename, and we've cleaned the artist
   to make it a legal unix filename, so the real show name with
   unescaped characters is stashed in ALBUM instead, and must be
   recovered here."
  []
  (reify CommentUpdater
    (updateComments [this comments]
