To me, serial
metering is a kludge. Taps are the way. Metering is a
visual form of monitoring. I would like to see jack provide the ability
Uggh. There should be no special purpose taps IMHO.
In the most generic sense, a tap is simply a read. I would define your
alternative drawing as a tap.
I don't have a real problem with connecting to
inputs (as long as it
doesn't complicate the graph code too much), but there only needs to be
oneclass of connection.
There are already two kinds of connections. If a client's input port is
connected to only one output port, the connection is a read. If the
client's input port is connected to more than one output port, the
connection is a write. This kind of connection, many to one, is where
the problem is. I agree that JackPortIsTerminal has nothing to do with
this.
the port
reconnection code is evil. i think its completely the wrong
approach. its just a kludge to avoid using a patch bay.
I disagree, its only a kludge because there is no clean way to implement
it with the current API.
The insert connection mode is a feature people want (without dicking about
with patchbays) and the reconnection code is a logical extension of that.
Insert connection mode for metering is the kludge, metering is
parallel. I don't want to use a patch bay (ever), I think that this
problem indicates that an api change is called for, and I think that
this problem is indicative of a greater general problem regarding the
lack of comprehensive monitoring functionality in jack.
If Client A's input port is connected to only Client B's output port,
then a meter client can effectively monitor A's input port by reading
from B's output port. Reading from an output port is allowed so no
insert connection is necessary. If A's input port is connected to B and
C's output ports, then jack sums B and C's output ports and then writes
the result to A's buffer before A begins its process. It is this moment
after jack has written and before A begins its process that this buffer
could be treated like an output port, and the meter client could read
from this port. Of course jack would need to be modified to allow this.
The larger issue is this. In a jack client/server network the recording
engineer (system administrator) would benefit greatly from having tools
that allow monitoring of data traffic at any node in the network,
visually and audibly. Not just input or output ports, but any node
including different stages of a client process (such as if two plugins
are connected in series in an ardour route and I want to monitor the
output of plugin 1). The connections to these monitoring tools are made
and broken in real time and don't interrupt the graph, as they are
terminal. These tools are Solo, Control Room Out, and Meter.
Tom