Skip to content

Repository files navigation

Speed Editor Macro

Use the Blackmagic Speed Editor as a macro/remap panel on Windows (USB or Bluetooth). Map panel keys to keyboard shortcuts or typed text, and use the jog wheel for scrolling, zoom, or custom keys.

Features

  • CLI macro engine — Run speededitor_macro.py for headless key remapping and jog actions.
  • GUI remap editor — Configure keys and jog behaviour, live input stream, key recording (capture PC keyboard shortcuts).
  • Jog / shuttle / scroll — JOG (slow), SCRL (fast), and SHTL (shuttle) with configurable sensitivity.
  • Tray minimize — Close the GUI window to minimize to system tray.
  • One-file exe — Build a single Windows executable with no separate install.

Requirements

  • Windows (tested on Windows 10/11).
  • Python 3.x (3.10+ recommended). See requirements.txt.
  • Speed Editor connected via USB or paired via Bluetooth. Close DaVinci Resolve (or any app using the panel) before starting.

Install

pip install -r requirements.txt

Run

  • GUI (primary):
    python gui.py
    Use the Speed Editor–style layout to remap keys, set jog mode and divisors, view the live stream, and start/stop the device.

  • CLI:
    python speededitor_macro.py
    Options: --transport usb|bluetooth|any, --config <path>, --verbose, --led-feedback.

Build executable

  1. If PyInstaller reports the obsolete pathlib package, uninstall it:
    python -m pip uninstall pathlib
  2. Install build deps:
    pip install -r requirements.txt pyinstaller
  3. Build:
    python build_onefile.py
    Output: dist/SpeedEditorMacro.exe. On first run the exe creates remap.yaml next to itself if missing. If HID fails, add hidapi.dll next to the exe (e.g. from your Python hid package).

Pre-built Windows executable: see the Releases tab on GitHub.

Config

  • remap.yaml — User config (keys and jog). Created on first run from built-in defaults if missing.
  • remap.example.yaml — Example config in the repo; copy to remap.yaml and edit.

Keys: Map Speed Editor key names (e.g. CUT, ESC, CAM1CAM9, SMART_INSRT, STOP_PLAY) to:

  • key: "ctrl+x" — Hotkey or single key (pyautogui-style names).
  • type: "Some text" — Type a string.

Jog: Under jog: set mode: scroll (or zoom / keys), jog_slow_divisor, jog_fast_divisor, shuttle_divisor, shuttle_max, and optionally scroll_reset_at: 3800 for infinite scroll.

Other scripts

  • raw_stream.py — Print raw HID report stream (report ID + hex) to the terminal. Useful for debugging.
  • probe_device.py — Probe the Speed Editor HID device and print manufacturer, product, serial.
  • speed_editor_demo.py — Minimal demo: jog mode switching and a couple of key actions.

License

MIT (see LICENSE if present).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages