pedal board control
Go to file
2022-03-30 23:10:54 +02:00
.vscode fixed a lot of stuff, toggling bypass now works as expected 2022-03-25 01:10:50 +01:00
dev cache bypassed pedalboards - currently wip 2022-03-24 16:30:00 +01:00
libs fixed typo 2022-03-30 23:10:54 +02:00
.gitignore renamed 'config.json' to 'example_config.json' and updated '.gitignore' 2022-03-24 10:50:38 +01:00
.nvmrc fixed a lot of stuff, toggling bypass now works as expected 2022-03-25 01:10:50 +01:00
example_config.json added config parameter 'dev' to trigger development mode 2022-03-29 16:37:49 +02:00
LICENSE.md added license 2022-03-24 11:01:51 +01:00
package-lock.json fixed a lot of stuff, toggling bypass now works as expected 2022-03-25 01:10:50 +01:00
package.json initial commit 2022-02-07 15:41:27 +01:00
pbc.js set color for specific pedalboards and/or systemd services 2022-03-29 16:34:16 +02:00
pbc.service changed default systemd service user to 'root' to resolve permission issues 2022-03-25 16:25:59 +01:00
README.md added endpoints '/save' and '/cache' 2022-03-30 12:49:00 +02:00

pbc

pedal board control

description

control your MODEP pedalboard(s) via http requests

api

info

url GET POST
/info get information about the host

banks

url GET POST
/banks get available banks
/banks/id get bank by id

pedalboards

url GET POST
/pedalboards list available pedalboards
/pedalboards/default get default pedalboard
/pedalboards/current get current pedalboard
/pedalboards/id get pedalboard by id switch to pedalboard by id

pedals

url GET POST
/pedals get the current pedalboard's pedals
/pedals/id get the current pedalboard's pedal by id set values of current pedalboard's pedal by id

note:
POST arguments must contain the parameters id and value where id is the id of one of the pedal's controls.

example - turn bypass on/off:
curl localhost:3000/pedals/1

{"id":1,"name":"ZamComp","controls":[{"id":0,"name":"att","value":"10.000000"},{"id":1,"name":"rel","value":"80.000000"},{"id":2,"name":"kn","value":"0.000000"},{"id":3,"name":"rat","value":"4.000000"},{"id":4,"name":"thr","value":"0.000000"},{"id":5,"name":"mak","value":"0.000000"},{"id":6,"name":"slew","value":"1.000000"},{"id":7,"name":"sidech","value":"0.000000"},{"id":8,"name":":bypass","value":1,"midi":{"channel":0,"controller":0}}]}

in this case the pedal's bypass is turned on and has the id "8"; now let's turn if off:
curl -X POST -d "id=8" -d "value=127" localhost:3000/pedals/1

only pedal controls with midi bindings can be controlled!

bypass

url GET POST
/bypass toggle full bypass (switch to default pedalboard / back to last used pedalboard)
/bypass/id toggle bypass of a pedal by id

midi

url GET POST
/midi send a midi message via oscsend defined by the POST arguments to the osc host

note:
POST arguments must contain the parameters controller, channel and value.

save

url GET POST
/save save current pedalboard (optionally with new title)

note:
POST arguments can contain the parameter title.

cache

url GET POST
/cache/clear clear all cached items
/cache/refresh clear and refresh all cache items