Chapter 1

Getting started

JustMakeQ is multimedia show control software: it plays a list of "cues" (audio, video, image, MIDI, OSC...) in order over the course of a show, fired one by one with the GO key.

Installing and launching JustMakeQ

Download the installer matching your system from your download area, then run it. On first launch, the welcome screen appears:

JustMakeQ welcome screen

The welcome screen: create a new project, open an existing one, or pick up a recent project.

The licence status appears under the logo ("Licence activated" in green). If it is not yet the case, the "Manage my licence" button opens the activation wizard - refer to the .jmqa file received by email when your account was created.

Creating a first project

Click "New Q" to start an empty project. The main window opens, with a still-empty cue list:

JustMakeQ main window, empty project

The main window: transport bar (GO/Stop/Pause) at the top, cue-adding buttons just below, cue list on the left, inspector on the right.

To add a cue, click its type in the "+ Cue" bar (Audio, Video, Image, MIDI, OSC, PJLink, HTTP, Fade, Play, Pause, Stop, Wait, Group, Sep). It appears in the cue list straight away:

An Audio cue added to the cue list

An Audio cue has just been added - it shows in red/orange until a file is associated with it.

Click the cue in the list to open it in the inspector (on the right): that is where all its parameters are set, starting with the file to play, in the "Settings" tab.

Audio cue sélectionnée, inspecteur ouvert

A selected cue: the inspector shows its identity (name, number, colour) and its timing (pre-wait, post-wait, auto-follow/auto-continue).

Running the show

  • Space or the GO button: fires the cue under the playhead (the orange triangle in the cue list) and moves the playhead to the next one.
  • Esc or the Stop All button: stops everything currently playing.
  • P or the Pause button: pauses the selected cue; Pause All pauses everything (no default shortcut).
  • H or the Set Head button: moves the playhead to the selected cue without firing it.
  • / : move the playhead to the next/previous cue without firing it.

These are the default shortcuts - they can be customised in Preferences > Keyboard shortcuts.

Each cue can have a pre-wait time (before it starts) and a post-wait time (before the next cue follows on automatically, if "Auto-continue" is ticked). "Auto-follow" fires the next cue immediately, without waiting for the current one to finish.

Chapter 2

Preferences

The "Preferences" button in the toolbar opens a tabbed dialog gathering every setting that does not depend on a particular project (hardware, network, shortcuts). Each tab is detailed below; Keyboard shortcuts have their own chapter (3), as does AI control (13).

General

Onglet General des Preferences

Theme, GPU acceleration for video, GO protection (minimum delay against double presses), Stop All behaviour (immediate stop or fade), cue-list click option, settings export/import.

"Export settings..." / "Import settings..." (at the bottom) save or transfer everything that is hardware-independent (theme, language, OSC patches, servers, shortcuts) to a file - handy for duplicating your configuration on another machine without redoing every setting by hand. Screens, sound cards and video surfaces specific to each installation are never included.

Audio > Routing

Onglet Audio des Preferences, sous-onglet Routing

Each physical output (sound card) is declared once: name, interface, number of channels.

Audio > Patch

Onglet Audio des Preferences, sous-onglet Patch

