PTZ Camera Control

These user actors are for use with the PTZOptics PT20X-SDI-G2 camera (and other cameras that use the VISCA protocol). Control is done through commands based on VISCA protocol through TCP / IP. If you use another form of communication (RS-232, RS-485 e.g.) the sent commands do not change. The PTZ control of the camera is done through an HID compatible arcade joystick (you can use whatever you want but it has to be HID) and you will have to configure the ports in Isadora to correspond with the functions.

Runtime Recorder

This User Actor can record your start time, current time, and runtime into a text file. If you put this in a background Scene at the beginning of your file, you can use it to automatically record the exact time your show starts, ends, and how long it lasted. This can also be useful for debugging if you’re leaving a file running long-term and finding that it experiences issues after a certain amount of time. This User Actor allows you to:

  • Define a suffix to add to the filename
  • Set the interval at which you want it to write the current time and runtime to the text file.
  • Turn it on and off (which will start the timer over in a new file)
  • See the filename, start time, last recorded time, and runtime on its outputs.

Please note that this User Actor should be put into a background Scene (video tutorial, written tutorial) that you leave active, as you need to enable the User Actor and then have it continue to be in an active Scene in order to keep updating the times in the text file. Every time you enable and disable this User Actor, or leave and re-enter the Scene it’s in, the User Actor will create a new text file with a new start time.


Changelog v3 – 2022-12-07

  • Fixed some math inside the Time Converter User Actor that’s used internally.


Changelog v2 – 2022-12-06


  • Added a non-functional “—write interval—” input purely for labeling purposes. (It relates to the inputs below it.)
  • Renamed the pre-existing write interval inputs from “write interval (mins)” and “write interval (secs)” to “mins” and “secs”
  • Added write interval inputs for weeks, days, and hours (so now the write interval can be any combination of weeks, days, hours, minutes, and seconds).


  • Cleaned the text on the outputs so that a fresh version of the User Actor shows timecodes of “00:00:00” instead of the random values that were present when I ran my last test
  • Added a “write” output in case anyone wants to trigger anything at the same time
  • Connected the “Runtime” output to the series of actors that makes the runtime timecode. Previously it was connected to the associated output on the Data Array, so it would only update at whatever interval you set. With this change, the runtime output will update for you visually in real time instead of at the set intverval.


  • Added Javascript-powered User Actor inside to handle time conversion from weeks/days/hours/minutes/seconds to total seconds for the intervals.

JS text – Matching, splitting, joining

This JavaScript example patch has five scenes. Each scene in the patch deals with a number of methods and provides examples for typical text based task useful when working with text based data sources e.g. XML, HTTP, JSON.

Scene 1: Searching or matching text

Scene 2: Searching or matching multiple text simultaneously

Scene 3: Joining text

Scene 4: Splitting text

Scene 5: Replacing text

Auto-Launch Isadora and Enable Serial Ports Workflow for macOS

This Auto-Launch Isadora and Enable Serial Ports Workflow for macOS will allow you to set up an Apple computer so that, whenever you turn it on, it automatically logs in, launches Isadora, and triggers the “Enables Serial Ports” menu command. Once you understand the process, with a little bit of Googling for the correct bits of AppleScript, you’ll be able to automate all sorts of things on startup for macOS-based Isadora art installations.

The download includes an Automator workflow, a detailed readme document, and an AppleScript file (in case you want to edit or adapt the script yourself).

Note: If you are on Windows, you can trigger hotkeys for menu items in Isadora by using Andy Carluccio’s AutoHotkey Launcher Actor:

Date Comparison User Actors

These are various User Actors for comparing two dates, re-formatting dates, and checking if an expiration date has been reached. Thanks to Andy Carluccio of Liminal Entertainment Technologies for providing the JavaScript that made this all possible. 

Changelog: v2:

  • Added an expanded version of the Date Convertor User Actor (Date Convertor v2)
  • Added a new User Actor (Date Validator) created with more Javascript from the generous and brilliant Andy Carluccio.

1 Wii Remote

