[Clam-devel] Changing Sink/Sources portnames?
David García Garzón
dgarcia at iua.upf.edu
Wed May 13 09:54:46 PDT 2009
Dirk Griffioen who started working with us at Barcelona Media acustics group
is hacking Audio Sinks and Sources to be multichannel, that is, being able to
configure them so that they have n in/out ports. That could have several
implications on the backends and in networks, so before introducing any
backward incompatible change we would like to ask the list about them.
What we had until now is:
- Sources/Sinks configuration is empty.
- Backend port names, are taken from Sources/Sinks processing name
- Sources/Sinks ports are named AudioIn or AudioOut which are used just for
network connections not for the backend.
What we tried in a first approach is:
- A new NSources/NSinks configuration parameter
- Backend port names, are taken from Sources/Sinks processing+port names
- Sources/Sinks ports are named 1,2,3,4...
- If no NSources attribute is given, configuration is updated to have it set
to 1 (so that you can edit it for old networks and on saving them it gets
Although the last step succeeds to configure old networks processings, old
networks fail to load because the name '1' instead 'AudioOut/In' so we should
use the clamrefactor script massively to adapt all the networks which i think
is not good.
Alternatively, we could consider single port sources/sinks an special case:
- Processing port name being AudioIn/Out instead, this would solve old network
Being an special case we might also add this:
- Backend port name of a procesing with a single port being just the
processing name without the port part, so, we won't get a meaningless '.1' on
Another option is just doing that special case just whenever the NSources
attribute is not present. In that case you won't be able to edit old network
One drawback of the solutions that change the name is that changing the name
of a port without removing the existing connection (as we try to do with
most multichannels now) is not an obvious step now. A solution to that could
be naming always AudioOut the first port and second and next AudioOut1,
AudioOut2... And another solution would be being able to change the port name
More information about the clam-devel