Interacting
HTTP
Improviz does not have a user interface, but instead runs a server you can use to interact with it. This runs as a basic web server on localhost:3000 which currently exposes four endpoints.
These are really designed to be used via a plugin in a suitable text editor. Check the editors section in the Getting Started document for examples.
read
/read
POST request
Any text sent to this will be compiled and interpreted by Improviz. If there is a failure then it will continue running the last working program.
In the examples folder there is a bash script called send.sh which can be used to run any of the example programs.
./examples/send.sh ./examples/simple1.pz
toggle text
/toggle/text
POST request
Turn the text display on and off
editor
/editor
Browse to this endpoint in a browser to get a very basic form to submit programs to Improviz. Mainly just useful for testing.
vars edit
/vars/edit/:name
POST request
Can be used to set the value of external variables within Improviz which can then be accessed via the ext function.
OSC
Improviz can accept OSC messages to set and change the value of external variables within the system which can then be accessed via the ext function. The format for this is very simple.
/vars/<varname> <int|float|string>
The OSC server must be enabled by setting the flag in the configuration. The default port is 5510 but can also be changed in the config.
Multiple variables can be set by sending message bundles.
Displaying the code overlay can also be toggled with OSC, and just requires sending a message with the path
/toggle/text
MIDI
There is no native support for MIDI, and is unlikely to in the future. If you want to have programs respond to MIDI messages, then you will need to have some sort of intermediary that translates them into OSC.
Improviz user _darch has a great blog post explaining some of the ins and outs of doing this with a tool called MidiGyver. http://www.darch.dk/improviz-midigyver-part-1