Usage¶
Basic usage¶
Run ognon with
$ python -m ognon
Then go to http://localhost:40460/ with a modern browser.
What’s going on ?¶
Ognon prints out some informations :
+------------+
| Ognon v1.x |
+------------+
Working on file:///home/user/ognons/
Serving on http://localhost:40460
Serving on osc://localhost:50460
We got :
The Ognon version
The location on your computer where ognon saves and exports files
The adress where the http server is serving
The adress where the osc server is serving
If you visit the http adress (e.g. with firefox), you will find the web interface. This is where you can edit and manage your projects.
You can now read the web interface guide -> Ognon web interface.
Advanced command line options¶
$ python -m ognon --help
or-h
: get the help$ python -m ognon --test
or-t
: run the tests (pytest)$ python -m ognon --browse
or-b
: open a web browser at the server adress$ python -m ognon --no-osc
: do not start the osc server$ python -m ognon --ip-adress 1.2.3.4
: set the server ip adress (default is localhost)$ python -m ognon --projects-dir /path/to/projects/directory/
: set a different projects directory.
HTTP Server API¶
POST requests can be sent to the ognon server. data are sent and received in JSON.
Paths¶
The server will look into ognon to find a function corresponding to the path
POST /path/to/function/
the two kinds of functions that must be used are /control/controller/function/ and /view/function/.
Parameters¶
When a request is sent to the server, two parameters can be passed. They are both optional.
cursor (string) : the id of the cursor to be used. (default is ‘default’)
args (object) : the args to be passed to the function. Keys are arguments names, values are arguments values. Can be ommited if the function take no other args than the cursor.
Example¶
To draw a line on the cell curently pointed by the cursor ‘default’.
POST /control/drawer/draw
{
cursor:'default',
args:{
coords:[0,0,50,50]
}
}
OSC Server API¶
Ognon run two servers at the same time. The HTTP server (that is used in the web interface to get pages and to post requests) and the OSC server. The OSC server expects roughly the same types of requests than the POST handler of the HTTP server. But since the OSC protocole is simpler than HTTP, it will do less.
The Ognon OSC server should be able to handle requests on any control function. The request adress should be the path to the control function and a cursor id must be passed as a first argument.
Warning
Untested : Some requests may not be supported by the osc server. Because of the types of parameters.
See also
OSC specification on the official website : http://opensoundcontrol.org/spec-1_0
Paths¶
The server will look into ognon to find a control function corresponding to the path : /control/module/function
.
For a complete list of control functions see ognon.control
.
For your OSC client you would probably want to use the navigator functions. They allow to navigate in the animation : /control/navigator/function
(see ognon.control.navigator
)
Cursor id¶
The cursor id can be any string. But you may want to use default
.
Server port¶
The port to the Ognon OSC server is 50460
Example¶
- To run the animation (
/step
in Ognon v0) : /control/navigator/run cursor-id
- To run the animation (
- To play/pause the animation :
/control/navigator/play cursor-id
- To go to the first frame of the animation (
/reset
in Ognon v0) : /control/navigator/go_to_first_frm cursor-id
- To go to the first frame of the animation (
- To go to the nth frame of the animation :
/control/navigator/go_to_frm cursor-id n
- To select an animation :
control/animsmanager/select_anim cursor-id name-of-the-animation
Control Ognon with OSC and Puredata¶
download simple-ognon-osc-client.pd
See also
The good tutorial to use OSC with puredata : http://write.flossmanuals.net/pure-data/osc/
Docs¶
Build the docs with
$ cd docs/
$ make html
Requires to have python3-sphinx
installed
See also
Sphinx : https://www.sphinx-doc.org/