Hi i'm developing a hardware and software laser synthesizer using pure data on RPi zero 2 W. The problem I'm facing is that when I disconnect my MIDI device the connection is lost forever. I tried using [aconnect 'MIDI Mix' 'Pure Data'( -> [shell] without success. I tried writing it directly in the Terminal and tells me that Pure Data is not recognised. So I tried Ioannes [aconnects] which also doesn't work. In the messages I put MIDI Mix 1 Pure Data 0 (or 1 either fails). Strangely when I reset it from the Pure Data preferences menu it works perfectly. Do you have any idea what am I doing wrong? Can you maybe help me figure it out? Thanks
|| | | ||| | || || | ||||| || | || | ||| | ||||| | | ||| | |||| | || ||||
ALBERTO NOVELLO, PhD New Media Artist and Tenure Track Professor
video snippets: *instagram* https://www.instagram.com/_jestern_/ av compositions: youtube https://www.youtube.com/channel/UCWq64lUkHQ9fIdHBUbN0_0w site: jestern.com shop: bandcamp http://jestern.bandcamp.com audio: soundcloud http://soundcloud.com/jestern
|| | | ||| | || || | ||||| || | || | ||| | ||||| | | ||| | |||| | || |||| http://vimeo.com/jestern
Am 1. November 2024 19:21:15 MEZ schrieb Alberto Novello albynovello@gmail.com:
Hi i'm developing a hardware and software laser synthesizer using pure data on RPi zero 2 W. The problem I'm facing is that when I disconnect my MIDI device the connection is lost forever. I tried using [aconnect 'MIDI Mix' 'Pure Data'( -> [shell] without success. I tried writing it directly in the Terminal and tells me that Pure Data is not recognised. So I tried Ioannes [aconnects] which also doesn't work. In the messages I put MIDI Mix 1 Pure Data 0 (or 1 either fails). Strangely when I reset it from the Pure Data preferences menu it works perfectly. Do you have any idea what am I doing wrong? Can you maybe help me figure it out? Thanks
I highly suspect that you have a problem of escaping whitespace. Egg, of you make a message [aconnect 'MIDI Mix' 'Pure Data'(, it's really broken into a separator "a connect" and 4 more atoms, namely
Similarly, with [aconnects].
You really need to make the message in a way that preserved the whitespace, so that eg "Pure Data" is read as a *single* string. It seems like you tried to do this with single quotes, but unfortunately Pod doesn't use quotes to for escaping spaces. So you need to escape the space with backslashes.
Eg, sthg like this: [connect MIDI\ Mix 1 Pure\ Data 0( Should work
mfg.sfg.jfd IOhannes
I'm awfully sorry for all the android autocorrection-induced spelling errors in so many of my latest mails. I'm not trying to fix my last email though, for fear of introducing even more mistakes...
mfg.sfg.jfd IOhannes
Hi thanks for your answer Iohannes!! I tried but could not find a way. I attach my terminal attempts that report the error. I got better at the end but still cannot see Pure Data for some reason. What could it be?
|| | | ||| | || || | ||||| || | || | ||| | ||||| | | ||| | |||| | || ||||
ALBERTO NOVELLO, PhD New Media Artist and Tenure Track Professor
video snippets: *instagram* https://www.instagram.com/_jestern_/ av compositions: youtube https://www.youtube.com/channel/UCWq64lUkHQ9fIdHBUbN0_0w site: jestern.com shop: bandcamp http://jestern.bandcamp.com audio: soundcloud http://soundcloud.com/jestern
|| | | ||| | || || | ||||| || | || | ||| | ||||| | | ||| | |||| | || |||| http://vimeo.com/jestern
On Sat, 2 Nov 2024 at 08:46, IOhannes m zmölnig zmoelnig@iem.at wrote:
Am 1. November 2024 19:21:15 MEZ schrieb Alberto Novello < albynovello@gmail.com>:
Hi i'm developing a hardware and software laser synthesizer using pure
data
on RPi zero 2 W. The problem I'm facing is that when I disconnect my MIDI device the connection is lost forever. I tried using [aconnect 'MIDI Mix' 'Pure Data'( -> [shell] without success. I tried writing it directly in the Terminal and tells me that Pure Data is not recognised. So I tried Ioannes [aconnects] which
also
doesn't work. In the messages I put MIDI Mix 1 Pure Data 0 (or 1 either fails). Strangely when I reset it from the Pure Data preferences menu it works perfectly. Do you have any idea what am I doing wrong? Can you maybe help me figure
it
out? Thanks
I highly suspect that you have a problem of escaping whitespace. Egg, of you make a message [aconnect 'MIDI Mix' 'Pure Data'(, it's really broken into a separator "a connect" and 4 more atoms, namely
- "'MIDI"
- "Mix'"
- "'Pure"
- "Data'"
Similarly, with [aconnects].
You really need to make the message in a way that preserved the whitespace, so that eg "Pure Data" is read as a *single* string. It seems like you tried to do this with single quotes, but unfortunately Pod doesn't use quotes to for escaping spaces. So you need to escape the space with backslashes.
Eg, sthg like this: [connect MIDI\ Mix 1 Pure\ Data 0( Should work
mfg.sfg.jfd IOhannes
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/CFGGTO2HOS...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
On 02/11/2024 11:49, Alberto Novello wrote:
Hi thanks for your answer Iohannes!! I tried but could not find a way. I attach my terminal attempts that report the error. I got better at the end but still cannot see Pure Data for some reason. What could it be?
i would really welcome it, if you could post the text of your input and the output you receive, rather than screenshots.
e.g.
pi@raspberrypi:~ $ aconnect 'MIDI Mix' 'Pure \ Data' 0
invalid destination address Pure \ Data
just select all the text in the terminal and paste it to your favourite text-editor. then copy that text-file to the computer you use to send emails from.
it's *much* easier for me (and probably others) to spot typos in text than in images.
apart from that: we have no idea which MIDI devices are available, which makes it also a bit hard to guess what a working example would be.
In any case, the message I have was for the [aconnect] pd object.
The 'aconnect' cmdline program uses a different syntax. (Run man aconnect
).
Iirc, it would be something like
aconnect MIDI\ Mix:1 Pure\ Data:0
mfdsar IOhannes
On 02/11/2024 08:46, IOhannes m zmölnig wrote:
Similarly, with [aconnects].
checking the help-patches again (it's been a while...) i see that:
been released 3 years ago)
spaces in the client names (the former documents backslash-escapes; the latter documents using zexy's [l2s], which was one option for older versions of Pd)
fmgsa IOhannes
On 03/11/2024 00:00, IOhannes m zmölnig wrote:
- [aconnects] has been obsoleted by [aconnect] since v0.5 (which has
been released 3 years ago)
what i meant to say here is: use [aconnect] instead of [aconnects]. it appears to be more stable and correct, esp. when mixing symbolic names with numeric args (e.g. for the port-name)
fgmasd IOhannes
HI all, about the syntax:
From the command terminal:
aconnect MIDI\ Mix:1 Pure\ Data:0 invalid destination address Pure Data:0 aconnect MIDI\ Mix Pure\ Data invalid destination address Pure Data aconnect 'MIDI Mix' 'Pure Data' invalid destination address Pure Data
so acconect works well with \ or ', space or not with MIDI Mix, no problem on the midi controller. My problem is Pure Data. I can't access Pure Data to connect. Which is weird as Pure Data is open and I can connect from its menu.
I used the shell because [aconnects] doesn't let me see the error message. For now I have in my patch a [aconnect( -> [shell] and [aconnects]. I downloaded you package that is probably discontinued and used that. I tried finding [aconnect] but cannot find that external. I saw somewhere it's in ggee, I donwloaded added the path but doesn't find [aconnect].
This is where I'm at. Hope it's clear er now. Thanks for your help
On Sun, Nov 3, 2024 at 12:00 AM IOhannes m zmölnig zmoelnig@iem.at wrote:
On 02/11/2024 08:46, IOhannes m zmölnig wrote:
Similarly, with [aconnects].
checking the help-patches again (it's been a while...) i see that:
- [aconnects] has been obsoleted by [aconnect] since v0.5 (which has
been released 3 years ago)
- both help-patches of [aconnect] and [aconnects] show how to deal with
spaces in the client names (the former documents backslash-escapes; the latter documents using zexy's [l2s], which was one option for older versions of Pd)
fmgsa IOhannes
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/YEVTEVCB5J...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
On 11/4/24 11:00, Alberto Novello wrote:
HI all, about the syntax:
From the command terminal:
aconnect MIDI\ Mix:1 Pure\ Data:0 invalid destination address Pure Data:0
that's the correct syntax.
so acconect works well with \ or ', space or not with MIDI Mix, no problem on the midi controller. My problem is Pure Data. I can't access Pure Data to connect. Which is weird as Pure Data is open and I can connect from its menu.
Pd has to run (with alsamidi) :-) what's the output of 'aconnect -l'?
I used the shell because [aconnects] doesn't let me see the error message. For now I have in my patch a [aconnect( -> [shell] and [aconnects]. I downloaded you package that is probably discontinued and used that. I tried finding [aconnect] but cannot find that external. I
it's also part of the "aconnect" library (where you find [aconnects]). version 0.5 is available on deken. the library itself is not "discontinued" in the strict sense. it hasn't seen much love since 2021, but it is supposed to "just work". the repository (for feature requests, bug-reports,...) is at https://git.iem.at/pd/aconnect
[aconnect] (like [aconnects]) only gives you the error number (not the full error). (which could be a feature-request :-))
gdamr IOhannes
Thanks IOhannes :)
so the result of acconnet -l is:
client 0: 'System' [type=kernel]
0 'Timer '
Connecting To: 142:0
1 'Announce '
Connecting To: 142:0
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 20: 'MIDI Mix' [type=kernel,card=1]
0 'MIDI Mix MIDI 1 '
client 142: 'PipeWire-System' [type=user,pid=895]
0 'input '
Connected From: 0:1, 0:0
client 143: 'PipeWire-RT-Event' [type=user,pid=895]
0 'input
Which is what worries me cause there is no Pure Data even if it's running....
On Mon, Nov 4, 2024 at 11:38 AM IOhannes m zmoelnig zmoelnig@iem.at wrote:
On 11/4/24 11:00, Alberto Novello wrote:
HI all, about the syntax:
From the command terminal:
aconnect MIDI\ Mix:1 Pure\ Data:0 invalid destination address Pure Data:0
that's the correct syntax.
so acconect works well with \ or ', space or not with MIDI Mix, no problem on the midi controller. My problem is Pure Data. I can't access Pure Data to connect. Which is weird as Pure Data is open and I can connect from its menu.
Pd has to run (with alsamidi) :-) what's the output of 'aconnect -l'?
I used the shell because [aconnects] doesn't let me see the error message. For now I have in my patch a [aconnect( -> [shell] and [aconnects]. I downloaded you package that is probably discontinued and used that. I tried finding [aconnect] but cannot find that external. I
it's also part of the "aconnect" library (where you find [aconnects]). version 0.5 is available on deken. the library itself is not "discontinued" in the strict sense. it hasn't seen much love since 2021, but it is supposed to "just work". the repository (for feature requests, bug-reports,...) is at https://git.iem.at/pd/aconnect
[aconnect] (like [aconnects]) only gives you the error number (not the full error). (which could be a feature-request :-))
gdamr IOhannes
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/CA2NVQ6JCK...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
It looks like you are using a more recent version of linux that has transitioned to using Pipewire (instead of Jack etc.)
https://wiki.archlinux.org/title/PipeWire
On Mon, Nov 4, 2024, 6:48 AM Alberto Novello albynovello@gmail.com wrote:
Thanks IOhannes :)
so the result of acconnet -l is:
client 0: 'System' [type=kernel]
0 'Timer '
Connecting To: 142:0
1 'Announce '
Connecting To: 142:0
client 14: 'Midi Through' [type=kernel]
0 'Midi Through Port-0'
client 20: 'MIDI Mix' [type=kernel,card=1]
0 'MIDI Mix MIDI 1 '
client 142: 'PipeWire-System' [type=user,pid=895]
0 'input '
Connected From: 0:1, 0:0
client 143: 'PipeWire-RT-Event' [type=user,pid=895]
0 'input
Which is what worries me cause there is no Pure Data even if it's running....
On Mon, Nov 4, 2024 at 11:38 AM IOhannes m zmoelnig zmoelnig@iem.at wrote:
On 11/4/24 11:00, Alberto Novello wrote:
HI all, about the syntax:
From the command terminal:
aconnect MIDI\ Mix:1 Pure\ Data:0 invalid destination address Pure Data:0
that's the correct syntax.
so acconect works well with \ or ', space or not with MIDI Mix, no problem on the midi controller. My problem is Pure Data. I can't access Pure Data to connect. Which is weird as Pure Data is open and I can connect from its menu.
Pd has to run (with alsamidi) :-) what's the output of 'aconnect -l'?
I used the shell because [aconnects] doesn't let me see the error message. For now I have in my patch a [aconnect( -> [shell] and [aconnects]. I downloaded you package that is probably discontinued and used that. I tried finding [aconnect] but cannot find that external. I
it's also part of the "aconnect" library (where you find [aconnects]). version 0.5 is available on deken. the library itself is not "discontinued" in the strict sense. it hasn't seen much love since 2021, but it is supposed to "just work". the repository (for feature requests, bug-reports,...) is at https://git.iem.at/pd/aconnect
[aconnect] (like [aconnects]) only gives you the error number (not the full error). (which could be a feature-request :-))
gdamr IOhannes
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/CA2NVQ6JCK...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
--
|| | | ||| | || || | ||||| || | || | ||| | ||||| | | ||| | |||| | || ||||
ALBERTO NOVELLO, PhD New Media Artist and Tenure Track Professor
video snippets: *instagram* https://www.instagram.com/_jestern_/ av compositions: youtube https://www.youtube.com/channel/UCWq64lUkHQ9fIdHBUbN0_0w site: jestern.com shop: bandcamp http://jestern.bandcamp.com audio: soundcloud http://soundcloud.com/jestern
|| | | ||| | || || | ||||| || | || | ||| | ||||| | | ||| | |||| | || ||||
http://vimeo.com/jestern
pd-list@lists.iem.at - the Pure Data mailinglist
https://lists.iem.at/hyperkitty/list/pd-list@lists.iem.at/message/BPCKTUR7QL...
To unsubscribe send an email to pd-list-leave@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.iem.at/
On 04/11/2024 17:33, Andrew Lyons wrote:
It looks like you are using a more recent version of linux that has transitioned to using Pipewire (instead of Jack etc.)
yes.
however, but PipeWire doesn't really do anything about the ALSA seq interface used by Pd, so I don't think that this is related.
gdmsar IOhannes
On 11/4/24 15:48, Alberto Novello wrote:
Which is what worries me cause there is no Pure Data even if it's running....
right, that would explain why 'aconnect' cannot connect :-)
the default MIDI backend in Pd is "OSS MIDI". in order to ALSA seq as a MIDI backend, you have to explicitly choose it. the simplest way is obviously via the "Media" menu (pick the aptly named "ALSA-MIDI", and make sure to set the "In Ports" and/or "Out Ports" to some non-0 value (e.g. "1"). to make the settings persistent, you have to "Save All Settings".
alternatively (if you start Pd from the cmdline), you could simply add the "-alsamidi -mididev 1" flags.
note: for some obscure reason which i do not remember, the default number of in/out ports for ALSA-MIDI is 0 (zero, nada). Adding the flag "-mididev 1" will make sure you get one port in each direction. contrary to common sense, the actual number you put there does not matter (so you could also use "-mididev 0" to get one port. If you want multiple ports, specify them with multiple comma-separated numbers. e.g. "-mididev 1,2" will give you to ports. that's because with "-mididev" you are actually 'selecting' (pseudo-)MIDI devices rather than specifying their number. this is for consistency with other backends.
mfgasdr IOhannes
PS: personally i think that this behaviour is non-intuitive (even though iirc it was me who implemented it like this) and should probably be fixed as in:
single port.
but with a port-number "2" (for both in and out port). similarily, "-alsamidi -mididev 1,4" should create two ports with port-numbers "1" resp "4". probably time for a feature request :-)