0.2.2 • Published 4 years ago
@soundworks/state-manager-osc v0.2.2
@soundworks/state-manager-osc
Utility to monitor and control soundworks' shared states within Max using OSC communications
Warning: this component is experimental and will probably be subject to changes
Table of Contents
Installation
NPM
npm install --save @soundworks/state-manager-oscMax/MSP
- Download the Max abstraction (SoundworksAPI.zip) from the releases page: https://github.com/collective-soundworks/soundworks-state-manager-osc/releases
- Unzip the package and copy the resulting directory in ~/Documents/Max 8/Packages
- Open the Helper patch for more informations
Usage
Javascript
import { Server } from '@soundworks/core/server';
import { StateManagerOsc } from '@soundworks/state-manager-osc';
// init the soundworks server as usual
const config = getConfig(ENV);
const server = new Server();
await server.init(config, /* ... */);
// register and create a global schema
const globalsSchema = {
  volume: {
    type: 'integer',
    min: -80,
    max: 6,
    default: 0,
  },
  mute: {
    type: 'boolean',
    default: false,
  },
};
server.stateManager.registerSchema('globals', globalsSchema);
const globals = await server.stateManager.create('globals');
// start the server
await server.start();
// initialize the StateManagerOsc component
const oscConfig = { // these are the defaults
  localAddress: '0.0.0.0',
  localPort: 57121,
  remoteAddress: '127.0.0.1',
  remotePort: 57122,
};
const oscStateManager = new StateManagerOsc(server.stateManager, oscConfig);
await oscStateManager.init();
// now you can control and monitor the `globals` state from your Max patchMax/MSP
See the overview Patch for more information
cf. ~/Document/Max 8/Packages/SoundworksAPI/extras/soundworksAPI.overview.maxpat
Running the example
- Download the repository
- Go the exampledirectory
- In a terminal, launch the soundworks application
cd path/to/soundworks-state-manager-osc/example
npm install 
npm run dev- Launch a web client in your favorite browser (http://127.0.0.1:8000)
- Open the max example patch example.maxpat
License
BSD-3-Clause