Skip to content

Commit eced0ab

Browse files
committed
Improvements in MIDI details
1 parent dbd3f46 commit eced0ab

File tree

2 files changed

+42
-12
lines changed

2 files changed

+42
-12
lines changed

wiki/en/Include-Client-Commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
- `--mutemyown` Prevent me from hearing what I play in the server mix (headless only)
33
- `-c` or `--connect` Connect to given server address on startup, format `address[:port]`
44
- `-j` or `--nojackconnect` Disable auto JACK connections
5-
- `--ctrlmidich` MIDI controller channel to listen on, MIDI control number and count of consecutive CC numbers (Jamulus channels), Mute Myself CC number and "My Channel" option. Format: `channel[;fn[*n]][;pn[*n]][;sn[*n]][;mn[*n]][;on][;z]` See [Tips & Tricks](Tips-Tricks-More#using---ctrlmidich-for-midi-controllers).
5+
- `--ctrlmidich` MIDI controller channel to listen on, MIDI control number and count of consecutive CC numbers (Jamulus channels), Mute Myself CC number and device selection option. Format: `channel[;fn[*n]][;pn[*n]][;sn[*n]][;mn[*n]][;on][;dDeviceName]` See [Tips & Tricks](Tips-Tricks-More#using---ctrlmidich-for-midi-controllers).
66
- `--clientname` Window title and JACK client name

wiki/en/Tips-Tricks-More.md

Lines changed: 41 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,13 @@ Here is the script:
8282

8383
### Using `--ctrlmidich` for MIDI controllers
8484

85-
When this option is used on the command line, Jamulus will display a channel number assigned to each Client, which can be used to control the channel using MIDI CC numbers. (Note: This is only available for use with Windows, macOS and Linux using Jamulus version 3.7.0 or higher.) In Jamulus version 3.12.0 onwards, when connected to a server of at least version 3.5.5, your own fader will always be given channel 0, and so will appear first, whether or not "Own Fader First" is enabled.
85+
The volume fader, pan control and mute and solo buttons in the Client's mixer window strips can be controlled using a connected MIDI controller. This feature is available from version 3.7.0 on macOS, Linux, and the JACK version of Jamulus for Windows. From Jamulus 3.12.0 onwards, it is also available for the non-JACK (ASIO) Windows version. To enable this feature, Jamulus must be launched with the `--ctrlmidich` command-line option.
86+
87+
When this option is used on the command line, Jamulus will prepend a channel number to each Client name, which can be used to control the channel using MIDI CC numbers. In Jamulus version 3.12.0 onwards, when connected to a server of at least version 3.5.5, your own fader will always be given channel 0, and so will appear first when unsorted or sorted by channel, whether or not "Own Fader First" is enabled.
8688

8789
*Tip*: With default settings, when some users leave and others join, their left-right arrangement in the GUI may cease to follow a numerical order, making it more difficult to know who each physical fader/knob on your MIDI controller corresponds to. To keep the fader strips following a numerical order, go to "View" on the top menu bar and switch to "Sort by Channel" (or type `Ctrl+E`).
8890

89-
Make sure you connect your MIDI device's output port to the Jamulus MIDI in port (QjackCtl (Linux/Windows), Audio/MIDI Setup (macOS) or whatever you use for managing connections). In Linux you will need to install and launch a2jmidid so your device shows up in the MIDI tab in Qjackctl. See below for Windows.
91+
When using JACK or macOS, make sure you connect your MIDI device's output port to the Jamulus MIDI in port (QjackCtl (Linux/Windows), Audio/MIDI Setup (macOS) or whatever you use for managing connections). In Linux you may need to install and launch `a2jmidid` so your device shows up in the MIDI tab in Qjackctl. For non-JACK Windows, Jamulus will find the MIDI device(s) automatically, but see the `d` option below if more than one MIDI device is connected.
9092

9193
`--ctrlmidich` takes a single argument. If you omit it, the parameter is ignored. There are two formats for the argument:
9294

@@ -96,7 +98,7 @@ Make sure you connect your MIDI device's output port to the Jamulus MIDI in port
9698
[MIDI channel];[offset for first fader]
9799
```
98100

99-
* `MIDI channel` is required or the the parameter argument is ignored and the feature is not active. `0` means "any channel", `1`-`16` listen only to MIDI messages on the specified MIDI channel.
101+
* `MIDI channel` is required or else the parameter argument is ignored and the feature is not active. `0` means "any channel", `1`-`16` listen only to MIDI messages on the specified MIDI channel.
100102

101103
* `offset for first fader` is the first MIDI CC to use to control a Jamulus Channel fader (default 70, which matches the Behringer X-Touch defaults), with all MIDI CCs after that being used; must be a number or else the long form is used.
102104

@@ -120,7 +122,7 @@ Make sure you connect your MIDI device's output port to the Jamulus MIDI in port
120122
[MIDI channel];[control letter][offset](*[count](;...))
121123
```
122124
123-
* `MIDI channel` is required or the the parameter argument is ignored and the feature is not active. `0` means "any channel", `1`-`16` listen only to MIDI messages on the specified MIDI channel.
125+
* `MIDI channel` is required or else the parameter argument is ignored and the feature is not active. `0` means "any channel", `1`-`16` listen only to MIDI messages on the specified MIDI channel.
124126
125127
* `control letter` defines which Jamulus Control the MIDI controller number is assigned to:
126128
@@ -135,23 +137,51 @@ Make sure you connect your MIDI device's output port to the Jamulus MIDI in port
135137
136138
* `count` is the number of CC values for the control, defaulting to 1 (i.e. the number Jamulus channels that can be controlled).
137139
140+
An example for a Korg nanoKONTROL2 using eight sliders starting at MIDI CC 0 to control faders and eight knobs starting at MIDI CC 16 to control pan, on any MIDI channnel, for eight Jamulus channels would be
141+
142+
```
143+
--ctrlmidich "0;f0*8;p16*8"
144+
```
145+
146+
Enhancing this to add eight Solo buttons starting at CC 32, and eight Mute buttons starting at CC 48 would give:
147+
148+
```
149+
--ctrlmidich "0;f0*8;p16*8;s32*8;m48*8"
150+
```
151+
138152
* Two additional `control letter` values are available:
139153
140154
1. `o` controls Mute Myself and has a single `offset` (i.e. `count` is ignored and taken as 1).
141155
142-
2. `d` is an option on Windows to specify a particular MIDI input device -- without this, all devices will be assigned to Jamulus; with it, only the specified device will be used. For example:
156+
2. `d` is an option on Windows non-JACK Jamulus to specify a particular MIDI input device by name -- without this, all devices will be assigned to Jamulus; with it, only the specified device will be used. For example:
143157
144158
```
145-
--ctrlmidich "1;f0*9;dnanoKontrol"
159+
--ctrlmidich "1;f0*8;dnanoKontrol"
146160
```
147161
148-
would listen for CC0 through CC9 on MIDI channel 1 from a MIDI device called "nanoKontrol". Remember to wrap the whole of the `--ctrlmidich` argument in double quotes and you will have no problems with device names containing spaces.
162+
would listen for CC0 through CC7 on MIDI channel 1 from a MIDI device called "nanoKontrol". Remember to wrap the whole of the `--ctrlmidich` argument in double quotes and you will have no problems with device names containing spaces.
149163
150-
An example for a Korg nanoKONTROL2 using eight sliders starting at MIDI CC 0 to control faders and eight knobs starting at MIDI CC 16 to control pan, on any MIDI channnel, for eight Jamulus channels would be
164+
In order to discover the correct device name to use, start Jamulus from the command line with `--ctrlmidich` and observe the output. Jamulus will list all discovered MIDI devices:
151165
152-
```
153-
--ctrlmidich "0;f0*8;p16*8"
154-
```
166+
```
167+
C:\Users\Me>"C:\Program Files\Jamulus\Jamulus" --ctrlmidich "0"
168+
- MIDI controller settings: 0
169+
- allocated port number: 22134
170+
- MIDI devices found: 2
171+
0: nanoKONTROL2
172+
1: Keystation Mini 32
173+
174+
C:\Users\Me>"C:\Program Files\Jamulus\Jamulus" --ctrlmidich "1;f0*8;p16*8;s32*8;m48*8;dnanoKONTROL2"
175+
- MIDI controller settings: 1;f0*8;p16*8;s32*8;m48*8;dnanoKONTROL2
176+
- allocated port number: 22134
177+
- MIDI devices found: 2
178+
0: nanoKONTROL2
179+
1: Keystation Mini 32 (ignored)
180+
```
181+
182+
Note that if only one MIDI device is connected, the `d` option is not necessary, as Jamulus will use the device automatically.
183+
184+
On macOS, Linux or Windows with JACK, the `d` option is accepted if given, but ignored.
155185
156186
*Note*: Jamulus does not provide feedback on the on/off state of buttons, meaning that your controller must keep track and toggle LEDs (if any) to 'on' or 'off' itself, that is, buttons on your MIDI controller need to be set to "toggle" mode. This means that when pressed to 'turn on' a control, it must send a MIDI CC number with a value >=64, and to 'turn off' the control it must send the same CC number with a value <64. You can read your controller's manual to find out how to set this.
157187

0 commit comments

Comments
 (0)