soundworks
plugin template project.
npm install @soundworks/plugin-[name] --save
A working example can be found in the https://github.com/collective-soundworks/soundworks-examples repository.
// index.js
import { Server } from '@soundworks/core/server';
import plugin[Name]Factory from '@soundworks/plugin-[name]/server';
const server = new Server();
server.pluginManager.register('[name]', plugin[Name]Factory, {
// default to `.data/scripts`
directory: 'scripts',
}, []);
// MyExperience.js
import { AbstractExperience } from '@soundworks/core/server';
class MyExperience extends AbstractExperience {
constructor(server, clientType) {
super(server, clientType);
// require plugin in the experience
this.[name] = this.require('[name]');
}
}
// index.js
import { Client } from '@soundworks/core/client';
import plugin[Name]Factory from '@soundworks/plugin-[name]/client';
const client = new Client();
client.pluginManager.register('[name]', plugin[Name]Factory, {}, []);
// MyExperience.js
import { Experience } from '@soundworks/core/client';
class MyExperience extends Experience {
constructor(client) {
super(client);
// require plugin in the experience
this.[name] = this.require('[name]');
}
}
The code has been initiated in the framework of the WAVE and CoSiMa research projects, funded by the French National Research Agency (ANR).
BSD-3-Clause