Skip to content

shanteacontrols/OpenDeckUI

Repository files navigation

OpenDeck Configurator

opendeck-ui is the web configurator for the OpenDeck MIDI platform.

It provides the user-facing configuration interface for OpenDeck devices, including:

  • device identification
  • configurable component settings
  • preset and system settings
  • firmware update checks
  • WebUSB bootloader firmware updates
  • backup and restore

The firmware, hardware targets, and main documentation live in the main OpenDeck repository.

Click the image below for a demo video of the OpenDeck configurator

Watch the video

Usage

The configurator is available in two forms:

Offline release packages are published per platform:

  • darwin-arm64
  • darwin-x64
  • linux-x64
  • win32-x64

Relationship To Firmware Releases

The configurator identifies supported boards by their OpenDeck target UID. For supported targets, it also knows the expected firmware release asset name used for update checks and download links.

Current firmware-update assets are expected to use the flattened release names produced by the main project release helper, for example:

  • pico.dfu.bin
  • pico2.dfu.bin
  • blackpill411.dfu.bin

Prerequisites

This project uses Yarn, Vite, Vue 3, and Electron. All the used tools are packaged in a Docker container.

The officially supported host environments are Ubuntu 22.04 and 24.04 with:

Also ensure that your user account is in the docker group so that Docker commands can run without sudo.

Starting the Development Environment

From the opendeck-ui/ repository root, run:

code .

VSCode will offer to reopen the repository in the devcontainer. Choose Reopen in Container.

The devcontainer is the supported development environment and contains Node.js, Yarn, Electron Packager, Wine, and the extra tools used by this repository.

Running the UI from This Repository

From the repository root inside the devcontainer, run:

make

This installs dependencies if needed and starts the local development server.

If you prefer the direct command, the equivalent is:

yarn
yarn dev

Building

To build the web application bundle to be published on a web server:

make prod

This runs the Vite production build and writes the output to dist/.

Packaging Offline Desktop Builds

To package the Electron-based offline configurator:

make pkg PLATFORM=linux
make pkg PLATFORM=win32
make pkg PLATFORM=darwin ARCH=x64
make pkg PLATFORM=darwin ARCH=arm64

The packaged zip archive is written to build/.

These macOS release archives are packaged on Linux and are not signed or notarized. Apple Silicon support is therefore published as a separate darwin-arm64 zip, and end users may still need to explicitly allow the app through macOS Gatekeeper.

Cleaning

To remove generated build output:

make clean

License

This project is licensed under the Apache License 2.0. See LICENSE.

About

Graphical interface for configuring OpenDeck boards running in browser via WebMIDI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors