summaryrefslogtreecommitdiff
path: root/client/lib/organ.js
blob: fe2315c5935a86dc508670d9fae786087d0fc5a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import Tone from 'tone'
import { choice } from './util'
import output from './output'

const player_count = 4

const oscillators = {}

function play (freq) {
  const osc = oscillators[freq] = oscillators[freq] || {}
  if (!osc.el) {
    osc.el = new Tone.Oscillator(freq , "sine")
    osc.el.connect(output)
  }
  osc.el.start()
  osc.playing = true
  return osc
}
function pause(freq) {
  const osc = oscillators[freq] = oscillators[freq] || {}
  osc.el && osc.el.stop()
  osc.playing = false
  return osc
}

export default { play, pause, oscillators }