This page contains obsolete information, as the OSC functionality is no longer present in FFADO. It is retained for your inspiration only :-D

The FFADO OSC space

Server

The server defaults to port 17820. osc.udp://localhost:17820/

The server is started whenever a backend is started (e.g. jackd).

It can also be started off-line using:

 tests/test-ffado OscServer

Global Commands

There are some global commands that can be used to explore the OSC space.

list

Sending the string "list" to a path will return all the child paths. There will be a string argument for each child path. There is no recursion, so you will have to explore the child paths manually.

Request:

 Arg1 (string): "list"

Response:

 Arg1 (string): child path 1
 ...
 Argn (string): child path n

param

List the available parameters under a path. There is no recursion to child paths.

Request:

 Arg1 (string): "params"

Response:

 Arg1 (string): param 1 name
 ...
 Argn (string): param n name

get

Get a parameter value from a path.

Request:

 Arg1 (string): "get"
 Arg2 (string): param name

Response:

 Arg1 (string): param value

Note that the return value currently is string only.

Device Manager

The device manager is the root node in the OSC hierarchy. All detected devices are present here.

Currently the devices are accesible through their ID, which is the same as the one used to prepend the port names in the audio backend. The device accessed through

 /devicemanager/dev0/

will have port names starting with

 Playback : dev0p_
 Capture  : dev0c_

When we switch to a persistent naming scheme this will probably change.

GenericMixer

For the BeBoB devices there is a very basic AV/C Audio Subunit mixer control implemented through the GenericMixer class/path.

Detailed description: OscGenericMixer