         nextNode.connect(@outputGainNode)
 
       if (@analyserNode)
-        # TODO: If we want the analyser node to receive the @processorNode's output, this needs to be changed _and_
-        #       processor node needs to be modified to copy input to output. It currently doesn't because it's not
-        #       needed when doing manual encoding.
-        # @processorNode.connect(@analyserNode)
         nextNode.connect(@analyserNode)
 
       @outputGainNode.connect(@destinationNode)

      else
        @destinationNode = @audioCtx.destination


      #  Create web worker for doing the encoding
      if (!@usingMediaRecorder)
        if (@config.manualEncoderId == 'mp3')
          #  This also works and avoids weirdness imports with workers
          #  encoderWorker = new Worker(BASE_URL + '/workers/encoder-ogg-worker.js')
          # encoderWorker = createWorker(EncoderMp3)
          # encoderWorker.postMessage(['init', {baseUrl: BASE_URL, sampleRate: mediaRecorder.audioCtx.sampleRate}])
          # encoderMimeType = 'audio/mpeg'
        else if (@config.manualEncoderId == 'ogg')
          # encoderWorker = createWorker(EncoderOgg)
          # encoderWorker.postMessage(['init', {baseUrl: BASE_URL, sampleRate: mediaRecorder.audioCtx.sampleRate}])
          # encoderMimeType = 'audio/ogg'
        else
          # @encoderWorker = new Worker(WavEncoder)
          @encoderWorker = new Worker('/assets/wav-worker.js') #@createWorker('/assets/wav-worker.js')
          @encoderMimeType = 'audio/wav'

        that = this
        @encoderWorker.addEventListener('message', (e) ->

      @chunks = []
      @chunkType = null

      # cleanup
      if (@destinationNode)
        @destinationNode.disconnect()
        @destinationNode = null
