I’m really supprised today to see how applications uses Jack (the Linux – and other now – audio patch).

The Jack plus name is made of two parts : the application name and the « channel » name. The application name must be unique globaly, and the channel must be unique in each application.
While some seems to be configurable in both parts, some are not :

Darkice, by defaults, create a « darkice-PID:left » and  « darkice-PID:right », where PID is the real process ID of Darkice. This ensure 2 darkice will not have the same name. The drowback is that it is very hard to find which darkice is which, moreover if you want to script that.
I made a patch for darkice so you can freely change that.

With Ecasound, a command line sound mixer and processing you can only change the channel name. If you start more Ecasound, you will have another process ecasound_2, then ecasound_3… which is not really better than the way Darkice is doing it natively.
Another issue is when you kill one Ecasound, they all die ! This is a huge issue I will have to work on quickly, but I’m pretty sure this is due to a jack naming issue.

Then what should the convention be ?

As the important part is the application name, not the channel name, it seems that this part should be configurable.  Then the channel name could be, by default, either a direction and a number, or a direction and a name :

- ecasound-test1:in_1
-  ecasound-test1:in_2
- ecasound-test1:out_1
- ecasound-test1:ou_2

- ecasound-filter2:in_left
- ecasound-filter2:in_right

Devs, please, think of it ! :)