Each patch channel (used in an Audio cue's mixer, chapter 7) is freely named here and routed to a real channel of an output declared in Routing.

Video > Routing

Onglet Vidéo des Preferences, sous-onglet Routing

Each physical output (screen) is named once; a calibration pattern (grid, checkerboard...) can be launched directly to check the framing on the right screen.

Video > Surfaces

A "surface" links a rectangular area to an output declared in Routing - it is what a Video/Image cue picks as its destination (chapter 8). "Geometry" tab:

Onglet Vidéo des Preferences, sous-onglet Surfaces, Géométrie

Name, target video output, calibration pattern specific to this surface, resolution (with a button to take the output's own), and a "multiscreen surface" option to span several outputs.

"Warp" tab, to correct the distortion of a projection (uneven wall, projector angle):

Onglet Vidéo des Preferences, sous-onglet Surfaces, Warp

Warp mesh (Linear or Bézier mode), number of point rows/columns, movement with the mouse (click and drag) or the keyboard (arrows, +Shift for a 10px step), centre point to move the whole surface, wheel zoom.

OSC > Sortant (Patch)

Onglet OSC des Preferences, sous-onglet Sortant

Up to 6 patches, each with its protocol, its bank (target console/software), its source network interface, its destination and an optional password depending on the protocol. Used by OSC cues (chapter 10).

OSC > Entrant (Serveur)

Onglet OSC des Preferences, sous-onglet Entrant

Receives OSC commands to control JustMakeQ remotely (GO, Stop, Pause, next/previous cue, jump to a specific cue number).

⚠️ This protocol has neither password nor encryption: any machine able to reach this port can send commands. Turn the server off when you are not using it, and avoid "All interfaces" outside a trusted network.

PJLink

Onglet PJLink des Preferences

Up to 10 patched projectors (name, source interface, destination, port, optional password), used by PJLink cues (chapter 11). The "?" button queries the projector's status straight from this screen.

MIDI

Onglet MIDI des Preferences

Up to 4 output ports (for MIDI cues, chapter 9) and 4 input ports (MIDI Learn shortcuts, mixing console), opened automatically at startup.

Chapter 3

Keyboard shortcuts

Preferences > Keyboard shortcuts lets you customise each shortcut, and also offers a "MIDI Learn" to drive the transport from a physical MIDI controller (footswitch, control surface...).

Onglet Keyboard shortcuts des Preferences

Default keyboard shortcuts, with MIDI Learn shortcuts just below (a click on "MIDI Learn" then a CC or Note message binds the control).

ActionDefault key
GOEspace
Stop AllÉchap
Next / previous cue /
Pause / ResumeP
Move the playhead (Set Head)H

"Reset to defaults" restores these original values in one click if a customisation causes trouble.

Chapter 4

The interface

The main window is split into three areas:

Fenêtre principale annotée

Top to bottom: transport bar, cue-adding bar, then the three areas (Active media, cue list, inspector).

  • Transport bar (top): GO, Stop All, Pause, Pause All, previous/next navigation, Set Head, then the Inspector, Preferences, Console (mixing) and Preview (preview monitor) buttons.
  • "+ Cue" bar: one button per cue type (see chapter 5), and a padlock to lock drag-and-drop in the cue list (prevents accidental reordering during a show, without blocking the addition of new files).
  • Active media (top left): a live list of what is actually playing, regardless of the playhead's position in the cue list.
  • Cue list (bottom left): the show's sequence. Columns: # (number), Type, Name, Pre/Dur/Post (times), loop, marker, Notes. The orange triangle marks the playhead - the next cue that will fire on GO.
  • Inspector (right): settings for the selected cue, on two tabs - "Identity" (name, number, colour, timing, auto-follow/auto-continue, common to all types) and "Settings" (specific to the cue type, see the following chapters).

The "☰ File" menu gives access to New project, Open, Save, Create a bundle (gathers the project and its media into a single portable folder) and Coworking session... (chapter 16). The "?" menu opens the help, the diagnostic logs and licence management.

Chapter 5

Cue types

JustMakeQ offers 17 cue types, each with its own colour in the cue list so you can spot them at a glance:

Neuf types de cues dans la cue-list

Top to bottom: Audio, Video, Image, MIDI, OSC, PJLink, HTTP, Fade, Group - each with its own colour.

  • Audio: playback of a sound file, with per-channel routing (chapter 7).
  • Video / Image: display on a projection surface, with geometry and effects (chapter 8).
  • Stream: display of a live network video feed on a projection surface (chapter 13).
  • MIDI: sending of one or more MIDI messages (chapter 9).
  • OSC: sending of an OSC command, through a preconfigured bank or manually (chapter 10).
  • PJLink: control of a networked projector (chapter 11).
  • HTTP: web request to a third-party service, with ready-made templates (chapter 12).
  • VISCA / ONVIF: pan/tilt/zoom control of a motorised camera (chapter 14).
  • Fade: gradually changes the volume, opacity, position or speed of another cue already running.
  • Play / Pause: fires or pauses one specific other cue, without advancing the main playhead.
  • Stop: stops one specific cue (or everything, if no target is chosen).
  • Wait: a simple timed pause in the sequence.
  • GoTo: moves the playhead to another cue in the list (loops, branches).
  • Group: gathers several cues, played in sequence ("Playlist") or all at once ("Simultaneous") - see chapter 6.
  • Sep (separator): a plain visual/chapter marker in the cue list, with no effect on playback; GO steps over it automatically.

Chapter 6

Running a show

The playhead (the orange triangle) moves on by one cue at each GO. Each cue can have a pre-wait time (before it starts) and a post-wait time. Two checkboxes in the Identity tab control automatic chaining:

  • Auto-follow: the next cue starts immediately, without waiting for the current one to finish.
  • Auto-continue: the next cue starts automatically after the post-wait, with no further GO press.

A disarmed cue ("Armed" box unticked) follows the same delays as a normal cue but never plays its media - useful for rehearsals without firing a media file (video, sound) that is not ready yet, or to disable a cue temporarily without deleting it. Its name appears struck through in the cue list.

Groups: Playlist or Simultaneous

A Group cue gathers several child cues (dragged into it, or selected then "Group" from the right-click menu). The mode is chosen in the Settings tab:

Réglages d'une cue Group

The group mode is chosen here: Playlist (sequential) or Simultaneous.

  • Playlist (sequential): the child cues follow one another, each respecting its own pre/post-wait.
  • Simultaneous: all child cues start at the same time.

The group shows its colour in the cue list according to its mode, and folds/unfolds with the "<"/">" keys once selected.

Chapter 7

Audio cue

The Settings tab of an Audio cue lets you choose the file, set a start/end point (to play only an excerpt), a loop, a playback speed, and the routing to the physical outputs.

Réglages d'une cue Audio

File, Start/End, Loop, Speed, then the per-channel mixer (Master + channels named in Preferences > Audio).

  • Speed: from 0.25x to 4x, changes the pitch at the same time (like a variable-speed tape) - no pitch correction, deliberately simple.
  • Mixer / Routing: one fader per configured output channel (named in Preferences > Audio > Routing), plus the Master. "Paste console settings" takes over the levels set live on the Output console (chapter 9).
  • Audio effects (below the mixer): Bass/Treble EQ, compressor/limiter, 16-band equaliser (dedicated graphical interface), reverb (algorithmic, no convolution) and delay - only one effect active at a time per cue.

A Fade cue targeting this cue can gradually change the volume or the speed already running.

Chapter 8

Video and Image cues

Before firing a Video or Image cue, you need at least one projection "surface" defined in Preferences > Video > Surfaces (chapter 2), itself linked to a physical output (screen) declared in the Routing tab.

Once a surface is available, the Video/Image cue offers:

Réglages d'une cue Vidéo

File, target surface, then Geometry (full screen, opacity, scale, position, 3D X/Y/Z rotation).

  • Geometry: scale, position, 3D rotation, opacity - all can be animated gradually by a Fade cue.
  • Warp (in the surface editor, Preferences > Video > Surfaces, chapter 2): mesh-based distortion, to correct a projection onto an uneven support or a projector angle.
  • Effects (common to Video/Image, below Geometry): saturation, contrast, brightness, black and white, sepia.
  • Playback speed (Video only): 0.25x to 4x, picture and embedded sound stay in sync.
Réglages d'une cue Image, avec le groupe Effets déplié

An Image cue shares the same Geometry and the same Effects as a Video cue (here with Saturation selected).

The "Preview" button in the transport bar opens a preview made up of every media currently active on the chosen output, without firing anything - handy for checking framing before the show.

Chapter 9

MIDI cue and mixing console

A MIDI cue sends one or more messages on a configured output port:

Réglages d'une cue MIDI

Output port, then a list of messages (Note On/Off, Control Change, SysEx, NRPN...), freely added or removed.

Ports are declared in Preferences > MIDI (up to 4 outputs and 4 inputs):

Onglet MIDI des Preferences

Input ports receive MIDI commands (MIDI Learn shortcuts, mixing console) and open automatically at startup.

Output console

The "Console" button in the transport bar opens a mixing console: Master + 10 output channels, with VU meters and per-fader MIDI Learn assignment (to drive each channel from a physical controller).

Output console

"Copy settings" carries these levels over into the mixer of a selected Audio cue; "Reset all to 0 dB" returns every fader to its neutral value.

Chapter 10

OSC cue

An OSC cue sends a command to third-party software or a console. Two modes in the Settings tab:

Réglages d'une cue OSC en mode manuel

"Manual" mode: host/port/OSC address entered directly, with arguments (Args) whose type - number, boolean or text - is detected automatically.

  • Patch (preconfigured bank): selects a patch declared in Preferences > OSC > Outgoing, then picks a command from a list already tailored to the target product (ETC Eos, QLab, Midas/Behringer, grandMA3, Resolume, OBS...).
  • Manual (host / direct address): for a need no bank covers, with host/port/address/arguments entered by hand.

Outgoing patches and the incoming listening server are configured in Preferences > OSC:

Onglet OSC des Preferences, patchs sortants

Up to 6 outgoing patches, each with its protocol, its bank, its source network interface, its destination and an optional password depending on the protocol.

JustMakeQ's default ports: 53025 (generic patch) and 53026 (local incoming server), deliberately distinct from QLab's default ports.

Chapter 11

PJLink cue

PJLink is a standard network protocol for controlling projectors (power on, power off, input selection, picture mute...). Projectors are patched once in Preferences > PJLink (10 slots):

Onglet PJLink des Preferences

Name, source network interface, destination IP address, port and optional password for each projector. The "?" button at the end of the row queries the projector directly (name, manufacturer, model, power, active input, shutter, lamp, errors); the date of the last query stays visible in its column.

A PJLink cue then simply picks a patched projector and a command:

Réglages d'une cue PJLink

The cue renames itself automatically to reflect the chosen projector and command.

Chapter 12

HTTP cue

The HTTP cue sends a web request (GET/POST/PUT/PATCH/DELETE) to a third-party service - handy for driving just about any device or software exposing a web API (connected lighting, notifications, home automation...).

Réglages d'une cue HTTP

The "Product" then "Action" cascade offers ready-made templates; method, URL, headers and request body remain freely editable.

Pre-filled templates exist for around fifteen common products (vMix, WLED, Bitfocus Companion, Philips Hue, Shelly, Home Assistant, Discord, Pushover, ntfy, PTZOptics-compatible PTZ cameras...), so you do not have to write each request yourself. The "Last response" field shows the server's reply live, useful to check that a request works before the show.

The "Retry automatically after" option resends the request once, after the chosen delay, if the first attempt fails (a one-off network glitch) - the cue only goes into error if both attempts fail.

Chapter 13

Live stream cue (Stream)

The Stream cue displays a live network video feed on a projection surface - IP camera, encoder or video mixer exposing a standard stream. It shares the same geometry (position, scale, rotation), the same video effects and the same audio mixing (per-channel routing, effects) as the regular Video cue (chapter 8); only the source differs.

Recognised protocols, detected automatically from the prefix of the URL you enter: rtsp://, rtsps://, rtmp://, rtmps://, srt://, rist://, udp://, rtp://, tcp://, plus http:///https:// for an HLS (.m3u8) or DASH (.mpd) stream.

⚠️ Since a stream has no known end, the Stream cue has no duration, no start/end trim and no loop - unlike the Video cue. A preview thumbnail tries to grab a frame from the live stream in the inspector (3 seconds maximum, otherwise a generic placeholder is shown).

Chapter 14

VISCA and ONVIF cues (PTZ cameras)

Two dedicated cues let you drive a motorised pan/tilt/zoom (PTZ) camera straight from a cue, with no third-party software: movement, zoom, recall and storing of presets.

VISCA-over-IP

A standard binary protocol, adopted by most pro/broadcast PTZ cameras (Sony and compatibles). Each camera is patched once in Preferences > VISCA (destination, port - 52381 by default -, address on the VISCA bus from 1 to 7), then each VISCA cue picks a patched camera and a command (pan/tilt in the 4 directions + stop, zoom in/out/stop, home position, recall or store a preset from 0 to 127).

ONVIF

An open standard based on SOAP/HTTP, widespread on IP surveillance cameras and some broadcast models. Each camera is patched in Preferences > ONVIF (destination, port, username/password, media profile and service path - to be checked case by case depending on the model, as the default value does not suit every brand). Available commands: continuous movement (adjustable pan/tilt/zoom speeds), stop, home position, recall/store a preset (identified by a free-form name, not a plain number as in VISCA).

⚠️ For a PTZ camera exposing neither VISCA-over-IP nor ONVIF but only a plain web API (many streaming-oriented models, such as PTZOptics), the "PTZ camera (HTTP CGI)" template of the HTTP cue (chapter 12) does the job just as well.

Chapter 15

AI control (MCP)

JustMakeQ ships an MCP (Model Context Protocol) server, letting a compatible AI assistant (Claude Code, Claude Desktop, Codex...) drive an open session: list, create, edit or reorder cues, fire GO/Stop/Pause.

Onglet IA / MCP des Preferences

Disabled by default. The listening port (53020) and the network interface (localhost by default) are set here, along with the access token required for any connection.

⚠️ The token travels in clear text over the network (unencrypted protocol), even though it is mandatory locally: turn the server off when you are not using it, and avoid opening it beyond localhost on a network you do not control. The "Regenerate" button immediately revokes access for any client already configured with the old token.

Once the server is enabled, the tab offers ready-to-copy configuration examples for the main AI clients (CLI command, .mcp.json file, config.toml).

Chapter 16

Coworking

Coworking lets several operators drive the same sequence at the same time from different workstations: a host actually plays the media, connected clients see the state live (cue list, statuses, playhead) and can, depending on their permission level, edit the sequence or fire transport commands.

Available from the File > "Coworking session..." menu: start a session as host, or join a session discovered automatically on the local network. The host approves each new connection manually and can adjust each client's level at any time (read-only, editing, or full control) from the "Collaborators" dialog.

⚠️ The network transport is not encrypted (ws://, port 53015): keep it to a trusted technical network, and avoid it on a venue Wi-Fi shared with the audience.

Chapter 17

Troubleshooting

View logs

The "?" > "View logs..." menu opens the folder holding the log files directly, timestamped at every launch. After a crash, that folder contains either a full Python exception or - for a lower-level (native) crash - a separate *_fault.log file with the stack of every thread at the moment of the fault. Attaching these files to any support request speeds up diagnosis considerably.

Common problems

  • A Video/Image cue shows nothing: check that a surface is indeed selected in its Settings, and that this surface is linked to a real physical output in Preferences > Video > Routing.
  • No sound: check the interface chosen in Preferences > Audio > Routing, and the per-channel routing in the cue's Settings tab.
  • An OSC/HTTP/PJLink command does not go out: the "Last response" field (HTTP) or the server status indicators at the bottom right of the main window help confirm that a network connection really exists.
  • Licence: the "?" > "Manage licence" menu shows the detailed status; if a network error occurs during activation, the message now states the cause (system clock, firewall, DNS, proxy).

For any question not covered here, the Support page lets you contact the team directly.