Hi all
Is there a way to create and remove audio connections between arbitrary JACK clients from Pd?
Roman
I don't know if an external exists for that but you could use command lines from pd. (On linux I would use jack_connect and jack_disconnect commands through the [ggee/shell] object)
Le ven. 12 mars 2021 à 16:21, Roman Haefeli reduzent@gmail.com a écrit :
Hi all
Is there a way to create and remove audio connections between arbitrary JACK clients from Pd?
Roman _______________________________________________ Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
On Fri, 2021-03-12 at 19:20 +0100, Allister Sinclair wrote:
I don't know if an external exists for that but you could use command lines from pd. (On linux I would use jack_connect and jack_disconnect commands through the [ggee/shell] object.
Now, that [ggee/shell] reports the proper exit code, this seemed a feasible approach. Not for long, though. There is no way around Pd prepending each symbol with a backslash. So, it is impossible to address a port like:
"ardour:send 7/audio_in 1"
Passing such a symbol to jack_connect through [shell] ends with:
ERROR ardour:send\ 1/audio_out\ 1 not a valid port
I remember a discussion going on github (can't find it right now) about whether the escaping with \ is an implementation detail that shouldn't be exposed to the user or the world outside of Pd. Now, I wonder whether it is [shell] not dealing properly with escaped characters in symbols, or whether the culprit is actually in Pd here.
I'm not quite sure how to go on about this.
Roman
On Fri, 2021-03-26 at 16:00 +0100, Roman Haefeli wrote:
On Fri, 2021-03-12 at 19:20 +0100, Allister Sinclair wrote:
I don't know if an external exists for that but you could use command lines from pd. (On linux I would use jack_connect and jack_disconnect commands through the [ggee/shell] object.
Now, that [ggee/shell] reports the proper exit code, this seemed a feasible approach. Not for long, though. There is no way around Pd prepending each symbol with a backslash. So, it is impossible to address a port like:
"ardour:send 7/audio_in 1"
Passing such a symbol to jack_connect through [shell] ends with:
ERROR ardour:send\ 1/audio_out\ 1 not a valid port
I remember a discussion going on github (can't find it right now) about whether the escaping with \ is an implementation detail that shouldn't be exposed to the user or the world outside of Pd. Now, I wonder whether it is [shell] not dealing properly with escaped characters in symbols, or whether the culprit is actually in Pd here.
I'm not quite sure how to go on about this.
Ironically, when I want to execute the command from a real terminal, I need to escape the port names with :
jack_connect pure_data:output_1 ardour:A-0/audio_input\ 1
Roman
Passing such a symbol to jack_connect through [shell] ends with:
ERROR ardour:send\ 1/audio_out\ 1 not a valid port
But [shell] doesn't need symbols, you can pass a plain message to it such as [ardour:send 7/audio_in 1( without escaping spaces, with perhaps a [list trim] Does that not work ?
Le ven. 26 mars 2021 à 16:06, Roman Haefeli reduzent@gmail.com a écrit :
On Fri, 2021-03-26 at 16:00 +0100, Roman Haefeli wrote:
On Fri, 2021-03-12 at 19:20 +0100, Allister Sinclair wrote:
I don't know if an external exists for that but you could use command lines from pd. (On linux I would use jack_connect and jack_disconnect commands through the [ggee/shell] object.
Now, that [ggee/shell] reports the proper exit code, this seemed a feasible approach. Not for long, though. There is no way around Pd prepending each symbol with a backslash. So, it is impossible to address a port like:
"ardour:send 7/audio_in 1"
Passing such a symbol to jack_connect through [shell] ends with:
ERROR ardour:send\ 1/audio_out\ 1 not a valid port
I remember a discussion going on github (can't find it right now) about whether the escaping with \ is an implementation detail that shouldn't be exposed to the user or the world outside of Pd. Now, I wonder whether it is [shell] not dealing properly with escaped characters in symbols, or whether the culprit is actually in Pd here.
I'm not quite sure how to go on about this.
Ironically, when I want to execute the command from a real terminal, I need to escape the port names with :
jack_connect pure_data:output_1 ardour:A-0/audio_input\ 1
Roman
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
many years ago I did jmmmp/ardourjack-gui-help. not sure if it does what you wanted, or if it still works (I haven't worked in linux for a long time)
Am 26.03.2021 um 18:42 schrieb Allister Sinclair:
Passing such a symbol to jack_connect through [shell] ends with:
ERROR ardour:send\ 1/audio_out\ 1 not a valid port
But [shell] doesn't need symbols, you can pass a plain message to it such as [ardour:send 7/audio_in 1( without escaping spaces, with perhaps a [list trim] Does that not work ?
Le ven. 26 mars 2021 à 16:06, Roman Haefeli <reduzent@gmail.com mailto:reduzent@gmail.com> a écrit :
On Fri, 2021-03-26 at 16:00 +0100, Roman Haefeli wrote: > On Fri, 2021-03-12 at 19:20 +0100, Allister Sinclair wrote: > > I don't know if an external exists for that but you could use > > command > > lines from pd. > > (On linux I would use jack_connect and jack_disconnect commands > > through the [ggee/shell] object. > > Now, that [ggee/shell] reports the proper exit code, this seemed a > feasible approach. Not for long, though. There is no way around Pd > prepending each symbol with a backslash. So, it is impossible to > address a port like: > > "ardour:send 7/audio_in 1" > > Passing such a symbol to jack_connect through [shell] ends with: > > ERROR ardour:send\ 1/audio_out\ 1 not a valid port > > I remember a discussion going on github (can't find it right now) > about > whether the escaping with \ is an implementation detail that > shouldn't > be exposed to the user or the world outside of Pd. Now, I wonder > whether it is [shell] not dealing properly with escaped characters in > symbols, or whether the culprit is actually in Pd here. > > I'm not quite sure how to go on about this. Ironically, when I want to execute the command from a real terminal, I need to escape the port names with \: jack_connect pure_data:output_1 ardour:A-0/audio_input\ 1 Roman _______________________________________________ Pd-list@lists.iem.at <mailto:Pd-list@lists.iem.at> mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list <https://lists.puredata.info/listinfo/pd-list>
-- Allister Sinclair