Thanks @xigoi . One compilation error remains: `Error: attempting to call 
undeclared routine: 'then'`.

Code here:
    
    
    import dom
    import webaudio
    import std/asyncjs
    import std/jsconsole
    import std/sugar
    
    proc createNoiseProcessor(c : AudioContext) : Future[AudioNode] {.async.} =
      discard await c.audioWorklet.addModule("worklets/random-noise.js")
      result = newAudioWorkletNode(c, "random-noise")
    
    window.addEventListener("click") do(e: Event) :
      var ctx : AudioContext = newAudioContext()
      createNoiseProcessor(ctx).then((noise : AudioNode) => (
        noise.connect(ctx.destination)
      ))
      ctx.resume()
    
    
    
    Run

Reply via email to