   (synth context at duration))
 
 (defn destination [context at duration]
-  (section (.-destination context)))
+  (sink (.-destination context)))
 
 (defn plug [param input context at duration]
   "Plug an input into an audio parameter, accepting both numbers and synths."

(defn oscillator
  [type freq]
  (fn [context at duration]
    (section
      (doto (.createOscillator context)
        (-> .-frequency .-value (set! 0))
        (-> .-frequency (plug freq context at duration))

(ns klangmeister.sound.synthesis)

; Definitions

(defn section
  ([input output] {:input input :output output})
  ([singleton] (section singleton singleton)))

(defn generator
  "A graph of synthesis nodes without an input, so another graph can't connect to it."
  [node]
  (section nil node))

(defn sink
  "A graph of synthesis nodes without an output, so it can't connect to another graph."
  [node]
  (section node nil))

; Plumbing

