ToucanType · Guide
From a Disguise tag to an Eos cue.
Everything you need to get ToucanType talking to the Disguise server and your lighting console, and write your first cue — written for someone who has never opened the app.
macOS 13 (Ventura) or later · ETC Eos · Disguise
How it works
ToucanType sits between the Disguise server and the lighting console on your production network. It reads the notes and tags off a track in Disguise, and writes the matching cues into a cue list in ETC Eos. Nothing is installed on either — the server is read over Disguise's own web API, and the console is driven over OSC, exactly as any other show-control device would be.
Two pieces of information make the trip. The cue number, which comes from the cue's tag, and the label, which comes from its note. Everything else — scene names, delay times, whether a cue is made or updated — is worked out from those two.
Notes and tags on a track's timeline. The tag carries the number, the note carries the text.
Reads the track, compares it against the Eos cue list, and shows you what is missing, changed or already correct.
Cues recorded into your video cue list, numbered and labelled to match.
What you need
- A Mac running macOS 13 (Ventura) or later.
- The Disguise server on the same network, and its IP address.
- An Eos console or ETCnomad on the same network, and its IP address.
- A Disguise fixture patched in Eos, if you want to use sACN mode — you'll need its channel or group number.
- A license to make cues. The app is free to download and free to connect to both, so you can get all the way to the cue list before you buy.
Connect to Eos
ToucanType talks to Eos over OSC on TCP, so both ends need to agree on a port.
On the console
Go to Setup → System → Show Control → OSC and enable OSC TX and RX. The default OSC TCP server port is 3032. Custom ports are configured in the same place, under OSC TCP Server Ports.
If you can't get OSC TX/RX to enable, use port 3037 instead. ToucanType has a Try Port 3037 button for exactly this — it's the usual fix on a console where the standard port is already spoken for.
In ToucanType
Open Settings and fill in the Eos Address and Eos TCP Port. Consoles that announce themselves on the network appear under Discovered Devices, so in most cases you can pick yours from the list rather than typing an address.
- OSC version
- Use OSC 1.1 (SLIP), and set the console to SLIP framing to match. OSC 1.0 (PLH) is only there for older setups that can't offer SLIP.
- Eos software version
- Set Version 2 or Version 3. Changing this needs a relaunch of ToucanType.
Choosing a user
Connect As decides which user's command line ToucanType types into on the console — so it decides who it interrupts. It's the setting most worth getting right before you point the app at a show.
- Automatic
- Commands go to whichever user is currently active on the console. This is the one you want when video has a user of its own — a separate desk logged in as a video user alongside the LX programmer — because ToucanType is then typing on a command line nobody else is using.
- Specify User
- Pins commands to a user number you choose. Use this whenever you're connected to the main lighting console, so ToucanType doesn't overwrite whatever the programmer is typing. The user you name must have control enabled for the fixtures you're recording, or the commands won't take.
The status line at the top of the window tells you whether the console is connected, and how many cues have been read back from the cue list.
Connect to Disguise
Put the Disguise server's IP address into Disguise Address in Settings. ToucanType reads from Disguise's web API over standard HTTP — there's no port to set and nothing to enable on the Disguise side.
Once it connects, your setlists appear. Pick a setlist, then pick a track from it. The tagged cues on that track load into the main list as Disguise Cues, and the count is shown underneath.
Selecting a different track reloads the list. If you've just added cues in Disguise and they aren't showing, use the refresh — ToucanType reads the track when you ask it to, not continuously.
Marking cues in Disguise
Disguise marks the timeline with tags and notes. Both appear together in the Cue List, where each row has a note field and a cue field alongside its track name — which is why the label and the number always sit at the same point on the timeline. ToucanType reads one of each per cue:
- The cue field
- Enter the cue number straight into the row's Cue field —
00.11.10in sACN format, or11.1in numeric. That value becomes the Eos cue number. There's no type to set: Disguise stores it as a cue tag, which is what ToucanType reads. - The note field
- The text that becomes the Eos cue label —
Opening video, say. Double-click the note field on the same row to add or edit it.
A cue with no note against it falls back to showing its own value as the name, which is rarely what you want on the console — so fill in the note.
Timecode tags on the same track are read too, and can be hidden from the list. Only cue tags are ever written to the console.
sACN or Numeric
This is the single most important setting, and it lives in Settings as Tag Type. It decides how ToucanType reads your tags, and how much it writes to the console.
sACN
Tags are written as three two-digit pairs — xx.yy.zz. The shape isn't arbitrary: it is how the Disguise fixture receives a cue number over sACN. The fixture carries the number across three parameters — _Cue, Cue_2 and Cue_3 — and each one takes a single pair.
Read left to right the pairs are hundreds, units and hundredths, and together they make the Eos cue number:
Writing the tag this way means both ends read the same. The tag in Disguise shows the digits the lighting desk will send back to the fixture, so you can look at either end and see the same number.
| Tag in Disguise | Eos cue | Reads as |
|---|---|---|
00.11.10 | 11.1 | 0 hundreds, 11 units, 10 hundredths |
01.11.50 | 111.5 | 1 hundred, 11 units, 50 hundredths |
00.05.00 | 5 | a whole-numbered cue |
A tag that isn't three dot-separated parts is marked invalid in the list and won't be written. The format tops out at 99.99.99 — cue 9999.99. Padding each pair to two digits is worth the habit: it's how ToucanType writes the notation when it converts a console cue number back the other way, so both ends stay identical.
In sACN mode ToucanType writes those three pairs into the fixture's parameters as it records each cue, and blocks them — see Live, Blind, Block and Cue Only.
Set the fixture's channel under Group in Settings. The toggle beside it decides whether ToucanType addresses it as a group (Group 5) or as a plain channel number (5).
Numeric
Tags are the Eos cue number itself — 11.1. In this mode ToucanType only makes and labels cues — it writes no parameter data and doesn't touch a fixture. Use it when the Disguise fixture is triggered some other way, or when you want a cue list built and named and nothing more.
Labels, scenes and delays
Two extra things can be encoded in the note, alongside the text you want on the cue.
Scene names
Wrap a scene name in double slashes at the front of the note and ToucanType sets it as the Eos scene on that cue:
That gives an Eos cue labelled Opening video, with a scene of Act One attached ahead of it.
Delay times
Add (d…) anywhere in the note and ToucanType strips it back out and applies it as the cue's delay.
| In the note | Delay |
|---|---|
(d0.4) | 0.4 seconds |
(d25) | 25 seconds |
(d120) | 2 minutes |
(d1:25.40) | 1 minute 25.4 seconds |
So a note reading Fade to black (d2.5) makes an Eos cue labelled Fade to black with a 2.5 second delay.
On a cue that already has part cues, the delay is applied to part 1 rather than the parent — Eos would otherwise push it onto the first part anyway.
Ignoring a cue
Cues whose name starts with the ignore string — * by default, editable in Settings — are left out of the comparison entirely and never matched against the console. Useful for working notes on the timeline that aren't cues.
Make your first cue
With the server and the console both connected, this is the whole loop, start to finish.
Set the cue list
In Settings, set Video Cue List to the Eos cue list you want the video cues to live in. ToucanType reads that list back and shows you what's already in it.
Add the cue in Disguise
At the point you want the cue, put
00.11.10into the Cue field. Then double-click the note field on the same row and enterOpening video.Refresh the track in ToucanType
The new cue appears in the Disguise Cues list. It will be flagged as one to make, because nothing in Eos carries that number yet.
Select it
Click the row. Select Unmatched picks up everything that doesn't yet exist on the console in one go, which is what you'll use on a real show.
Press Blind
The blue Blind button switches the console into Eos's Blind display, records there, then puts it back. The orange Live button leaves the console in Live and records there instead. Blind is the safe one mid-session — the next section explains why.
Check the console
Cue 11.1 now exists in your video cue list, labelled Opening video. The row in ToucanType turns to a match, and the app waits for the console to confirm before it says so.
ToucanType sends cues in batches. Selecting more than about 80 at once will clear the selection as it goes, so work through a very large list in passes rather than all at once.
Live, Blind, Block and Cue Only
These four decide what actually lands in the cue, and they're the part worth understanding before you point this at a show file.
Blind
Blind is Eos's programming-without-output display: values you set there don't reach the system. ToucanType switches the console into Blind, records the cues, then returns it to whichever display it found it in — so nothing on stage moves and the look currently on stage is left alone. That's what makes it the safe choice mid-session.
If the console can't be switched into Blind, ToucanType stops and tells you rather than falling through to Live and recording on stage by accident.
Live
Live leaves the console in Eos's Live display and records there. Because Live output reaches the system, setting the Disguise fixture happens on stage — the fixture takes each new cue number as ToucanType types it, and then the cue is recorded. Use Live when you want the cue to capture the state the stage is actually in, and expect the video output to move while it works.
Block
In sACN mode, ToucanType blocks the Disguise fixture's parameters in every cue it records. This matters because Eos tracks values forward: without a block, a cue that doesn't assert its own Disguise number would inherit the previous cue's, and the video system would sit on the wrong content. Blocking makes each cue state its own number outright, so jumping into the middle of the list always gives the right video.
Cue Only
When recording live, ToucanType records Cue Only. That stops the values it has just set from tracking forward into the cues that follow, so writing one video cue doesn't quietly rewrite the ones after it. Deletes are sent the same way, so removing a cue doesn't disturb its neighbours either.
Tag data is only written when a cue is made. On an update, only the label, the scene and the delay are changed — the fixture parameters are left exactly as they are. If you need to change the number a cue sends, delete the cue and let ToucanType make it again.
Updating, comparing, deleting
Every row in the list is compared against the console continuously, and told apart by state.
- Make
- No cue in Eos carries this number yet. The button reads Make.
- Update
- The cue exists, but its label, scene or delay no longer matches Disguise. The button reads Update.
- Match
- Nothing to do — the console already agrees.
- Invalid
- The tag can't be read as a cue number in the format you've chosen. Fix the tag in Disguise, or change the tag type.
Delete removes cues from the video cue list that no longer exist on the Disguise track, so the list stays honest after a rewrite.
Compare checks your video cue list against a second list — your main LX list — and shows which video cues have no counterpart there. It flags cues that are missing, cues whose label has drifted, and cues whose delay time disagrees.
Notes in the main cue list, under the Tools menu, writes a note onto every cue in your main list that has a matching video cue, so the LX operator can see at a glance that a video cue exists. It can overwrite the existing note or append to it.
Triggering over OSC
ToucanType can be driven from your show control as well as by hand, which is useful for a fixed key or a macro on the desk.
/toucantype/make/blind
/toucantype/delete
/toucantype/Disguise/refresh
These act on the current selection exactly as the buttons do, so a macro can refresh the track and make everything unmatched without anyone touching the Mac.
When something isn't working
- "Can't reach Disguise"
- The address is wrong, or the server isn't reachable from this Mac. Check you can load the Disguise web interface in a browser from the same machine.
- "Invalid cue number"
- The tag doesn't fit the tag type you've selected. sACN needs three dot-separated parts; numeric needs a plain number. Change the tag, or change the tag type in Settings.
- "Can't put console into Blind"
- Usually a user conflict. Set a specific user under Connect As rather than Automatic, so ToucanType isn't fighting whoever is on the desk — and check that user has control enabled for the fixtures you're recording.
- Nothing arrives at the console
- Check the OSC framing matches — SLIP against SLIP — and try port 3037 if 3032 won't enable. The status line will tell you whether the connection itself is up.
- Cues appear but aren't labelled
- There's no note on that row, so ToucanType is falling back to the cue value for the name. Fill in the note field in the Disguise Cue List and run an update.
Still stuck? Send over what you're seeing, the Eos software version and the Disguise version, and we'll work it out — support@flamingosoftware.co.uk.
Ready to try it
ToucanType is free to download and free to connect to the server and the console. A license is only needed to make cues.
