                                         fixtures
                                         :effect-name effect-name))
                          :color color
-                         :variables [{:key "beats" :min 1 :max 32 :type :integer :start :starting-beats :name "Beats"}
-                                     {:key "cycles" :min 1 :max 10 :type :integer :start :starting-cycles
-                                      :name "Cycles"}
-                                     {:key "phase" :min 0 :max 1 :start :starting-phase :name "Phase"}]
+                         :variables [{:key "beats" :min 1 :max 32 :type :integer :start 2 :name "Beats"}
+                                     {:key "cycles" :min 1 :max 10 :type :integer :start 1 :name "Cycles"}
+                                     {:key "phase" :min 0 :max 1 :start 0 :name "Phase"}]
                          :end-keys end-keys))))
 
-(defn make-sine-cue
+(defn make-sine-dimmer-cue
   "Create a cue which applies a sine oscillator to the dimmers of the
-  specified set of fixtures, with cue parameters to adjust the beat
-  ratio, starting with default values established by show parameters."
+  specified set of fixtures, with cue variables to adjust the
+  oscillator parameters."
   [group x y color]
   (let [[effect-key fixtures end-keys effect-name] (build-group-cue-elements group "dimmers" "sine")]
     (ct/set-cue! (:cue-grid *show*) x y

                           :variables [{:key "chance" :min 0.0 :max 0.4 :start 0.05 :velocity true}
                                       {:key "fade-time" :name "Fade" :min 1 :max 2000 :start 50 :type :integer}]))


    ;; Set up default starting values for oscillators driving dimmer cues
    (when-not (= (type (show/get-variable :starting-beats)) Long)
      ;; If the default beat ratio numerator has not yet been set, establish it as 2
      (show/set-variable! :starting-beats 2))
    (when-not (= (type (show/get-variable :starting-cycles)) Long)
      ;; If the default beat ratio denominator has not yet been set, establish it as 1
      (show/set-variable! :starting-cycles 1))
    (when-not (= (type (show/get-variable :starting-phase)) Double)
      ;; If the default pulse phase has not yet been set, establish it as 0.0
      (show/set-variable! :starting-phase 0.0))
    (when-not (= (type (show/get-variable :sawtooth-down?)) Boolean)
      ;; If the default sawtooth direction has not yet been set, establish it as down
      (show/set-variable! :sawtooth-down? true))
    (when-not (= (type (show/get-variable :starting-width)) Double)
      ;; If the default pulse width has not yet been set, establish it as 0.5
      (show/set-variable! :starting-width 0.5))

    ;; Dimmer oscillator cues: Sawtooth
    (make-sawtooth-cue nil 0 3 :yellow)
    (doall (map-indexed (fn [i group] (make-sawtooth-cue group (inc i) 3 :orange)) light-groups))

    (ct/set-cue! (:cue-grid *show*) 7 3
                 (cues/cue :sawtooth-down? (fn [_] (var-fx/variable-effect @var-binder :sawtooth-down? false))
                           :color :red :short-name "Saw Up"))

    ;; Dimmer oscillator cues: Triangle
    (make-triangle-cue nil 0 4 :orange)
    (doall (map-indexed (fn [i group] (make-triangle-cue group (inc i) 4 :red)) light-groups))

    ;; Dimmer oscillator cues: Sine
    (make-sine-cue nil 0 5 :cyan)
    (doall (map-indexed (fn [i group] (make-sine-cue group (inc i) 5 :blue)) light-groups))

    (ct/set-cue! (:cue-grid *show*) 7 5
                 (cues/cue :beat-ratio
                           (fn [_] (fx/blank "Starting Ratio"))
                           :variables [{:key :starting-beats :min 1 :max 32 :type :integer :name "Beats"}
                                       {:key :starting-cycles :min 1 :max 10 :type :integer :name "Cycles"}]))

    ;; Dimmer oscillator cues: Square
    (make-square-cue nil 0 6 :cyan)
    (doall (map-indexed (fn [i group] (make-square-cue group (inc i) 6 :green)) light-groups))

    (ct/set-cue! (:cue-grid *show*) 7 6
                 (cues/cue :beat-ratio
                           (fn [_] (fx/blank "Starting Shape"))
                           :variables [{:key :starting-width :min 0 :max 1 :name "Width"}
                                     {:key :starting-phase :min 0 :max 1 :name "Phase"}]))

    ;; Strobe cues
    (make-strobe-cue-2 "All" (show/all-fixtures) 0 7)

                                        fixtures
                                        :effect-name effect-name))
                         :color color
                         :variables [{:key "beats" :min 1 :max 32 :type :integer :start 2 :name "Beats"}
                                     {:key "width" :min 0 :max 1 :start 0.5 :name "Width"}
                                     {:key "cycles" :min 1 :max 10 :type :integer :start 1 :name "Cycles"}
                                     {:key "phase" :min 0 :max 1 :start 0 :name "Phase"}]
                         :end-keys end-keys))))

(defn x-phase
