How connecting works
Switch PatternSpace to Generator mode and pick a protocol in the Network Protocol sidebar. Automation from ColourSpace, CalMAN, and PGenerator, and unlimited PatternSpace Remote rendering, require PatternSpace Pro.
ColourSpace
PatternSpace implements the LightIllusion Network Protocol used by ColourSpace's Network Server mode. Here ColourSpace is the server and PatternSpace is the client, so start ColourSpace's Network Server first:
- In ColourSpace (on a Windows PC on the same network), open a Profiling window → Hardware Options → choose Network Server → Connect, and note the IP address and port shown.
- In PatternSpace, choose Generator → ColourSpace, enter that IP and port, and click Connect. On the same subnet PatternSpace can auto-discover ColourSpace over UDP and fill the fields in.
CalMAN
PatternSpace implements Portrait Displays UPGCI (Unified Pattern Generator Control Interface). In PatternSpace choose Generator → CalMAN and note the IP and port; in CalMAN's Source configuration choose UPGCI (sometimes labelled "Network Patch Generator – UPGCI"), enter the Mac's IP and port, and start the workflow — CalMAN initiates the connection.
UPGCI-based pattern sources are not supported in CalMAN Home licenses from the 2024 versions onward. Use a CalMAN license/version that still supports UPGCI.
PGenerator
PatternSpace implements the PGenerator command set over UDP. Choose
Generator → PGenerator and note the IP and port; commands arrive as UDP
datagrams — for example C <R> <G> <B> for a solid patch,
B for black, W for white. Because UDP is connectionless,
PatternSpace shows no "connected" state — the log lists each command as it arrives.
PatternSpace Remote
PatternSpace Remote is the built-in WebSocket/JSON connection for tools
and scripts. Choose Generator → PatternSpace to start the server, note the
IP and port (default 7878), and copy the 4-digit pairing code. Connect a client
to ws://<ip>:<port>/patternspace and send
Authorization: Bearer <code>. The Swift SDK can auto-discover PatternSpace
via Bonjour (_patternspace._tcp).
On the free tier, macOS users can pair a client and render up to 25 evaluation
patches. Only successful render commands (pattern.display,
pattern.displayColor, pattern.displayPatch) count against the
allowance — status, discovery, and pattern-listing calls do not. After the 25 patches are
used the server stays connected and read-only requests keep working, but further render
commands are declined until you buy PatternSpace Pro, which lifts the limit
immediately with no restart. (ColourSpace, CalMAN, and PGenerator require Pro before their
engines start at all.)
Keep Require Auth on. It is enabled by default; turning it off restarts the server without authentication, letting any client that can reach the port connect and control what's on screen — enough to disrupt an in-progress measurement. Use the endpoint and pairing code on trusted local networks only, and leave authentication enabled unless you're doing local testing on a network you fully control.
Put it in a workflow
See the calibration workflow for how these connections fit into measure-correct-verify, and display setup for choosing the Output Color preset your software expects.
FAQ
Which protocol should I use?
Match the protocol to your calibration software — ColourSpace, CalMAN, or PGenerator. Choose PatternSpace Remote for your own scripts and tools over the first-party WebSocket/JSON API.
Do I need PatternSpace Pro to connect?
Automation from ColourSpace, CalMAN, and PGenerator requires Pro. PatternSpace Remote is free for up to 25 evaluation patches per session; Pro removes the limit.
Why doesn't PGenerator show a connected state?
On macOS the PGenerator command set uses connectionless UDP, so there is no persistent connection to display — the log lists each command as it arrives.