/PatchMatrix

A Simple JACK Patch Bay

Primary LanguageCArtistic License 2.0Artistic-2.0

PatchMatrix

a JACK patchbay in flow matrix style

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.

Build status

build status

Binaries

For GNU/Linux (64-bit, 32-bit, armv7, arm64).

To install the program on your system, simply copy the platform folder out of the patchmatrix top folder of the downloaded package into your /usr oder /usr/local path.

Stable release

Unstable (nightly) release

Sources

Stable release

Git repository

Packages

Bugs and feature requests

Screenshot

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/lad/patchmatrix
cd patchmatrix 
meson build
cd build
ninja -j4
sudo ninja install

License

Copyright (c) 2016-2021 Hanspeter Portner (dev@open-music-kontrollers.ch)

This is free software: you can redistribute it and/or modify it under the terms of the Artistic License 2.0 as published by The Perl Foundation.

This source is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Artistic License 2.0 for more details.

You should have received a copy of the Artistic License 2.0 along the source as a COPYING file. If not, obtain it from http://www.perlfoundation.org/artistic_license_2_0.