Skip to content

Brocessor HTTP API

Alexey Stremov edited this page Oct 2, 2016 · 3 revisions

General requests

For general requests use "target" : "global" or omit "target" entry altogether.

Starting/pausing playback

{ "target" : "global", "command" : "play" }

Refreshing buffers

Fixes all possible issues.

{ "target" : "global", "command" : "refresh" }

Loading patch

"command" : either "open" or "load"; A "path" to .bro file should be specified.

{ "target" : "global", "command" : "load", "path" : "D:/pathces/pad.bro" }

Changing BPM

"value" is expected to be a positive integer that could fit into 30 bits.

{ "target" : "global", "command" : "bpm", "value" : "240" }

Cycling through ASIO drivers

Use this N times in case the default ASIO driver (and N-1 following drivers) suck balls.

{ "target" : "global", "command" : "asio_switch" }

#Device-specific requests

For device handling use "target" : device_type. Supported device types:

  • Synth
  • Transform
  • Mixer
  • Filter
  • Handle
  • Delay

Set "index" to specify the target device. Indices are 0-based, default "index" is 0. If no specified device is present, request is silently ignored.

For every control you want to set, add an entry to "state" array:

{ "control" : "control_name", "value" : "value" }

##Synth

  • "freq" - synth frequency. Expects frequency value.
  • "amp" - synth amplitude. Expects amplitude value.
  • "function" - waveform function. Expects expression.

{ "target" : "synth", "index" : "3", "state" : [ { "control" : "amp", "value" : "0.5" }, { "control" : "freq", "value" : "0.15" }, { "control" : "function", "value" : "sin(x^2)" } ] }

##Transform

  • "amp_in" - input amplitude ( amplitude value ).
  • "amp_out" - output amplitude ( amplitude value ).
  • "function" - transform function ( expression ).

##Filter

  • "function" - filter frequency response function ( expression ).

##Mixer Instead of "control", specify "in" and "out" (integers) to pick a volume knob:

{ "target" : "mixer", "index" : "2", "state" : [ { "in" : "1", "out" : "0", "value" : "0.5" }, { "in" : "2", "out" : "2", "value" : "-2.0" }, ] }

Both "in" and "out" can be omitted and will default to 0.

Clone this wiki locally