hi Ivica and list,
i'm trying to set up the DISIS Max to Unity (mu) communication over TCP/UDP in PD-extended and i can't get it to work. it should be really basic. i've tried it using udpsend/udpreceive and tcpsend/tcpreceive. both return a "Object Not Found" error when it tries to control the rotation on the Cube object.
out of curiosity i checked the message being sent by Max and the one by PD and as far as i can tell they are totally identical - each one sends the message "send Cube r 0 1 0" but the one from Max sends the message correctly - the one from PD doesn't. both programs indicate that the connection has been established and i did not operate them both at the same time, as that would of course lead to conflicts.
the only difference i've encountered so far is that the mu example uses netsend and netreceive objects. there are similar objects available for PD but they don't work with a high port number (over 32000). i can change the Unity Script to look for a lower port number but as if i remember netsend and netreceive did not function well in PD which is why everyone recommended Martin Peach's objects.
anyway i can send examples if interested, but it's really a simple patch, and as far as i can tell the scripts in Unity are looking for any data coming over the port number - they shouldn't care about whether they are looking for data coming out of Max or PD specifically. i'm just talking about the simple rotation demo, not the more complex jitter texture control.
if anyone's got a clue as to where to start looking let me know.
thanks, scott
You need to use netsend/receive (or better yet disis_netsend and disis_netreceive that include a number of fixes including stability improvements that prevent pd-gui freezes)cas the network messages done via Martin's externals are translated to FUDI format while netsend/receive aren't.
As a test you may want to build a simple network client and compare what you're getting when sending using Martin's vs. disis externals...
On 09/22/2012 06:32 AM, Scott R. Looney wrote:
hi Ivica and list,
i'm trying to set up the DISIS Max to Unity (mu) communication over TCP/UDP in PD-extended and i can't get it to work. it should be really basic. i've tried it using udpsend/udpreceive and tcpsend/tcpreceive. both return a "Object Not Found" error when it tries to control the rotation on the Cube object.
out of curiosity i checked the message being sent by Max and the one by PD and as far as i can tell they are totally identical - each one sends the message "send Cube r 0 1 0" but the one from Max sends the message correctly - the one from PD doesn't. both programs indicate that the connection has been established and i did not operate them both at the same time, as that would of course lead to conflicts.
the only difference i've encountered so far is that the mu example uses netsend and netreceive objects. there are similar objects available for PD but they don't work with a high port number (over 32000). i can change the Unity Script to look for a lower port number but as if i remember netsend and netreceive did not function well in PD which is why everyone recommended Martin Peach's objects.
anyway i can send examples if interested, but it's really a simple patch, and as far as i can tell the scripts in Unity are looking for any data coming over the port number - they shouldn't care about whether they are looking for data coming out of Max or PD specifically. i'm just talking about the simple rotation demo, not the more complex jitter texture control.
if anyone's got a clue as to where to start looking let me know.
thanks, scott
i had no idea that TCP/UDP based objects sent with different formats. anyway, changing to netreceive/netsend did the trick! thanks. i have downloaded the disis network objects, but i'm not sure how to compile these on a Mac using Xcode. i'll research it for now.
one other thing - analyzing a typical netreceive command for the Cube rotation i notice i got 50+ messages for just clicking one time only the 'Cube r 0 1 0' sending message (with the metro turned off). i remember the docs mentioning about the message queue being capped at 100 and being adjustable. just wanted to confirm if the repeated copies of (in this case) rotation values for a single click were explained by queue length, or by using standard netsend and netrecieve instead of the DISIS objects. would definitely like to limit the amount of times a duplicate value was sent from Unity if needed.
scott
On Sat, Sep 22, 2012 at 8:16 AM, Ivica Ico Bukvic ico@vt.edu wrote:
You need to use netsend/receive (or better yet disis_netsend and disis_netreceive that include a number of fixes including stability improvements that prevent pd-gui freezes)cas the network messages done via Martin's externals are translated to FUDI format while netsend/receive aren't.
As a test you may want to build a simple network client and compare what you're getting when sending using Martin's vs. disis externals...
On 09/22/2012 06:32 AM, Scott R. Looney wrote:
hi Ivica and list,
i'm trying to set up the DISIS Max to Unity (mu) communication over TCP/UDP in PD-extended and i can't get it to work. it should be really basic. i've tried it using udpsend/udpreceive and tcpsend/tcpreceive. both return a "Object Not Found" error when it tries to control the rotation on the Cube object.
out of curiosity i checked the message being sent by Max and the one by PD and as far as i can tell they are totally identical - each one sends the message "send Cube r 0 1 0" but the one from Max sends the message correctly - the one from PD doesn't. both programs indicate that the connection has been established and i did not operate them both at the same time, as that would of course lead to conflicts.
the only difference i've encountered so far is that the mu example uses netsend and netreceive objects. there are similar objects available for PD but they don't work with a high port number (over 32000). i can change the Unity Script to look for a lower port number but as if i remember netsend and netreceive did not function well in PD which is why everyone recommended Martin Peach's objects.
anyway i can send examples if interested, but it's really a simple patch, and as far as i can tell the scripts in Unity are looking for any data coming over the port number - they shouldn't care about whether they are looking for data coming out of Max or PD specifically. i'm just talking about the simple rotation demo, not the more complex jitter texture control.
if anyone's got a clue as to where to start looking let me know.
thanks, scott
-- Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Head, ICAT IMPACT Studio Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net
Not sure why you are getting repeated messages. You shouldn't, but then again I am not sure how your patch works.
HTH On Sep 22, 2012 1:17 PM, "Scott R. Looney" scottrlooney@gmail.com wrote:
i had no idea that TCP/UDP based objects sent with different formats. anyway, changing to netreceive/netsend did the trick! thanks. i have downloaded the disis network objects, but i'm not sure how to compile these on a Mac using Xcode. i'll research it for now.
one other thing - analyzing a typical netreceive command for the Cube rotation i notice i got 50+ messages for just clicking one time only the 'Cube r 0 1 0' sending message (with the metro turned off). i remember the docs mentioning about the message queue being capped at 100 and being adjustable. just wanted to confirm if the repeated copies of (in this case) rotation values for a single click were explained by queue length, or by using standard netsend and netrecieve instead of the DISIS objects. would definitely like to limit the amount of times a duplicate value was sent from Unity if needed.
scott
On Sat, Sep 22, 2012 at 8:16 AM, Ivica Ico Bukvic ico@vt.edu wrote:
You need to use netsend/receive (or better yet disis_netsend and disis_netreceive that include a number of fixes including stability improvements that prevent pd-gui freezes)cas the network messages done via Martin's externals are translated to FUDI format while netsend/receive aren't.
As a test you may want to build a simple network client and compare what you're getting when sending using Martin's vs. disis externals...
On 09/22/2012 06:32 AM, Scott R. Looney wrote:
hi Ivica and list,
i'm trying to set up the DISIS Max to Unity (mu) communication over TCP/UDP in PD-extended and i can't get it to work. it should be really basic. i've tried it using udpsend/udpreceive and tcpsend/tcpreceive. both return a "Object Not Found" error when it tries to control the rotation on the Cube object.
out of curiosity i checked the message being sent by Max and the one by PD and as far as i can tell they are totally identical - each one sends the message "send Cube r 0 1 0" but the one from Max sends the message correctly - the one from PD doesn't. both programs indicate that the connection has been established and i did not operate them both at the same time, as that would of course lead to conflicts.
the only difference i've encountered so far is that the mu example uses netsend and netreceive objects. there are similar objects available for PD but they don't work with a high port number (over 32000). i can change the Unity Script to look for a lower port number but as if i remember netsend and netreceive did not function well in PD which is why everyone recommended Martin Peach's objects.
anyway i can send examples if interested, but it's really a simple patch, and as far as i can tell the scripts in Unity are looking for any data coming over the port number - they shouldn't care about whether they are looking for data coming out of Max or PD specifically. i'm just talking about the simple rotation demo, not the more complex jitter texture control.
if anyone's got a clue as to where to start looking let me know.
thanks, scott
-- Ivica Ico Bukvic, D.M.A Composition, Music Technology Director, DISIS Interactive Sound & Intermedia Studio Director, L2Ork Linux Laptop Orchestra Head, ICAT IMPACT Studio Virginia Tech Department of Music Blacksburg, VA 24061-0240 (540) 231-6139 (540) 231-5034 (fax) disis.music.vt.edu l2ork.music.vt.edu ico.bukvic.net