5 ----------------------------------------------
6 A graphical multi-channel audio mixer for JACK
7 ----------------------------------------------
9 :Author: Nedko Arnaudov <nedko@arnaudov.name> (original author),
10 Frédéric Peters <fpeters@0d.be> (current maintainer).
12 :Copyright: GNU General Public License Version 2
21 jack_mixer.py [-h] [-c FILE] [-d] [NAME]
27 This manual page documents the **jack_mixer** command.
29 **jack_mixer** is a multi-channel audio mixer application for the JACK Audio
30 Connection Kit with a graphical user interface and has a look & handling similar
31 to hardware mixing desks.
38 NAME set JACK client name
41 -h, --help show this help message and exit
42 -c FILE, --config FILE
43 load mixer project configuration from FILE
44 -d, --debug enable debug logging messages
50 After starting **jack_mixer**, you need to create at least one input and one
51 output channel via the respective entries in the "Mixer" menu (see section
54 Then connect your audio sources to the **jack_mixer's** JACK audio input ports
55 (see section **JACK AUDIO AND MIDI PORTS**) using ``jack_connect`` or GUI tools
56 like the QJackCtl's connections window, Catia, Carla, etc. Connect the monitor
57 channel output port(s) or the output ports of the output channels to the input
58 ports of your audio interface or any other JACK audio input ports.
60 Then adjust input and output channel volume levels and balance as required using
61 the fader controls in each channel strip (see section **MOUSE BINDINGS** for
62 ways to to control the faders and routing).
65 JACK AUDIO AND MIDI PORTS
66 -------------------------
68 * For each input channel, **jack_mixer** will create one (if it is a mono
69 channel) or two (stereo) JACK audio input ports. The input port(s) will be
70 named like the input channel strip, if it is a mono channel, or with an " L"
71 resp. " R" suffix, it it is a stero channel.
73 * Optionally, for each input channel, it creates a direct, post-fader audio
74 output port (mono) or pair of output ports (stereo). These are named the same
75 as their input port(s) with " Out" resp. " Out L" / "Out R" appended.
77 * For each ouput channel it will create one (mono) or two (stereo) audio output
80 * Additionally it will create one pair of audio monitor ports named "Monitor L"
83 * If **jack_mixer** was compiled with JACK MIDI support, it will also create
84 one MIDI input ("midi in") and one MIDI output ("midi out") port.
92 Use the **Mixer** menu to:
94 * Add an input or output channel.
95 * Add an output channel.
96 * Open a file with a preset mixer layout.
97 * Save the current mixer layout to an XML file.
98 * Exit **jack_mixer**.
100 Use the **Edit** menu to:
102 * Change the properties of an input or output channel.
103 * Remove an input or output channel.
104 * Toggle all channel strips between wide and narrow view.
105 * Clear the current mixer layout, i.e. remove all input and output channels.
106 * Open the setting preferences dialog.
108 Use the **Help** menu to show **jack_mixer's** about dialog.
116 * Left-click and drag the vertical divider line horizontally to set the size
117 distribution of the left and right panels for the input and output channel
118 strips. If a panel contains more channel strips than can be fit into its
119 horizontal size, horizontal scrollbars will be available at the bottom of
122 Channel strip header:
124 * Double click the channel strip header to open the channel properties dialog.
125 * Ctrl+left-click the channel strip header to toggle the channel strip between
126 wide and narrow view.
127 * Left-click and drag the channel strip header horizontally to re-order
128 channel strips. This doesn't effect the order of the JACK output ports
129 and input channels are always arranged on the left side of the main
130 **jack_mixer** window and output chanels on the right side.
132 Control groups (input channels):
134 Each input channel header has a control group for each output channel, which
135 has the same background color and label as the corresponding output channel
138 Each output channel control group shows a pre/post-fader ("P") and a mute ("M")
139 button and, optionally, a solo ("S") button.
141 * Left-click the pre/post-fader ("P") button to toggle the signal sent to the
142 corresponding output channel between the post-fader (off) and pre-fader (on)
143 signal of the input channel.
144 * Left-click the mono ("M") button to mute the signal from the input channel
145 going to the corresponding output channel.
146 * Left-click the solo ("S") button to solo the input channel for the
147 corresponding output channel. i.e. only the signal from this input channel
148 (plus any other soloed channels) is going to this output channel.
150 Volume read-out and peak-indicator:
152 * Left-click the volume level read-out to enter a value manually and press
154 * Left/right-click the peak volume level read-out to reset the over-zero
156 * Middle-click the peak volume level read-out to set the volume level to
157 peak at 0 dB at the current signal input level.
161 * Left-click the pre-fader ("PRE") button below the volume meter to switch the
162 signal, which is metered, from post-fader (off) to pre-fader (on).
164 *(not yet implemented)*
168 * Left-click and drag vertically anywhere in the slider area to set the channel
170 * Scroll the mouse wheel up or down over the slider area to increase or
171 decrease the volume level.
172 * Right-click anywhere in the slider area to move the volume level slowly
173 towards the click position.
174 * Double click to set the volume level to -inf.
175 * Ctrl+left-click to set the volume level to 0 dBFS.
179 * Left-click and drag horizontally anywhere in the slider area to set the
180 balance between the left and right channel of the output signal.
181 * Scroll the mouse wheel up or down over the slider area to move the
182 balance to right or left.
183 * Right-click anywhere in the slider area to move the balance slowly towards
185 * Double click to set the left/right balance to center.
189 * Left-click the mono ("M") button to mute signal from channel going to all
190 output channels (including direct channel outs).
191 * Ctrl+left-click the mono ("M") button for "exclusive" mute, i.e. the mute
192 function will be activated on this input or output channel only and
193 deactivated on all other input resp. output channels.
194 * Left-click the solo ("S") button to solo an input channel, i.e. only the
195 signal from this channel is going to all output channels (including the
196 direct outputs of the channel).
198 The solo function is cumulative, i.e. you can activate solo on more than one
199 input channel and the signals from all soloed channels will be going to each
202 Output channels have no solo button.
203 * Ctrl+left-click the solo ("SM") button for "exclusive" solo, i.e. the solo
204 function will be activated on this channel only and deactivated on all other
206 * Right-clicking the mute ("M") button acts like left-clicking but also
207 synchronizes the muted state on all output channel control groups of the
208 channel with the main channel mute button.
210 Output channel control groups, where the mute function was already active
211 before righ-clicking the mute button are unaffected, i.e. it will stay
213 * Right-clicking the solo ("S") button acts like left-clicking but also
214 synchronizes the soloed state on all output channel control groups of the
215 channel with the main channel solo button.
217 Output channel control groups, where the solo function was already active
218 before righ-clicking the solo button are unaffected, i.e. it will stay
220 * Left-click the monitor ("MON") button, to toggle monitoring. If monitoring
221 is on, the (post-fader) signal from the channel is sent to the "Monitor L/R"
222 outputs. The monitor function is exclusive, i.e. activating monitoring on a
223 channel, will turn off monitoring on any other channel.
229 **jack_mixer** is fully compatible with the New Session Manager (NSM) protocol
230 and provides Level 1 (L1) support for the LADISH protocol. When running as an
231 NSM client, the mixer layout and current state will be saved in the NSM session.
232 When started as an L1 client by LADISH, the mixer layout and current state will
233 be saved in the LADISH studio session or project (the first time LADISH
234 requests **jack_mixer** to save a project, it will open a "Save as" dialog).
240 ``<XDG_CONFIG_HOME>/jack_mixer/preferences.ini``
241 This file stores global settings for **jack_mixer**.
248 When this environment variable is set, **jack_mixer** will act as a New
249 Session Manager (NSM) session client.
251 When this environment variable is set, the logging level in the Python
252 layer is set to ``DEBUG`` unless it is overwritten by the ``-d|--debug``
260 In accordance with Level 1 support of LADISH, **jack_mixer** saves the
261 current mixer layout and state on receiving a ``USR1`` signal.
263 When receiving an ``INT`` or ``TERM`` signal, **jack_mixer** will either
264 exit the application immediately or, if enabled in the preferences, will
265 show a confirmation dialog, allowing the user to either quit or cancel the
272 * Project homepage (https://rdio.space/jackmixer/)
273 * Source code repository on GitHub (https://github.com/jack-mixer/jack_mixer)
274 * JACK Audio Connection Kit (https://jackaudio.org/)
275 * New Session Manager (https://new-session-manager.jackaudio.org/)