   ([]
    (slimpar-hex3-irc :12-channel))
   ([mode & {:keys [mix-amber mix-uv] :or {mix-amber true mix-uv true}}]
-   (assoc (case mode
+   (let [base (case mode
             ;; TODO: missing channels once we have definition support for them
             :12-channel {:channels [(chan/dimmer 1) (chan/color 2 :red) (chan/color 3 :green) (chan/color 4 :blue)
                                     (chan/color 5 :amber :hue (when mix-amber 45)) (chan/color 6 :white)

(ns afterglow.fixtures.chauvet
  "Models for fixtures provided by [Chauvet Lighting](http://www.chauvetlighting.com)."
  {:doc/format :markdown}
  (:require [afterglow.channels :as chan]))

;; TODO: functions for rotational tranformatons


                                   (chan/color 7 :uv :label "UV" :hue (when mix-uv 270))]}
            :6-channel {:channels [(chan/color 1 :red) (chan/color 2 :green) (chan/color 3 :blue)
                                   (chan/color 4 :amber :hue (when mix-amber 45)) (chan/color 5 :white)
                                   (chan/color 6 :uv :label "UV" :hue (when mix-uv 270))]})]
     (assoc (index-functions base)
            :name "Chauvet SlimPAR Hex 3 IRC"
            :mode mode))))
