scheduler-node

Sample perfect Audioworklet MIDI Scheduler Node
npm i scheduler-node
|
pnpm add scheduler-node
|
yarn add scheduler-node
|
API
# Clock
# constructor()
# buffer = ...
# coeff
# internalTime
# offsetFrame
# SchedulerEvent
# constructor(data)
# id = ...
# midiEvent = ...
# toJSON()
}
# SchedulerEventGroup
# constructor(eventGroup)
# id = ...
# loopPoints = ...
# onRequestNotes
# scheduler
# targets = ...
# loop
# loopEnd
# loopStart
# setMidiEvents(turnEvents, turn, clear)
# turnEvents
# turn = 0
# clear
setMidiEvents(turnEvents, turn, clear) =>
# setNotes(turnNotes, turn, clear)
# turnNotes
# turn = 0
# clear
setNotes(turnNotes, turn, clear) =>
# toJSON()
# SchedulerEventGroupNode
# constructor(schedulerNode)
# eventGroup = ...
# onconnectchange
# schedulerNode
# targetNodes = ...
# clear()
# connect(targetNode)
# destroy()
# disconnect(targetNode)
# targetNode
disconnect(targetNode) =>
# resume(targetNode)
# suspend(targetNode)
# SchedulerNode
# constructor(context)
# context
# eventGroups = ...
# node
# targetNodes = ...
# worklet
# addEventGroup(eventGroup)
# eventGroup
addEventGroup(eventGroup) =>
# connect(targetNode)
# disconnect(targetNode)
# targetNode
disconnect(targetNode) =>
# removeEventGroup(eventGroup)
# eventGroup
removeEventGroup(eventGroup) =>
# requestNextEvents(eventGroupId, turn, total)
# eventGroupId
# turn = 0
# total = 4
requestNextEvents(eventGroupId, turn, total) =>
# setBpm(bpm)
# setClockBuffer(clockBuffer)
# clockBuffer
setClockBuffer(clockBuffer) =>
# start(playbackStartTime, offsetStartTime)
# playbackStartTime
# offsetStartTime
start(playbackStartTime, offsetStartTime) =>
# stop()
# create(context)
# register(context)
# SchedulerTarget
# constructor(data)
# id = ...
# midiQueue = ...
# SchedulerTargetNode
# constructor(context, name, options)
# new SchedulerTargetNode()
# id = ...
# schedulerTarget = ...
# worklet
# init()
# processMidiEvent(midiEvent)
# midiEvent
processMidiEvent(midiEvent) =>
# SchedulerSyncedSetPayload
# LoopKind
# LoopKind = ...
Credits
-
alice-bob by
stagas – transport agnostic strongly typed duplex rpc interfaces
-
event-toolkit by
stagas – Toolkit for DOM events.
-
everyday-types by
stagas – Everyday utility types
-
everyday-utils by
stagas – Everyday utilities
-
immutable-map-set by
stagas – Immutable Map and Set objects
-
json-objectify by
stagas – Like JSON.stringify but without the stringify part.
-
serialize-whatever by
stagas – Serialize and deserialize whatever.
-
synced-set by
stagas – Synchronize a Set collection of objects across a wire.
-
webaudio-tools by
stagas – Useful tools for WebAudio.
Contributing
Fork or edit and submit a PR.
All contributions are welcome!
License
MIT © 2023 stagas