Re: [Jack-Devel] colons in port names

PrevNext  Index
DateTue, 26 Jul 2011 22:13:16 -0400
From David Robillard <[hidden] at drobilla dot net>
ToFons Adriaensen <[hidden] at linuxaudio dot org>
Cc[hidden] at lists dot jackaudio dot org
In-Reply-ToFons Adriaensen Re: [Jack-Devel] colons in port names
On Tue, 2011-07-26 at 14:07 +0000, Fons Adriaensen wrote:
> On Tue, Jul 26, 2011 at 08:43:56AM -0400, Paul Davis wrote:
> 
> >     1) do nothing
> >     2) note that its unwise to use colons in the documentation, but nothing more
> >     3) enforce a no-colon rule
> 
> 
> (3), without reservation.

I am generally for restricting identifiers (and this is an identifier,
not a "friendly name") wherever there's any reason at all to do so.  In
this case, I could go either way.  Precisely what characters are
allowed, and how to parse the full name, definitely needs to be defined
though.

Things you can't map to a good old fashioned file path (or scripting
language identifier) are annoying and anti-UNIX and all that, but we're
using slashes in practise, so that's already out the window I suppose.

> 
> And while we are at it, I'd like to add the following recommendations:
> 
> 1. Hierarchical port names should be composed the way Ardour does it,
>    using '/' to separate components of the name.
> 
> 2. Ports which are part of a multichannel group should have names of
>    the form
> 
>    clientname:groupname.channel
> 
> so that one day (dreaming) tools like qjackctl could recognise such
> groups, present them as one port (unless the user expands them), and
> do the 'right thing' when connecting them which is to connect ports
> with the same channel name. This format is already being used by my
> Ambisonic tools for example (where a group could easily be 16 or 25
> channels - a pain to connect manually). It makes sense even for
> stereo: "master/out.L", "master/out.R".

Grouping should be done with a more expressive/explicit/etc mechanism
than doing things based on the name; namely simple key/value metadata
for ports (which nicely solves several other things we've longed for).
Ditto "friendly names".  To do this correctly you need something a bit
better, since short of very strictly enforcing names for channels (L? l?
left? left_out? out_left?) you can't tell which port is which channel
anyway.  As I like to say, Jack doesn't really even support stereo at
present :)

That said, a naming convention for groups would be good, anyway.  This
one looks nice.  Sold.

-dr
PrevNext  Index

1311732829.8832_0.ltw:2,a <1311732796.17367.28.camel at Xenu dot drobilla dot net>