Re: jack.plumbing-like capabilities for alsa midi?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, December 28, 2006 07:53, Ken Restivo wrote:
>
> qjackctl and jack.plumbing will *only* save and restore the state of
> audio routing, and not of midi routing. This seems moderately useless to
> me since it's the midi routing that gets the most tangled up and botched
> (i.e., whenever loading a new rosegarden file).
>

Qjackctl does NOT save connections, either audio or MIDI. What it saves,
through its Patchbay feature, is a set of rules for automatic connection,
whenever the clients/ports appears up and running on the screen. And that
applies both to audio (JACK) and MIDI (ALSA sequencer).

Try it out. You've almost sure missed some point, which is not that rare
anyway, due to aging lack of documentation for that QjackCtl/Patchbay
feature.

Here you can find some notes, as once spelled out on the jack-devel maillist:

[...]

All of these suggestions are perfectly valid, I'm sure. And the good news
are that you can implement most of those using the infamous QjackCtl
patchbay featuritis.

There's only persistence as long you keep a patchbay definition file (you
can call it a patchnay preset if you like) activated. You can select and
load individual patchbbay files, that you maintain on your file system, as
once previously saved (activated). Qjackctl even maintains and presents a
MRU patchbay file list that you can select and load as seen convenient. To
perform the actual connections you must activate the slected/loaded
patchbay file, of course.

I think what is most confusing on QjackCtl's patchbay design is it's
logical structure and model. Application clients are mapped as "sockets".
Respective ports are "plugs". Note that this was my own naming choice and
that is just like so for distinguishing from the actual "physical"
counter-parts as seen on the Connections window.

A patchbay socket refers to an application client instance, described by
its client name, which can be entered as a regular expression for broader
name resolution (e.g. some applications do insist using its PID on the
client name). Furthermore, a socket is an ordered set (group) of plugs,
that are ports. You probably know by now that "plugs" maps to regular
client-ports in a one-to-one fashion.

It is important to note that sockets are an _ordered_ set of plugs/ports,
because when you connect two sockets under the patchbay you're just
declaring that you want those plugs/ports on either side connected
one-by-one in that order. Remember, the actual connections are only
executed when the patchbay definition file is saved and activated.

You can add sockets and plugs at will. There can be more than one socket
mapping to a given client application. The client application must not be
running at one time, but helps in getting those plug/port names right. A
socket can have all or just a subset of the target client ports and in any
order. You just declare which sockets you want connected. You don't need
to connect them all at one time. Think of having one patchbay template
file with all conceivable socket combinations and take that and
copy/save/activate several connection particularizations. Fit to purpose.

And there's also the "exclusive" and "forward" feature bits. In short, an
"exclusive" socket is a special one for which the patchbay should maintain
only the connections that are explicitly declared to/from that group of
ports/plugs, all others will be forced shut. The "forward" setting is
applicable to writable/input sockets only and commands that any connection
that is actually made to the forwarded socket is also issued (cloned) to
the target one. This has been found useful, for example, to automagically
replicate all routings on a main output device to another auxilliary one
e.g. headphones, cue, control-room, whatever.

Feel free to ask for a solution to your specific case. The Patchbay has it
or almost ;) Either on audio or MIDI.

Cheers.
-- 
rncbc aka Rui Nuno Capela
rncbc@xxxxxxxxx


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user

[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux