This page contains obsolete information, as the OSC functionality is no longer present in FFADO. It is retained for your inspiration only :-D
GenericMixer Osc Path
This allows basic control of the BeBoB internal mixer.
This description is for the current code (r462). It is a work in progress.
The GenericMixer? has 4 subpaths:
/GenericMixer/Selector/[id]/ /GenericMixer/Feature/[id]/ /GenericMixer/Processor/[id]/ /GenericMixer/Codec/[id]/
Note: The only subfunction implemented for the Feature FB is the volume subfunction.
Note: The Processor and Codec paths are not implemented yet.
Note: id's start from 1.
Global commands
list
Will return the function blocks detected in the device as child paths.
Example: ListOscSpaceExamplePhase88
Selector
Selectors select between multiple signal inputs. They have one output and multiple inputs and connect one of the inputs to the output. Currently you need a-priori knowledge of what selector controls what device function.
Note: port indexing starts from 0
params
Request:
Arg1 (string): "params"
Response:
Arg1 (string): param 1 name ... Argn (string): param n name
get value
Request:
Arg1 (string): "get" Arg2 (string): "value"
Response:
Arg1 (int) : current selector value
set value
Request:
Arg1 (string): "set" Arg2 (string): "value" Arg3 (int) : selected input index
Response:
Nothing
Example:
This switches the Phase88 input 7/8 to the backside line inputs:
/devicemanager/dev0/GenericMixer/Selector/10/ set value 0This switches the Phase88 input 7/8 to the front mic inputs:
/devicemanager/dev0/GenericMixer/Selector/10/ set value 1
Feature
params
Request:
Arg1 (string): "params"
Response:
Arg1 (string): param 1 name ... Argn (string): param n name
get volume
Request:
Arg1 (string): "get" Arg2 (string): "volume" Arg3 (int) : audio channel
Response:
Arg1 (int) : current volume value
set volume
Request:
Arg1 (string): "set" Arg2 (string): "volume" Arg3 (int) : audio channel Arg4 (int) : volume level
Response:
Nothing
The channel argument seems to signify the following: (Phase88, QuataFire)
0 = Left+Right 1 = Left 2 = Right
The volume argument is a 16bit 2's complement integer value:
( 32766) 0x7FFE = 127.9922 dB
...
( 2) 0x0002 = 0.0078 dB
( 1) 0x0001 = 0.0039 dB
( 0) 0x0000 = 0.0000 dB
( -1) 0xFFFF = - 0.0039 dB
( -2) 0xFFFE = - 0.0078 dB
...
(-32766) 0x8002 = -127.9922 dB
(-32767) 0x8001 = -127.9961 dB
0x8000 = - inf dB
