nine7nine / omk-patchmatrix

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PatchMatrix

a JACK patchbay in flow matrix style

builds.sr.ht status

A simple graphical JACK patchbay that tries to unite the best of both worlds:

  • Fast patching and uncluttered port representation of a matrix patchbay
  • Excellent representation of signal flow of a flow canvas patchbay

It additionally features tightly embedded graphical mixer clients automatable with JACK MIDI/OSC.

Packages

Mouse actions

Canvas
  • Middle button + move: move canvas
  • Right button: open context menu
Client
  • Left button + Ctrl + move: move client
Grab handle
  • Left button: connect clients w/o connecting ports within
  • Left button + Ctrl: connect clients and ports automagically
Mixer
  • Left button + move: change gain coarse
  • Wheel: change gain coarse
  • Left button + Shift + move: change gain fine
  • Wheel + Shift: change gain fine
  • Right button + Ctrl: remove
Monitor
  • Rigth button: remove
Matrix
  • Left button: toggle port connection
  • Left button + Ctrl + move: move matrix
  • Wheel: toggle port connection
  • Right button: remove and disconnect all ports

Automation

MIDI

PatchMatrix mixer clients (AUDIO + MIDI) each have an additional JACK MIDI automation port through which users can automate mixer matrix gains sample-accurately.

Currently, users have to send multiple MIDI messages for a single gain change in a stateful transactional manner.

  • NRPN-LSB: set index of sink port column (optional)
  • NRPN-MSB: set index of source port row (optional)
  • DATA-LSB: set lower 7 bits of gain (optional)
  • DATA-MSB: set higher 7 bits of gain (mandatory)

DATA-MSB finalizes one transaction and sets gain to new value for currently set sink/source port indexes.

OSC

PatchMatrix mixer clients (AUDIO + MIDI) additionaly support JACK OSC automation through which users can automate mixer matrix gains sample-accurately.

/patchmatrix/mixer iif (source index) (sink index) (gain in mBFS [-3600,3600])

Dependencies

Runtime
  • JACK (JACK audio connection kit)
Buildtime
  • LV2 (LV2 Plugin Specification)

Build / install

git clone https://git.open-music-kontrollers.ch/~hp/patchmatrix
cd patchmatrix 
meson build
cd build
ninja -j4
sudo ninja install

About


Languages

Language:C 89.5%Language:C++ 6.0%Language:Objective-C 2.1%Language:Meson 1.3%Language:Python 0.7%Language:Makefile 0.2%Language:GLSL 0.1%Language:Batchfile 0.0%Language:HLSL 0.0%Language:Shell 0.0%