Am 17.03.20 um 15:17 schrieb Max:
$ aconnect tickle:0 'Pure Data':1
Connection failed (Operation not permitted)
$ aconnect tickle:0 'Pure Data:1'
Connection failed (Operation not permitted)
$ aconnect tickle:0 Pure\ Data:1
Connection failed (Operation not permitted)
Those are all equivalent command lines. They all result in the string
"Pure Data:1" being passed as the second command line argument.
That's unix shell 101 and has nothing to do with aconnect itself.
$ aconnect tickle:0 Pure Data:1
just works.
Look at the acconnect man page:
'The address can be given using the client's name.
% aconnect External:0 Emu8000:1
Then the port 0 of the client matching with the string "External" is
connected to the port 1 of the client matching with the "Emu8000".'
The keyword here is "matching", i.e. you can refer to clients using a
sub-string of their name and that's what's happening in your example.
So you have three command line arguments: "tickle:0", "Pure" and
"Data:1"
The first two cause a connection to be made on their own and the third
is just ignored, AFAICT:
https://git.alsa-project.org/?p=alsa-utils.git;a=blob;f=seq/aconnect/aconneā¦
Chris