Sending 'GO" from an Apple Watch Ultra Action Button

77 views
Skip to first unread message

Ben Jackson

unread,
Jun 30, 2024, 5:53:29 PM (5 days ago) Jun 30
to QLab

I have not been able to find any solution to this from anyone. Apple Watch doesn't allow "Apple Scripts" to be run, but it does allow SSH and shell scripts to run. So I figured there must be a way to send OSC messages over SSH, but no solution was apparent. Here's a way to do it.

First install brew, python3, pip etc and all that. I'm doing all this on macOS, so also turn on 'remote login' in sharing.

install python-osc:

python3 -m pip install python-osc

make a file called send_osc.py, i used bbedit

paste in this:

from pythonosc import udp_client

# Define the IP address and port of the QLab machine

ip = "ENTER_IP_OF_MAC_WITH_QLAB"

port = 53000

# Create the UDP client

client = udp_client.SimpleUDPClient(ip, port)

# Send the "/go" OSC message, will just send go on whatever workspace is front but you can set whatever OSC message you want here

client.send_message("/go", None)

Then make a shell script file, call it 'send_qlab_go.sh'

put this in the script:

#!/bin/bash

# Use the full path to Python

/opt/homebrew/bin/python3 /yourlocation/send_osc.py

Then make a shortcut in Apple Shortcuts. Select the 'run script over ssh'

Put the command as /yourlocation/send_qlab_go.sh changing yourlocation to the location of the script on your mac

put in the other details, IP, username password.

Then save the shortcut, and then add the shortcut as the 'action button' shortcut in watch settings app.

Activating the shortcut on the mac is instant, via the apple watch there's about 1 second delay. But it works.

So not useful for cues that need exact to the millisecond timing, but for my purposes (and to save the $1200 cost of AUDIO APE) it's fine.

Hope it's useful to someone else.

Rich Walsh

unread,
Jul 1, 2024, 7:48:12 AM (4 days ago) Jul 1
to ql...@googlegroups.com
Three things that I would have thought would be easier, so did you confirm these don’t work?

  1. Use osascript as your shell command, eg: osascript -e "tell application id \"com.figure53.QLab.5\" to tell front workspace to go”. You might have to include “of machine "eppc://username:passsword@IPaddress"” and send this as a remote Apple event…
  2. Use netcat to send an OSC-like message: echo /go | nc -u -w 0 127.0.0.1 53535 (with the right IP address).
  3. Use MIDI instead, eg: https://uwyn.com/midiwrist/ – which appears to be a MIDI controller app for watchOS?

I also found three ways of apparently sending OSC without having to install Python:


Could any of those have been directly via the Shortcut?

Rich

--
Contact support anytime: sup...@figure53.com
Follow QLab on Threads: https://threads.net/@QLabApp
User Group Code of Conduct: https://qlab.app/code-of-conduct/
---
You received this message because you are subscribed to the Google Groups "QLab" group.
To unsubscribe from this group and stop receiving emails from it, send an email to qlab+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/qlab/ef12a0be-9737-4945-9c0a-1035a2f55221n%40googlegroups.com.

Ben Jackson

unread,
Jul 2, 2024, 6:31:05 AM (3 days ago) Jul 2
to QLab
Oh I love this even more. No python. First one didn't work, the netcat one did though! Basically i got to the python solution as I was nutting out the issue with chatGPT and it suggested i try python script, but yes being able to directly do it without installing is much better, and it doesn't need to have any actual script files on a mac. So i just put the command in the 'run script over ssh' in shortcuts, and then put in the IP of my Qlab machine with a username and password and voila! Much slicker. I'm so glad I posted!! Thanks Rich!
Reply all
Reply to author
Forward
Message has been deleted
0 new messages