[Ardour-Users] io matrix fun

Sean Corbett seanbutnotheard at gmail.com
Thu Sep 23 09:05:37 PDT 2010

Greetings esteemed Ardour developers & users,

Yes, this is another "Ardour interface criticism" e-mail.  Hopefully
it will contain at least a couple of constructive thoughts... I am
sending this to the users list to get some user thoughts before
considering filing a feature request (though I'm guessing there are
devs on here too).

I've been following the development of Ardour 3 by building it
occasionally and I'm excited to see it maturing... but one thing still
bugs me somewhat:  The routing matrix.  Now I know it's been mulled
over and analyzed a lot, because I've seen lots of discussion and
watched the matrix morph from one form to another over the last year
or so.  But I just wanted to share my thoughts, take them or leave
them, on how to make it more useful (for me anyway, who I take to be a
somewhat typical user).  It would help if you've built Ardour 3 and
played with the matrix (or 'connections manager') yourself.

The problem is, when I bring up the matrix, it often doesn't give me a
view of my connections that is both immediately useful and flexible; I
usually have to change around the tabs to get what I want.  So my
approach is to think of the most common use cases and prioritize them.
 I'm no UI designer so maybe this is totally wrong-headed, but here
are the cases I've come up with:

(For brevity, assume that "connect...to" implies
"connect/disconnect...to/from". Also I'm only considering audio tracks
right now, hopefully MIDI can be approached in a similar way, but
maybe not)

1.  User clicks on a track input button; she wants to connect a system
source or another application's output to the track.
2.  User clicks on a track output button; she wants to connect a track
to a bus (including master) or to another application's input.
3.  User clicks on a bus input button; she wants to connect a track,
or another bus, or another application's output, to the bus.
4.  User clicks on a bus output button; she wants to connect a bus to
the master (or system output if there is no master) or another
application's input.
5.  User clicks on the connection manager from the menu; she wants to
get the big picture or do some funky non-conventional routing.

These seem to me to be the most common scenarios, but there are maybe
others.  My thought was, could there just be a drop-down that has 5
options to cover each case?  So it would be thus:

For case 1: Show system sources and sources from other apps; show
tracks as destinations. Call this option "Show Track Inputs"
For case 2: Show track outputs as sources; show busses and other apps
as destinations. If there is no master bus, show system outputs too.
Call this option "Show Track Outputs"
For case 3: Show tracks, busses, and other apps as sources; show
busses as destinations.  Call this option "Show Bus Inputs"
For case 4: Show busses as sources; show busses and other apps as
destinations.  (Maybe show system outs as well.)  Call this option
"Show Bus Outputs"
For case 5: "Show All Connections". Ardour's built in sources
(auditioner, monitoring stuff, click) should only be visible in this
view.  Alternatively, this could be a "Custom" option, where the user
could pick from the categories, like the current 'tabs' approach...
though I do think at times you'll just want to see *everything*, to
make sure you haven't mis-wired something.  So maybe "Custom" would be
a sixth option.

In addition to the drop-down, there could be a "show all tracks"
check-box when you're focusing on tracks -- cases 1 & 2 -- and "show
all busses"  for cases 3 & 4.  The default would be unchecked (when
accessing from a track/bus button), so that you'd only see the
track/bus you clicked on to bring up the matrix.  This check-box would
have to be greyed-out in case 5.

I'm sure there are other possible scenarios, perhaps for
ambisonics/multichannel setups... others will have to chime in if they
have thoughts on those cases.  I know for myself, there are times that
I mix entirely outboard, when I like to have no busses at all...
system I/O goes straight into and out of tracks.  This and the
ambisonics case might require an "Always Show Full Routing Matrix" in
the Ardour preferences... in enabling this, it would be assumed the
user is ready-and-willing to take on the added complexity.

Here's a crude mock-up of what I envision:

Let me know what you all think, thanks for listening.


More information about the Ardour-Users mailing list