An Isadora User Actor, Isadora Patch, and OSCulator file that allows control of Isadora via OSC using a Wii Remote. OSCulator is a Mac-only software that costs $20 USD and, among other things, allows you to use a Wii Remote as a wireless controller by taking the data collected from the Wii Remote and transmitting it via OSC or MIDI to other software on your computer. When paired with Isadora, it allows you to use the Wii Remote as an interactive controller/data source for anything inside your Isadora Patch. CHANGELOG v3 – 2022-05-31

  1. Updated the Wii Remote User Actor to allow the first OSC Channel to be set (so it’s easier to move to different files)
  2. Gave the Wii Remote User Actor a new input and four new outputs that give information about the chosen item (OSC channel, OSC address, function, location of button).
  3. Added a Comment to the first Scene that explains how the Wii Remote User Actor works.
  4. Added a Comment to the first Scene that explains how to use the Wii Remote User Actor with a file that isn’t the example file (and therefore doesn’t already have the OSC addresses setup).
  5. Created a User Actor for each of the three Logic examples in the second Scene (and added them to the download).
  6. Organized and labeled the OSC Multi Listeners better in the third Scene.
  7. Added screenshots of the OSCulator settings to the download.
  8. Added a text file with the OSCulator OSC addresses.

v2 – 2020-11-04

  1. Changed the OSCulator file so that it uses port 8001 instead of port 8000 so that it does not conflict with ZoomOSC.
  2. Added three examples of how I use the Wiimote.
  3. One set of examples that trigger if the chosen button is pressed and released 3x within the span of 1 second.
  4. One set of examples that prevents you from triggering things with the “GO” button unless the “primer” button held down.
  5. One set of examples where accelerometer data is only allowed to pass through when a specific button is held down.

Audio Trigger

A simple User Actor that allows a sound file to be selected and then triggered with Keyboard Watcher, MIDI Note, MIDI Control Change, or OSC.

  • For MIDI Notes it triggers when sent the specified note at any velocity, so make sure not to send a note off or you’ll double-trigger it.
  • For MIDI Control Changes it triggers when sent the specified controller at the specified value.
  • For OSC it triggers when a value is sent on the specified channel that is greater than or equal to the specified value (default is 1 so it can be used with buttons that send 1/0).
  • If you want it to trigger on value 0 for OSC, you’ll need to open up the User Actor and make sure to change the ‘value1’ input of the Comparator actor to initialize at a value other than zero.
  • If you want it to change the mode of the Comparator actor for OSC, you’ll need to open up the User Actor and change it inside the User Actor.

The download also includes a template Isadora Patch with a Scene that contains 18 of the User Actors, with ten of them already set to use keys 1 – 9 and 0.

Simple MIDI Example

A short example file showing some simple ways to use MIDI notes to change values in your patch. It includes two screenshots showing basic Live Capture and MIDI Setup for sending MIDI notes from Isadora to Isadora. The patch covers:

  • Starting Live Capture
  • Sending MIDI from Isadora to Isadora
  • Using a Text Draw actor to display the incoming MIDI Note and a Speak Text actor to say it.
  • Colorizing live video dynamically based on the pitch of the MIDI note.
  • Colorizing Shape with one of three pre-selected colors based on which of three ranges the incoming MIDI note falls into.
  • Colorizing a pulsing/exploding shape with Explode and a Decay Generator
  • Using the MIDI note to change the color of the Live Drawing actor while using the mouse to draw.
  • Using the MIDI note to change the color of the Live Drawing actor while using the pitch and velocity of the note as x/y coordinates, letting you draw automatically with the random MIDI notes.

JavaScript String Length

This User Actor can be fed a string of characters (or a value) and will tell you the number of characters (length) of the input. There is also an input that affects the count for the “value” input which allows you to either ignore or not ignore the “-” character if the incoming number is negative. 

Example Strings:

Bob = 3

Terry = 5 

Example Values:

76 = 2

0.3 = 3

-0.3 = 4 (with Ignore “-” set to “off”)

-0.3 = 3 (with Ignore “-” set to “on”)