   underlying metronome phase by that amount. (See the
   [documentation](https://github.com/brunchboy/afterglow/blob/master/doc/oscillators.adoc#triangle-oscillators)
   for an expanded explanation illustrated with graphs.)"
+  {:deprecated "0.1.6"}
   [& {:keys [bar-ratio phase] :or {bar-ratio 1 phase 0.0}}]
   (triangle :interval :bar :interval-ratio bar-ratio :phase phase))
 

  amount. (See the
  [documentation](https://github.com/brunchboy/afterglow/blob/master/doc/oscillators.adoc#sine-oscillators)
  for an expanded explanation illustrated with graphs.)"
  [& {:keys [bar-ratio phase] :or {bar-ratio 1 phase 0.0}}]
  (let [adjusted-phase (- phase 0.25)
        two-pi (* 2.0 Math/PI)]
    (fn [^afterglow.rhythm.MetronomeSnapshot snapshot]
      (+ 0.5 (* 0.5 (Math/sin (* two-pi (adjust-phase (rhythm/snapshot-bar-phase snapshot bar-ratio)
                                                      adjusted-phase))))))))

(defn sine-phrase
  "Returns an oscillator which generates a sine wave relative to the
  phase of the current phrase. The wave has value `0.0` at phase
  `0.0`, rising to `1.0` at phase `0.5`, and returning to `0.0`.
  Supplying a value with `:phrase-ratio` will run the oscillator at

  underlying metronome phase by that amount. (See the
  [documentation](https://github.com/brunchboy/afterglow/blob/master/doc/oscillators.adoc#triangle-oscillators)
  for an expanded explanation illustrated with graphs.)"
  {:deprecated "0.1.6"}
  [& {:keys [beat-ratio phase] :or {beat-ratio 1 phase 0.0}}]
  (triangle :interval-ratio beat-ratio :phase phase))

