Skip to main content

Version 2025.1

Major Architecture Refactor

This release features a significant refactor to a configuration-driven architecture, making it easier to maintain and extend CSV to QLab.

Build Changes

Starting with this release, builds are provided for:

  • macOS 11+ Intel - Supports all Intel Macs running macOS 11 or later
  • macOS 14 ARM - For Apple Silicon Macs
  • macOS 15 ARM - For Apple Silicon Macs

Older release versions remain available in release history.

New Features

  • Command-Line Interface (CLI) - New cross-platform CLI for automation and scripting workflows
    • Install with pip install . for CLI-only or pip install .[gui] for full GUI support
    • Run with csv-to-qlab show.csv 127.0.0.1 5
    • Supports verbose, quiet, and JSON output modes
    • Perfect for batch processing, automation, and remote/SSH sessions
    • See CLI Advanced for automation and scripting
  • JSON-Based Configuration - All OSC properties now defined in qlab_osc_config.json
  • Enhanced Property Support - Added many new global and cue-specific properties
  • Auto-Properties - Automatic enabling of related settings (e.g., setting fade opacity auto-enables the checkbox)
  • Improved Validation - Better type checking and value validation for all properties

New Cue Properties

  • Global Properties: Armed, Flagged, Auto Load, Duration, Pre/Post Wait
  • Audio/Video Cues: Level, Rate, Pitch, Loop controls, Start/End Time, Patch, Gang
  • Fade Cues: Fade And Stop Others, Fade And Stop Others Time, Do Volume, Do Fade
  • All existing MIDI and Network properties retained and improved

Developer Improvements

  • No-Code Property Addition - Add new OSC properties by editing JSON config only
  • Comprehensive Documentation - New developer and reference documentation
  • Better Error Handling - Improved validation and error reporting with instance-based error handlers
  • Comprehensive Test Suite - 69 tests with 86% code coverage (added 19 CLI tests)
  • Duplicate Property Detection - Automated tests prevent configuration conflicts
  • Package Setup - New setup.py for pip installation with separate GUI and CLI dependencies
  • Proper Package Structure - Follows Python/PyInstaller best practices with app/ as a proper Python package

Documentation


Bug Fixes (v2025.1.1 - Hotfix)

  • Fixed CLI Installation - Resolved ModuleNotFoundError when installing CLI via pip
    • Added app/__init__.py to properly mark app/ as a Python package
    • Converted all intra-package imports to relative imports (following PEP 8)
    • Created run_gui.py as external PyInstaller entry point (following PyInstaller best practices)
    • Updated all test imports to use proper package structure
    • All 69 tests now pass

For contributors: See the Architecture Overview and Adding Properties Guide for details on the new system.

Version 2024.2

Bug fix for an error with "follow" vs "Continue Mode".

Various other minor updates and fixes.

Version 2024.1

Features Added:

  • New option to adjust video opacity of fade cues.

Various other minor updates and fixes.

Version 2023.5

Bug Fixes:

  • Stop Target When Done option will now only check the box when "true". "false" or empty cell will be ignored. Issue #92
  • All color selections may not have been sent to QLab. Current colors as of 12/2023 are validated. Issue #91
  • Clear errors on consecutive run. In some cases errors continued to be displayed on second run of CSV-To-QLab

Various other minor updates and fixes.

Version 2023.4

Bug Fixes:

  • Fixed an error with setting "File Path" header.

New Features:

  • "Stop Target When Done" for fade cues. Either true or false.
  • "Video Stage" number.
    • If number is given, set the video stage of the specified cue to that stage. If number is 0, unpatch the specified cue. If number is greater than the number of video stages in the workspace, this message has no effect. number must be a whole number.

Known Issues:

  • Non-standard colors appear to not be accepted by qlab as of this latest release.
note

Fixed in v.2023.5

Version 2023.2

  • Minor updates to row headers.
  • Error handling. Response from QLab will be displayed to the user.
  • Users now choose which version of QLab they are using.
  • Added a generic "Passcode" option for QLab work spaces that are secured by a pin.
  • Network cue updates for QLab 5.
    • QLab 5 changed network cues significantly. The best use of CSV to QLab is to still do custom OSC commands rather than utilizing the new features.
    • Another option is to use CSV to QLab to import the cues, but then edit the network patch for all the network cues that are added.
      • For example, if you just need to trigger "GO" to another QLab machine and do not necessarily need to send a cue number in the OSC message.

Version 2021.1.15

  • Various Bug Fixes

  • Update to OSC handling to allow raw string for standard OSC messages

  • Update to allow "Number Prefix" column to prefix the number of cues. Ex: If you have a column already with the number of the cue, you may now add another column with "LX", and the numbers of your cues will start with LX, but will still trigger the number selected. The MIDI or OSC command will not include this prefix.

Version 2021.1.0

  • More options can be pulled from the csv file. See README.md for more information
  • Updated function to use header:value dictionary so users do not need to be consistent with their spreadsheets empty cells in csv no longer cause errors
  • OSC messages are now sent as a bundle per-cue.
  • Names in application.spec changed to csv-to-qlab