An npm package for interacting with Soundpad
npm install --save soundpad.js
import Soundpad, { getSoundpadPath, openSoundpad } from 'soundpad.js';
const soundpad = new Soundpad()
console.log(getSoundpadPath())
async function run () {
await openSoundpad()
await soundpad.connect()
await soundpad.playSound(1)
soundpad.disconnect()
}
run()
If you plan to use this package in the browser (with a custom dataDriver), you may get an error because some functions need Node's 'child_process' module. To fix this, you can import soundpad.js with the secondary entry point soundpad.js/web (which does not export those functions) like in this example:
import Soundpad from 'soundpad.js/lib/web';
const soundpad = new Soundpad();
soundpad.connect((query) => {
return fetch('/api/soundpad/', { method: 'POST', body: query })
.then((data) => data.text())
});
Changes marked with ❌ are breaking changes
Soundpad.waitForStatus() functionsoundpad.js/webPlayStatus enumSoundpad.isConnected property when using a custom dataDriverSoundpad.connectionAwaiter, which is a promise that resolves when the connection is established.undefined resultsThis package is mainly a porting of https://www.leppsoft.com/soundpad/files/rc/SoundpadRemoteControl.java to Typescript, with some utility functions added.