Video Projector remote control
I need to control a video projector from inside Max. Basically I only need to be able to switch it on and off. It is a brandnew EPSON with PJLink accessability. Unfortunately Max send only upd-protocol controls, which PJLink does not accept. I found a small app that starts the projector with opening the app and turning it off with closing (Quit) the app. With "; max launchbrowser" I can open the app and by that start the projector, unfortunately switching off the Mac does not switch of the app, so that the projector continues to run. Is there any trick to send a "Quit" - command to an external app in order to turn if off?
Thanks for help and advice
After a quick look at the PJLink specs (https://pjlink.jbmia.or.jp/english/data_cl2/PJLink_5-1.pdf ) is seems it is using UDP to communicate between devices. The [udpsend] object in max is unfortunately named somewhat misleading as it doesn't sent pure UDP data but is an implementation of OSC.
Back in the days I used the Java implementation to send UDP [mxj net.udp.send]. maybe you can figure out something from there. I could also imagine that there nodeJS packages that could help.
Hi Jan,
Thanks for your advise. Unfortunately I am not firm with java. I downloaded Azul java 19.jdk and the terminal confirmed the installation, I restarted the computer, but when I create the "mxj net.udp.send"-object it is brown, and the concole says :" cannot get_java_vm" and "Unable to create JVM"
Can you help me making it run?
Many Thanks
You could also install the sadam library in Max' Package manager.
It includes sadam.udpSender that could help you.
Hi PDELGES,
thanks for your advice, but again I am afraid I am overwhelmed, from the help-patches, I understand that I can send numbers, but no commands like "Quit" or "Start" or "Stop" to another entity, which is what I would need to do. Please apologize I am an artist and not very skilled in software programming, although I can use Max up to a point as well, but then I have my limits. Do you think you can give me a more deep advice how to handle this? In any case, thanks for your help.
May I ask one more time.
I followed the instructions of the AZUL java site and installed the idk from them. It shows in the terminal that it is installed, but Max does not recognise it. Do I need to do anything in Max to be able to find it?
Thanks for help
You need oracle java, who told you to install that azul stuff ?
P.S. I don't think max udpsend object has problems sending simple messages like Start or Stop.
Sadam udp.sender sends ascii bytes.
all you need to use it instead of udpsend
(for whaver reason ?)
is to insert atoi between message and sadam.udpSender
please go to "max Reference" page, there is a link, where to get the Java stuff and it leads directly to Azul. In other words: Cycling '74 recommended it. But OK, I will try to get the Oracle stuff.
What I need to do is switch a video projector ON and OFF that understands the PJLink protocol, from within a Max patch that will also playback the videos. I got also the video stuff working, but have no experience with Java or other network things. If anyone can give me a detailed hint, how to do that I would be very happy. I know the tcp-address of the projector and the port number, but do not understand how to link both. the regular "udpsend"-command in Max does not do it.
thanks
I downloaded Oracle Java JDK and checked in the terminal, that confirms its appearance.
Nevertheless any mxi-object is still browned the console says "Cannot get_java_vm" and "Unable to create JVM". Can anyone give me a clue, what the reason might be?
why don't you post what exactly you need to send and to what
IP address / port ?
I can not help you with new MacOS - Java, use old systems only.
It looks as if UDP protocol is not used to control that projector,
but TCP.
Can you confirm that ?
from that pdf file it looks as if UDP is used only to querry
projectors IP and states, not to control it.
If you use M1 mac, sadam libs will work only in rosetta.
Which again forces you to run in emulation, or to manage to install java.
Wrong -- I just looked at sadam executable - it is ARM compatible, sorry.
You can use sadam.tcpSender to send that messages.
convert hex to decimal and send the list.
example decimal ASCII string:
power off : 37 49 80 79 87 82 32 48 13
power on : 37 49 80 79 87 82 32 49 13
Hi Souerce Audio, thank you so much, I will check this out.
My problem with Java is the computer itself, on my other comp it works, I upgraded already the OS, made disc repair, installed Max again, but it does not accept Java. I will call AppleCare