UNPKG

@csound/browser

Version:

[![npm (scoped with tag)](https://shields.shivering-isles.com/npm/v/@csound/browser/latest)](https://www.npmjs.com/package/@csound/browser) [![GitHub Workflow Status](https://shields.shivering-isles.com/github/workflow/status/csound/csound/csound_wasm)](h

115 lines (99 loc) 4.83 kB
import { freeStringPtr, ptr2string, string2ptr } from "../utils/string-pointers.js"; /* csound control-events module from <csound.h> https://csound.com/docs/api/modules.html */ /** * Inputs an immediate score event * without any pre-process parsing * @function */ export const csoundInputMessage = (wasm) => (csound, scoEvent) => { const stringPtr = string2ptr(wasm, scoEvent); const result = wasm.exports["csoundInputMessage"](csound, stringPtr); freeStringPtr(wasm, stringPtr); return result; }; csoundInputMessage["toString"] = () => "inputMessage = async (scoreEvent) => Number;"; /** * Inputs an immediate score event * without any pre-process parsing * @function */ export const csoundInputMessageAsync = (wasm) => (csound, scoEvent) => { const stringPtr = string2ptr(wasm, scoEvent); const result = wasm.exports["csoundInputMessageAsync"](csound, stringPtr); freeStringPtr(wasm, stringPtr); return result; }; csoundInputMessageAsync["toString"] = () => "inputMessageAsync = async (scoreEvent) => Number;"; /** * Retrieves the value of control channel identified by channelName. * If the err argument is not NULL, the error (or success) code finding * or accessing the channel is stored in it. * @function */ export const csoundGetControlChannel = (wasm) => (csound, channelName) => { const stringPtr = string2ptr(wasm, channelName); const result = wasm.exports["csoundGetControlChannelWasi"](csound, stringPtr); freeStringPtr(wasm, stringPtr); return result; }; csoundGetControlChannel["toString"] = () => "getControlChannel = async (channelName) => Number;"; /** * Sets the value of control channel identified by channelName * @function */ export const csoundSetControlChannel = (wasm) => (csound, channelName, value) => { const stringPtr = string2ptr(wasm, channelName); wasm.exports["csoundSetControlChannel"](csound, stringPtr, value); freeStringPtr(wasm, stringPtr); }; csoundSetControlChannel["toString"] = () => "setControlChannel = async (channelName, value) => void;"; /** * Retrieves the string channel identified by channelName * @function */ export const csoundGetStringChannel = (wasm) => (csound, channelName) => { const stringPtr = string2ptr(wasm, channelName); const pointerToResult = wasm.exports["csoundGetStringChannelWasi"](csound, stringPtr); const result = ptr2string(wasm, pointerToResult); freeStringPtr(wasm, stringPtr); freeStringPtr(wasm, pointerToResult); return result; }; csoundGetStringChannel["toString"] = () => "getStringChannel = async (channelName) => String;"; /** * Sets the string channel value identified by channelName * @function */ export const csoundSetStringChannel = (wasm) => (csound, channelName, value) => { const stringPtr = string2ptr(wasm, channelName); const stringPtr2 = string2ptr(wasm, value); wasm.exports["csoundSetStringChannel"](csound, stringPtr, stringPtr2); freeStringPtr(wasm, stringPtr); freeStringPtr(wasm, stringPtr2); }; csoundSetStringChannel["toString"] = () => "setStringChannel = async (channelName, value) => void;"; // csoundGetChannelPtr (CSOUND *, MYFLT **p, const char *name, int type) // csoundListChannels (CSOUND *, controlChannelInfo_t **lst) // csoundDeleteChannelList (CSOUND *, controlChannelInfo_t *lst) // csoundSetControlChannelHints (CSOUND *, const char *name, controlChannelHints_t hints) // csoundGetControlChannelHints (CSOUND *, const char *name, controlChannelHints_t *hints) // csoundGetChannelLock (CSOUND *, const char *name) // csoundSetControlChannel (CSOUND *csound, const char *name, MYFLT val) // csoundGetChannelDatasize (CSOUND *csound, const char *name) // csoundSetInputChannelCallback (CSOUND *csound, channelCallback_t inputChannelCalback) // csoundSetOutputChannelCallback (CSOUND *csound, channelCallback_t outputChannelCalback) // csoundSetPvsChannel (CSOUND *, const PVSDATEXT *fin, const char *name) // csoundGetPvsChannel (CSOUND *csound, PVSDATEXT *fout, const char *name) // csoundScoreEvent (CSOUND *, char type, const MYFLT *pFields, long numFields) // csoundScoreEventAsync (CSOUND *, char type, const MYFLT *pFields, long numFields) // csoundScoreEventAbsolute (CSOUND *, char type, const MYFLT *pfields, long numFields, double time_ofs) // csoundScoreEventAbsoluteAsync (CSOUND *, char type, const MYFLT *pfields, long numFields, double time_ofs) // csoundKillInstance (CSOUND *csound, MYFLT instr, char *instrName, int mode, int allow_release) // csoundRegisterSenseEventCallback (CSOUND *, void(*func)(CSOUND *, void *), void *userData) // csoundKeyPress (CSOUND *, char c) // csoundRegisterKeyboardCallback (CSOUND *, int(*func)(void *userData, void *p, unsigned int type), void *userData, unsigned int type) // csoundRemoveKeyboardCallback (CSOUND *csound, int(*func)(void *, void *, unsigned int))