OscProxy

I haven’t been able to get this working either.

The (mac) IP address is correct in the OscHost run.sh on the organelle. I’m also using organelle.local in the client run.sh (rather than “organelle”).

I run OscProxy on the organelle, then the client on the mac via terminal. Open mother.pd (from the organelle 3.1 OS upgrade - is this correct?) and I see no knob movement :frowning:

I can get to the organelle web patch manager OK from the same mac.

PD log output shows a bunch of issues: (I’m a bit new to pd myself, but not new to macOS & networking & software dev)…

tb_peakcomp~ -3 8 10 100 0
... couldn't create
 pvu~ 100
... couldn't create
 pvu~ 100
... couldn't create
 pvu~ 100
... couldn't create
 pvu~ 100
... couldn't create
 udpreceive
... couldn't create
 unpackOSC
... couldn't create
 packOSC
... couldn't create
 udpsend
... couldn't create
 routeOSC /quitpd
... couldn't create
 routeOSC /key
... couldn't create
 routeOSC /fs
... couldn't create
 routeOSC /knobs
... couldn't create
 override 20
... couldn't create
 override2 20 1
... couldn't create
 override2 20 2
... couldn't create
 override2 20 3
... couldn't create
 override2 20 4
... couldn't create
 routeOSC /midich
... couldn't create
 routeOSC /midiInGate
... couldn't create
 routeOSC /midiOutGate
... couldn't create
 routeOSC /midiOutCh
... couldn't create
 routeOSC /midiInCh
... couldn't create
 routeOSC /encoder/turn /encoder/button
... couldn't create
 routeOSC /saveState
... couldn't create
/tmp/patch/knobs.txt: can't open
/tmp/patch/knobs.txt: read failed

From earlier post…

Fyi:

on OSX pd externals = external.pd_darwin
on osx pd externals = external.pd_linux
on windows pd externals = external.pd_.dll

You can use the override.pd and override2.pd externals from my zip file but the rest you’ll have to find yourself. I downloaded the Windows version of pd-extended to get the rest, I assume you could do the same for MacOS.

Put these files in the same folder as mother.pd.

I also gave links, and explanations in my third post on this topic, as to where to get things from.

Thanks. I’ll see if I can get desktop-mother.pd working with it first, then start hunting down the externals.

1 Like

I’m also having issues getting this to work on mac. I have all of the relevant externals in /Library/Pd/Organelle except “vnu~.pd_darwin”, which appears to no longer be available at this location.

Here’s what I’ve been doing: first launch OscProxy from the Organelle, then on my mac run OscProxy from /Clients/macos/OscProxy (right-click, open in terminal). Then I open mother.pd from my /Library/Pd/Organelle directory and get the following errors in PD:

tb_peakcomp~ v1.0 2013 Two Big Ears
pvu~ 100
… couldn’t create
pvu~ 100
… couldn’t create
pvu~ 100
… couldn’t create
pvu~ 100
… couldn’t create
udpsend: connecting to port 4001
/tmp/patch/knobs.txt: can’t open
/tmp/patch/knobs.txt: read failed

At this point I’m not seeing any input from my organelle. I don’t think it’s a network issue because I can access the web server without any issues and “ping organelle” works in terminal. Also, I did indeed change the ip in the run.sh file in the organelle. It’d be awesome if anyone could point me in the right direction. Thanks!

You then need to open an Organelle patch from the same Pd window. Start small with basic poly.

Okay, when I open a patch I can see the Organelle updates its screen with the patch display and the aux light comes on, but there’s no sound. No parameters appear to be changing while moving knobs/pushing buttons.

This is the same as I get, although remember the sound comes from your computer, not the Organelle.

yeah, your audio (and midi) devices need setting up in PD on your desktop (use audio/midi tests to check), you can then save as default.

so the screen changing on the Organelle means you Desktop is talking to the Organelle, so the OscProxy on the desktop is working :+1:

controls not coming thru from the Organelle, means the OscProxy running on the Organelle is not configured correctly…
so log on to the Organelle, look at what you have added to /usbdrive/System/OscProxy/run.sh and try to ping the address , does that work?
(also post here the last line of run.sh so I can see it here)

if the ping works, then the question is why does PD not see it…
the way I would test this is to use a utility called oscdump and oscsend (in liblo_tools) , this allows you to manually send osc messages to see if you can receive them on the desktop

another thing i would check is that you firewall is not block UDP port 4000 and 4001 , perhaps turn it off temporarily…
if its blocking it, then you can add rules to firewalls to allow from particular hosts (i.e. your organelle).
(sorry , I cant give you specific guidance on this, as all firewalls are configured differently)

