Hi all,
I'm having some issues with oscformat and slashes ( / ). Many programs out there use formats such as "/parameter/bla 1", but both oscformat and oscparse don't really cope that well with them.
For oscformat:
"oscformat: no method for '/aa' " appears.
will convert it to /aa/1
that another oscformat object has to be defined for each single string being sent: /aa, /aa/a, /aa/b, ...
For oscparse:
automatically. Which is kind of acceptable, if it's going to be connected with a normal route. But not that much if the message is going to be worked on, and resent.
Or is there any other way of doing this? The documentation doesn't present anything else. It took some time of screaming at the computer until I compared the results with mrpeach's objects.
Best,
Joao
Hi Joao -
I might be misunderstanding the problem, but to specify an address like "/parameter/bla" you can sen oscformat a list, "parameter bla" (the slashes are delimiters between the elements of the address, each of which is a symbol without any slashes in it.) So you can simply send the message "1" to the object "oscformat parameter bla".
cheers Miller
On Fri, Jul 12, 2019 at 05:48:19PM +0200, Jo??o Pais wrote:
Hi all,
I'm having some issues with oscformat and slashes ( / ). Many programs out there use formats such as "/parameter/bla 1", but both oscformat and oscparse don't really cope that well with them.
For oscformat:
- it's not possible to send a string starting with a slash, the message
"oscformat: no method for '/aa' " appears.
- A hack can be done by sending a message [set /aa, bang( ...
- ... but this doesn't work if the message to send is /aa 1, as oscparse
will convert it to /aa/1
- defining an object as [oscformat /aa] seems to work, but it will mean
that another oscformat object has to be defined for each single string being sent: /aa, /aa/a, /aa/b, ...
For oscparse:
- when it receives a message with slashes in it, it removes the slashes
automatically. Which is kind of acceptable, if it's going to be connected with a normal route. But not that much if the message is going to be worked on, and resent.
Or is there any other way of doing this? The documentation doesn't present anything else. It took some time of screaming at the computer until I compared the results with mrpeach's objects.
Best,
Joao
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
that is correct - but that will mean that for every new string, a new oscparse must be created, in contrary to the current practice, where the message has all the addresses in it. 2 other issues, but I can't reproduce them here:
doesn't accept it. When I send the same message with mrpeach, it works. In Pd (and even through unpackOSC) they look the same.
the same way as mrpeach: the output in Pd is "symbol /output_1", and route doesn't filter the content.
I didn't check the exact osc code traffic, maybe later I can do that.
Joao
Am Fr., 12. Juli 2019 um 18:18 Uhr schrieb Miller Puckette msp@ucsd.edu:
Hi Joao -
I might be misunderstanding the problem, but to specify an address like "/parameter/bla" you can sen oscformat a list, "parameter bla" (the slashes are delimiters between the elements of the address, each of which is a symbol without any slashes in it.) So you can simply send the message "1" to the object "oscformat parameter bla".
cheers Miller
On Fri, Jul 12, 2019 at 05:48:19PM +0200, Jo??o Pais wrote:
Hi all,
I'm having some issues with oscformat and slashes ( / ). Many programs
out
there use formats such as "/parameter/bla 1", but both oscformat and oscparse don't really cope that well with them.
For oscformat:
- it's not possible to send a string starting with a slash, the message
"oscformat: no method for '/aa' " appears.
- A hack can be done by sending a message [set /aa, bang( ...
- ... but this doesn't work if the message to send is /aa 1, as oscparse
will convert it to /aa/1
- defining an object as [oscformat /aa] seems to work, but it will mean
that another oscformat object has to be defined for each single string being sent: /aa, /aa/a, /aa/b, ...
For oscparse:
- when it receives a message with slashes in it, it removes the slashes
automatically. Which is kind of acceptable, if it's going to be connected with a normal route. But not that much if the message is going to be
worked
on, and resent.
Or is there any other way of doing this? The documentation doesn't
present
anything else. It took some time of screaming at the computer until I compared the results with mrpeach's objects.
Best,
Joao
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
I think I delimited the issues more cleary, here is a patch that shows the problems.
Am Fr., 12. Juli 2019 um 19:26 Uhr schrieb Christof Ressi < christof.ressi@gmx.at>:
but that will mean that for every new string, a new oscparse must be
created, in contrary to the current practice, where the message has all the addresses in it.
mrpeach: [/foo/bar 1 2 3( -> [packOSC] Vanilla: [set foo bar, 1 2 3( -> [oscformat] *** mind the comma! ***
the output in Pd is "symbol /output_1"
are you sure? the output should be "symbol output_1" (without a slash!)
and route doesn't filter the content.
[oscparse] outputs a list, so you have to send it to [list trim], then you can use [route] in the way you intend it.
Christof *Gesendet:* Freitag, 12. Juli 2019 um 19:15 Uhr *Von:* "João Pais" jmmmpais@gmail.com *An:* "Miller Puckette" msp@ucsd.edu *Cc:* "pd-list@lists.iem.at" pd-list@mail.iem.at *Betreff:* Re: [PD] Problems with oscformat (and oscparse?) and slashes that is correct - but that will mean that for every new string, a new oscparse must be created, in contrary to the current practice, where the message has all the addresses in it. 2 other issues, but I can't reproduce them here:
- when I send an address with a number added to it, the external program
doesn't accept it. When I send the same message with mrpeach, it works. In Pd (and even through unpackOSC) they look the same.
- when receiving the message "/output_1", oscparse doesn't process it in
the same way as mrpeach: the output in Pd is "symbol /output_1", and route doesn't filter the content.
I didn't check the exact osc code traffic, maybe later I can do that.
Joao
Am Fr., 12. Juli 2019 um 18:18 Uhr schrieb Miller Puckette msp@ucsd.edu:
Hi Joao -
I might be misunderstanding the problem, but to specify an address like "/parameter/bla" you can sen oscformat a list, "parameter bla" (the slashes are delimiters between the elements of the address, each of which is a symbol without any slashes in it.) So you can simply send the message "1" to the object "oscformat parameter bla".
cheers Miller
On Fri, Jul 12, 2019 at 05:48:19PM +0200, Jo??o Pais wrote:
Hi all,
I'm having some issues with oscformat and slashes ( / ). Many programs
out
there use formats such as "/parameter/bla 1", but both oscformat and oscparse don't really cope that well with them.
For oscformat:
- it's not possible to send a string starting with a slash, the message
"oscformat: no method for '/aa' " appears.
- A hack can be done by sending a message [set /aa, bang( ...
- ... but this doesn't work if the message to send is /aa 1, as oscparse
will convert it to /aa/1
- defining an object as [oscformat /aa] seems to work, but it will mean
that another oscformat object has to be defined for each single string being sent: /aa, /aa/a, /aa/b, ...
For oscparse:
- when it receives a message with slashes in it, it removes the slashes
automatically. Which is kind of acceptable, if it's going to be
connected
with a normal route. But not that much if the message is going to be
worked
on, and resent.
Or is there any other way of doing this? The documentation doesn't
present
anything else. It took some time of screaming at the computer until I compared the results with mrpeach's objects.
Best,
Joao
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->