A JACK patchbay in flow matrix style
5278d80e — builds.sr.ht 4 months ago
Update nk_pugl to release-0.2.0
0dbff6d8 — builds.sr.ht 4 months ago
Squashed 'subprojects/nk_pugl/' changes from ae5a74e..c308923
bf9048df — builds.sr.ht 4 months ago
Merge commit '0fb389152bb7de6bb4fe5a34c93e511b7a87c938'



You can also use your local clone with git send-email.


#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.


#Mouse actions
  • Middle button + move: move canvas
  • Right button: open context menu
  • 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
  • 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
  • Rigth button: remove
  • Left button: toggle port connection
  • Left button + Ctrl + move: move matrix
  • Wheel: toggle port connection
  • Right button: remove and disconnect all ports

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.


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])
  • JACK (JACK audio connection kit)
  • 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