Skip to content

ZX-Ning/Game-Controller-MIDI

Repository files navigation

GameControllerMIDI

Audio plugin (VST3/CLAP/VST2) that translates game controller inputs into MIDI messages. Play virtual instruments with your gamepad.

BTW: This project is a experiment of reviving one of my old side projects with vibe coding, testing possibilities of today's LLM and agent tools on a modern C++ codebase.

Features

  • Button-to-MIDI mapping: Notes, chords, CC (momentary/toggle), octave shifts
  • Axis-to-MIDI mapping: CC and pitch bend with configurable deadzone
  • Trigger octave control: LT/RT for real-time octave shifting
  • Per-button shift keys: Independent shift modifiers for different button groups
  • Dual-mode UI: Play mode for performance, Edit mode for configuration
  • JSON presets: Fully configurable mappings via embedded presets
  • State persistence: Configuration saved/restored by DAW

Quick Start

Require cmake and vcpkg.

git submodule update --init --recursive
cmake -B build -G Ninja \
  -DCMAKE_TOOLCHAIN_FILE=/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build

Output: build/bin/GameControllerMIDI.{vst3,clap}

Documentation

See AGENTS.md for developer guide and docs/ for detailed documentation.

Dependencies


About

Audio plugin that translates game controller inputs into MIDI messages. Play virtual instruments in your DAW with your gamepad.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors