Skip to content
This repository has been archived by the owner on Sep 20, 2023. It is now read-only.
/ webchuck-ts Public archive

Webchuck is an NPM-installable version of CCRMA's WebChucK

Notifications You must be signed in to change notification settings

colesimmons/webchuck-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usage

import { Chuck } from 'webchuck'
const chuck = await Chuck.init([]);

chuck.runCode(`
  SinOsc sin => dac;
  220 => sin.freq;
  1::week => now;
`);

Note that many browsers do not let audio run without a user interaction. You can check for a suspended audio context and resume like this:

if (chuck.context.state === "suspended") {
  chuck.context.resume();
}

Class: Chuck

Hierarchy

  • AudioWorkletNode

    Chuck

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new Chuck(preloadedFiles, audioContext, wasm)

Parameters

Name Type
preloadedFiles File[]
audioContext AudioContext
wasm ArrayBuffer

Overrides

window.AudioWorkletNode.constructor

Properties

channelCount

channelCount: number

Inherited from

window.AudioWorkletNode.channelCount


channelCountMode

channelCountMode: ChannelCountMode

Inherited from

window.AudioWorkletNode.channelCountMode


channelInterpretation

channelInterpretation: ChannelInterpretation

Inherited from

window.AudioWorkletNode.channelInterpretation


chuckID

Private chuckID: number


context

Readonly context: BaseAudioContext

Inherited from

window.AudioWorkletNode.context


deferredPromiseCounter

Private deferredPromiseCounter: number = 0


deferredPromises

Private deferredPromises: Object = {}

Index signature

▪ [key: number]: any


eventCallbackCounter

Private eventCallbackCounter: number = 0


eventCallbacks

Private eventCallbacks: Object = {}

Index signature

▪ [key: number]: any


isReady

Private isReady: DeferredPromise


numberOfInputs

Readonly numberOfInputs: number

Inherited from

window.AudioWorkletNode.numberOfInputs


numberOfOutputs

Readonly numberOfOutputs: number

Inherited from

window.AudioWorkletNode.numberOfOutputs


onprocessorerror

onprocessorerror: null | (this: AudioWorkletNode, ev: Event) => any

Inherited from

window.AudioWorkletNode.onprocessorerror


parameters

Readonly parameters: AudioParamMap

Inherited from

window.AudioWorkletNode.parameters


port

Readonly port: MessagePort

Inherited from

window.AudioWorkletNode.port

Methods

addEventListener

addEventListener<K>(type, listener, options?): void

Type parameters

Name Type
K extends "processorerror"

Parameters

Name Type
type K
listener (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any
options? boolean | AddEventListenerOptions

Returns

void

Inherited from

window.AudioWorkletNode.addEventListener

addEventListener(type, listener, options?): void

Parameters

Name Type
type string
listener EventListenerOrEventListenerObject
options? boolean | AddEventListenerOptions

Returns

void

Inherited from

window.AudioWorkletNode.addEventListener


broadcastEvent

broadcastEvent(variable): void

Parameters

Name Type
variable string

Returns

void


clearChuckInstance

clearChuckInstance(): void

Returns

void


clearGlobals

clearGlobals(): void

Returns

void


connect

connect(destinationNode, output?, input?): AudioNode

Parameters

Name Type
destinationNode AudioNode
output? number
input? number

Returns

AudioNode

Inherited from

window.AudioWorkletNode.connect

connect(destinationParam, output?): void

Parameters

Name Type
destinationParam AudioParam
output? number

Returns

void

Inherited from

window.AudioWorkletNode.connect


createFile

createFile(directory, filename, data): void

Parameters

Name Type
directory string
filename string
data string

Returns

void


disconnect

disconnect(): void

Returns

void

Inherited from

window.AudioWorkletNode.disconnect

disconnect(output): void

Parameters

Name Type
output number

Returns

void

Inherited from

window.AudioWorkletNode.disconnect

disconnect(destinationNode): void

Parameters

Name Type
destinationNode AudioNode

Returns

void

Inherited from

window.AudioWorkletNode.disconnect

disconnect(destinationNode, output): void

Parameters

Name Type
destinationNode AudioNode
output number

Returns

void

Inherited from

window.AudioWorkletNode.disconnect

disconnect(destinationNode, output, input): void

Parameters

Name Type
destinationNode AudioNode
output number
input number

Returns

void

Inherited from

window.AudioWorkletNode.disconnect

disconnect(destinationParam): void

Parameters

Name Type
destinationParam AudioParam

Returns

void

Inherited from

window.AudioWorkletNode.disconnect

disconnect(destinationParam, output): void

Parameters

Name Type
destinationParam AudioParam
output number

Returns

void

Inherited from

window.AudioWorkletNode.disconnect


dispatchEvent

dispatchEvent(event): boolean

Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.

Parameters

Name Type
event Event

Returns

boolean

Inherited from

window.AudioWorkletNode.dispatchEvent


getAssociativeFloatArrayValue

getAssociativeFloatArrayValue(variable, key): any

Parameters

Name Type
variable string
key string

Returns

any


getAssociativeIntArrayValue

getAssociativeIntArrayValue(variable, key): any

Parameters

Name Type
variable string
key string

Returns

any


getFloat

getFloat(variable): any

Parameters

Name Type
variable string

Returns

any


getFloatArray

getFloatArray(variable): any

Parameters

Name Type
variable string

Returns

any


getFloatArrayValue

getFloatArrayValue(variable, index): any

Parameters

Name Type
variable string
index number

Returns

any


getInt

getInt(variable): any

Parameters

Name Type
variable string

Returns

any


getIntArray

getIntArray(variable): any

Parameters

Name Type
variable string

Returns

any


getIntArrayValue

getIntArrayValue(variable, index): any

Parameters

Name Type
variable string
index number

Returns

any


getString

getString(variable): any

Parameters

Name Type
variable string

Returns

any


isShredActive

isShredActive(shred): any

Parameters

Name Type
shred string

Returns

any


listenForEventOnce

listenForEventOnce(variable, callback): void

Parameters

Name Type
variable string
callback Promise<any>

Returns

void


nextDeferID

Private nextDeferID(): number

Returns

number


receiveMessage

Private receiveMessage(event): void

Parameters

Name Type
event MessageEvent<any>

Returns

void


removeEventListener

removeEventListener<K>(type, listener, options?): void

Type parameters

Name Type
K extends "processorerror"

Parameters

Name Type
type K
listener (this: AudioWorkletNode, ev: AudioWorkletNodeEventMap[K]) => any
options? boolean | EventListenerOptions

Returns

void

Inherited from

window.AudioWorkletNode.removeEventListener

removeEventListener(type, listener, options?): void

Parameters

Name Type
type string
listener EventListenerOrEventListenerObject
options? boolean | EventListenerOptions

Returns

void

Inherited from

window.AudioWorkletNode.removeEventListener


removeLastCode

removeLastCode(): any

Returns

any


removeShred

removeShred(shred): any

Parameters

Name Type
shred string

Returns

any


replaceCode

replaceCode(code): any

Parameters

Name Type
code string

Returns

any


replaceCodeWithReplacementDac

replaceCodeWithReplacementDac(code, dacName): any

Parameters

Name Type
code string
dacName string

Returns

any


replaceFile

replaceFile(filename): any

Parameters

Name Type
filename string

Returns

any


replaceFileWithArgs

replaceFileWithArgs(filename, colonSeparatedArgs): any

Parameters

Name Type
filename string
colonSeparatedArgs string

Returns

any


replaceFileWithArgsWithReplacementDac

replaceFileWithArgsWithReplacementDac(filename, colonSeparatedArgs, dacName): any

Parameters

Name Type
filename string
colonSeparatedArgs string
dacName string

Returns

any


replaceFileWithReplacementDac

replaceFileWithReplacementDac(filename, dacName): any

Parameters

Name Type
filename string
dacName string

Returns

any


runCode

runCode(code): any

Parameters

Name Type
code string

Returns

any


runCodeWithReplacementDac

runCodeWithReplacementDac(code, dacName): any

Parameters

Name Type
code string
dacName string

Returns

any


runFile

runFile(filename): any

Parameters

Name Type
filename string

Returns

any


runFileWithArgs

runFileWithArgs(filename, colonSeparatedArgs): any

Parameters

Name Type
filename string
colonSeparatedArgs string

Returns

any


runFileWithArgsWithReplacementDac

runFileWithArgsWithReplacementDac(filename, colonSeparatedArgs, dacName): any

Parameters

Name Type
filename string
colonSeparatedArgs string
dacName string

Returns

any


runFileWithReplacementDac

runFileWithReplacementDac(filename, dacName): any

Parameters

Name Type
filename string
dacName string

Returns

any


sendMessage

Private sendMessage(type, body?): void

Parameters

Name Type
type OutMessage
body? Object

Returns

void


setAssociativeFloatArrayValue

setAssociativeFloatArrayValue(variable, key, value): void

Parameters

Name Type
variable string
key string
value number

Returns

void


setAssociativeIntArrayValue

setAssociativeIntArrayValue(variable, key, value): void

Parameters

Name Type
variable string
key string
value string

Returns

void


setFloat

setFloat(variable, value): void

Parameters

Name Type
variable string
value number

Returns

void


setFloatArray

setFloatArray(variable, values): void

Parameters

Name Type
variable string
values number[]

Returns

void


setFloatArrayValue

setFloatArrayValue(variable, index, value): void

Parameters

Name Type
variable string
index number
value number

Returns

void


setInt

setInt(variable, value): void

Parameters

Name Type
variable string
value number

Returns

void


setIntArray

setIntArray(variable, values): void

Parameters

Name Type
variable string
values number[]

Returns

void


setIntArrayValue

setIntArrayValue(variable, index, value): void

Parameters

Name Type
variable string
index number
value number[]

Returns

void


setString

setString(variable, value): void

Parameters

Name Type
variable string
value string

Returns

void


signalEvent

signalEvent(variable): void

Parameters

Name Type
variable string

Returns

void


startListeningForEvent

startListeningForEvent(variable, callback): number

Parameters

Name Type
variable string
callback Promise<any>

Returns

number


stopListeningForEvent

stopListeningForEvent(variable, callbackID): void

Parameters

Name Type
variable string
callbackID number

Returns

void


init

Static init(filenamesToPreload): Promise<Chuck>

Parameters

Name Type
filenamesToPreload Filename[]

Returns

Promise<Chuck>


Class: DeferredPromise

Table of contents

Constructors

Properties

Constructors

constructor

new DeferredPromise()

Properties

promise

Readonly promise: Promise<any>


reject

reject: undefined | () => void


resolve

resolve: undefined | (value?: any) => void

About

Webchuck is an NPM-installable version of CCRMA's WebChucK

Resources

Stars

Watchers

Forks

Packages

No packages published