10000 GitHub - m10x/midi2key-ng
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

m10x/midi2key-ng

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

midi2key-ng

Release Go Report Card GitHub go.mod Go version Fyne.io Gomidi License

About

GUI to Map Buttons, Knobs and Sliders of your Midi Controller to Different Functions. Developed for Linux (Gnome Wayland & Pop!_OS x11) and a Behringer X Touch Mini; however it should work for other Midi Controller and Distros, too!

Features

Give your midicontroller the ability to:

  • emulate key presses, mouse clicks/movements
    • Look here for possible input emulations
  • write text
  • run console commands
  • soundboard
    • play audio files (e.g. wav, flac, ogg) as microphone input
    • new source soundboard_mic combines the default microphone with a new audio sink soundboard_router by utilizing pactl
    • run paplay --list-file-formats to list all available formats
  • control your audio
    • input/output devices, applications, focused application (x11 and only wayland if Gnome)
    • increase/decrease/set volume
    • mute/unmute/toggle

Screenshots

Overview of Assignments image

New Assignment image

Edit an Assignment image

How to Install

Option 1: Download precompiled binary

Download a precompiled binary from the latest Release.

Option 2: Install using go

The repository can be fetched and installed using Go.
go install -v github.com/m10x/midi2key-ng@latest

Requirements

general

  • Install DoTool for input emulation
    • git clone https://git.sr.ht/\~geb/dotool
    • sudo apt install scdoc
    • cd dotool && ./build.sh && sudo ./build.sh install
    • sudo udevadm control --reload && sudo udevadm trigger
    • restart OS
    • echo write test | dotool to check if dotool works

x11

  • apt install xprop xdotool for audio control of focused application

Wayland

Roadmap

  • implement checks if required commandline tools are available
  • export (aka Backup) / import Key Mapping
  • sort table https://fynelabs.com/2023/10/05/user-data-sorting-with-a-fyne-table-widget/
  • soundfile picker
  • spam actions if key keeps getting pressed (hold)
  • multiple profiles
  • hotkeys to start/stop listening
  • error output in gui
  • add code comments
  • improve design, layout etc.
  • test other midi controllers

Credits

Frontend Framework:

fyne
https://fyne.io/

MIDI Library:

gomidi
https://gitlab.com/gomidi/midi/ https://pkg.go.dev/gitlab.com/gomidi/midi/v2

Input Emulation:

dotool
https://sr.ht/~geb/dotool/

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0