seq-emitter
EventEmitter for Web Audio API sequencer
Installation
$ npm install seq-emitter
API
SeqEmitter
constructor(tracks: Iterator[], config = {})
- configuration for WebAudioScheduler
config.context: AudioContext
config.interval: number
config.aheadTime: number
config.timerAPI: global
- configuration for WebAudioScheduler
Instance attribute
scheduler: WebAudioScheduler
state: string
"suspended"
"running"
"closed"
Instance methods
Also implements methods from the interface EventEmitter.
start([ t0: number ]): void
stop([ t0: number ]): void
Events
*
/ Emitted when a scheduled item.type: string
playbackTime: number
trackNumber: number
- assign properties that defined on an iterator
end:all
/ Emitted when all iterators will be no more data to read.type: "end:all"
playbackTime: number
statechange
/ Emitted when state changed.type: "statechange"
playbackTime: number
state: string
Examples
; let musicIterator = type: "note" time: 000 noteNumber: 88 type: "note" time: 015 noteNumber: 91 type: "note" time: 030 noteNumber: 100 type: "note" time: 045 noteNumber: 96 type: "note" time: 060 noteNumber: 98 type: "note" time: 075 noteNumber: 103 type: "end" time: 09 Symboliterator; let audioContext = ;let sequencer = musicIterator context: audioContext ; sequencer; sequencerstartaudioContextcurrentTime;
License
MIT