UPDATE
ok, Ive done a test on my Windows 10 laptop, as I indicated previously, windows is blocking the traffic from the Organelle
if your using windows defender as a firewall, what you can do is add a new rule to allow access
basically process is:
a) create new rule,
b) rule type = port
c) applies to UDP
d) specified local ports : 4000,4001
e) action : allow connection (open, do not go for secure!)
f) rule applies : private
g) name: Oscproxy (or whatever else you want to call the rule)
h) finish
if its still doesnt work, review the above :wink:

you will then find this rule listed under ‘inbound connection’, and can disable/enable if you feel inclined

the above basically is what you need for any firewall, but how to achieve it may differ. similarly it may differ on previous versions of windows, but the basics are the same

(you could probably tighten the rule up even more, eg. by listing OscProxy as the app, but I would only attempt that once you have it working!)

1 Like

Thanks for the suggestion, and have done editing Windows Firewall with Advanced Security (on Windows 7) following the directions explicitly but it still doesn’t work for me unfortunately.

hmm, perhaps try turning the firewall off (temporarily) so you know its not getting involved.
(also check your router doesn’t also have a firewall)

also perhaps see if you can find some firewall logs, which tell you if data is being rejected…
I did have a quick look on windows defender, but unfortunately couldn’t find anything, even though I could clearly see it was rejecting them… (and hence the rule solved the issue )

unfortunately, as mentioned above, the only way I know how to test this, is to start installing osc tools (so you can manually send an receive osc messages) to debug it, but thats not something we can get into, as it opens a whole can of worms.

I guess, you could write a quick pd patch to do it on the Organelle and PC if you wanted to , but I suspect you will just find the same, that you send osc messages but they never arrive on you PC, as something is blocking them

Thanks for your suggestions. I logged on root@organelle via ssh and pinged my mac ip and it successfully exchanged packets back to the mac (though this might be redundant if I’m already ssh’d). Here’s the last line of my run.sh file:

./OscProxy 4000 192.168.1.45 4000 &

Also, my firewall is already off on my mac. I can try oscdump, but this may be at the limit of my Pd knowledge (I was hoping to use OscProxy as a Pd learning tool as well). Are there alternative ways to edit Pd patches live from the Organelle without hooking up a monitor?

And 192.168.1.45 is the ip of your Mac?

Can you on the organelle , after restarting it just run this run.sh from the command line, and the turn a knob, see if any errors are reported.

Also I assume you are running the oscproxy from patchstorage (and not built it from the repo, as that what is in a state of dev!)

I’m at a bit of a loss, I use this all the time on Mac , without issue…

Editing patches on the Mac is also possible, see the x11 remote thread, but some have had networking issues getting that working too.

What I should really do is do an installer for a vncserver as I suspect that will work for everyone.
But these networking issues make me a little reluctant if I’m honest.

Daft question, how can I tell the ip address of my Windows laptop? The ip address I get from ipconfig is the ip address of my router.

Yep that’ my mac ip. Here’s the message when running run.sh:

[root@organelle OscHost]# sh run.sh
.
sh: line 1: 6039 Terminated /usr/bin/pd -rt -nogui -audiobuf 4 -path /usbdrive/PdExtraLibs “/root/mother.pd” main.pd
OscProxy: no process found
unrecognised osc message received /oled/clear 1
[root@organelle OscHost]# ./OscProxy: error while loading shared libraries: liboscpack.so: cannot open shared object file: No such file or directory

Not sure if I did that right. I did get something working from the x11 remote thread though, so I guess that’ll do the trick for now, though it’s pretty laggy. Specifically, I typed this in terminal (with Organelle connected to wifi):

-X -C root@organelle xterm

enter organelle as pw, then type this in the xterm window:

~/scripts/restart-mother.sh

Then launch a patch on the organelle, and Pd pops up on the laptop with all the knobs and buttons responding.

ok, thats an issue - I’ll fix it after lunch and post it on patchstorage

ok, uploaded a new version that fixes that issue
(a bit confused why my local version was different from the one on patchstorage, must have forgotten to copy it up!)

note: its only the OscHost/OscProxy that has changed, so you dont have to copy the client bit again if you dont want.

X laggy, interesting its ok here, hardly any different from running locally, perhaps your wifi is a bit slower or something - the reason im not a great fan of it, is the keyboard mapping is different for X and Mac, so when switch between running PD on the mac and X, it gets a bit confusing.

@ghostly606
you should be able to get the windows ip address with ipconfig, then try to ping that from the organelle.
you will also need the updated OscProxy on the Organelle

Hi @thetechnobear, the upload on Patch Storage seems to have gone awry, there is nothing in the folders… :wink:

Oops, I’ll fire up the organelle and reupload it.

EDIT: oops busy on other things, will try to do it later :wink:

1 Like