← Guides

macOS · Connectivity

Connecting
calibration software.

PatternSpace is a network pattern generator. Point ColourSpace, CalMAN, PGenerator, or your own PatternSpace Remote client at it, and it renders each requested patch on the display you're measuring.

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:

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.

Download on the App Store

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.