Need update to change ’/.foo” into ”/osc/foo”.
This is the list of methods an “oscit” service must implement. All these methods are considered “meta” methods in the sense that they query for information on the actual and useful methods of the system. To indicate their special meaning and in order to avoid name collisions, all these methods live at the root ”/” and start with a dot ”.”.
This registers the calling application (controller) as an “observer” of the current application (service). This means that all return values of the following queries will be sent to this controller’s port.
Returns a human readable information on a node (what it is, what it does) as an utf8 string in the following format:
/.reply "/.info" "/some/url" "Blah blah blah, this and that."
The query /.info ”” (info on root) returns information on the application itself.
Returns an array strings listing the names of the children nodes under the given url. Should return nil if there are no children. Reply example:
/.reply "/.list" "/some/url" "foo" "bar" ...
Return an array of strings listing all nodes under the given parameter. For each node, the path under the called url is listed. For example here is a description of a tree with the osc reply:
/animals
/animals/mammals
/animals/mammals/tiger
/animals/mammals/tiger/Siberian
/animals/mammals/tiger/Bengal
/animals/mammals/mice
/animals/insects
/animals/insects/bee
/.reply "/.tree" "/animals/mammals" "tiger" "tiger/Siberian" "tiger/Bengal" "mice"
Note that the urls don’t end with a ”/” even if they have children because the information on these children is given by the list. Note also that the part of the calling url /animals/mammals with the separator ”/” is removed from the urls.
Calling ”/.tree” on the root node would give:
/.reply "/.tree" "" ".error" ".info" ... "animals" "animals/mammals" ... "animals/insects" "animals/insects/bee"
Returns the type of a property in the following format:
/.reply "/.type" "/some/url" <type description>
The <type description> follows the following conventions:
| type | type tag | meaning | example |
|---|---|---|---|
| range | fffs | current, min, max, info | 4, 1, 16, “midi channel for main synth” |
| discrete values | sss | current value, list, info | “hsv”, “rgba,hsv,grey”, “background color for the main image” |
| any float | fs | current value, info | 37.82, “oscillator frequency” |
This is not a method but a container that should contain views to present the server’s elements. See views for details.
Returns a root url and its corresponding schema:
/.reply "/.schema" "" "/oscit/some_name"
Multiple schemas:
/.reply "/.schema" "/foo" "/oscit/foo_protocol"
/.reply "/.schema" "/bar" "/oscit/bar_protocol"
Funding from the Swiss Federal Office of Culture to write the graphical frontend to rubyk !
General ideas for the design of rubyk.