Hello community,
having saying that I don't understand about midi, I've the opportunity to try an X Touch mini and I'm not able to write the profile:
when I open Qlcplus the X Touch mini is listed in the Input/Output mapping tab but I don't have any kind of feedback.
If I start it in Mackie Control mode then I'm able to build a profile but I get a weird behavior: the knobs step only between the values 002 and 130, instead the buttons work.
Is there someone that can help me? I'm using linux.
Thanks in advance
Giacomo
X Touch mini profile
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
That's probably because they are rotary encoders, so they don't really have a start and an end value like faders.giacomo wrote:the knobs step only between the values 002 and 130, instead the buttons work.
They are probably sending relative values and QLC+ thinks they are absolute.
Can you please post a trace or a screenshot of either:
- kmidimon
- the command
Code: Select all
amidi -p hw:1,0,0 -d
Thanks
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
hi Massimo and thanks,
yes they're no. 8 endless rotary encoders (as I presume they should be the first row of the BFC2000) and this is why I'm trying it: I would like to see if I can use it properly with the page tabs in virtual console frame, together with the feedback capability. Till now I've used a nanokontrol2 and the drawback is that when I change page the sliders and knobs have already a physical position.
If you can help me, I'd like to use it in normal mode because in MC mode I lost the 2nd layer selection and the lighting leds of the rotary encoders.
I don't know why, but when it's in normal mode qlcplus doesn't get any feedback from it.
Here the files.
yes they're no. 8 endless rotary encoders (as I presume they should be the first row of the BFC2000) and this is why I'm trying it: I would like to see if I can use it properly with the page tabs in virtual console frame, together with the feedback capability. Till now I've used a nanokontrol2 and the drawback is that when I change page the sliders and knobs have already a physical position.
If you can help me, I'd like to use it in normal mode because in MC mode I lost the 2nd layer selection and the lighting leds of the rotary encoders.
I don't know why, but when it's in normal mode qlcplus doesn't get any feedback from it.
Here the files.
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Thanks Giacomo.
Please give me some time to study your traces as I'm in the process of releasing QLC+ 4.10.0.
I'm indeed interested of having an out-of-the-box support for rotary encoders, so this topic won't be left unnoticed.
Please give me some time to study your traces as I'm in the process of releasing QLC+ 4.10.0.
I'm indeed interested of having an out-of-the-box support for rotary encoders, so this topic won't be left unnoticed.
-
- Posts: 1331
- Joined: Mon Apr 13, 2015 7:05 am
- Location: Bratislava, Slovakia
- Real Name: Jano Svitok
- Contact:
It seems that the midi dump agrees with the manual, i.e. knob is CC1 on channel 11 and knob push is note on/off on the same channel.
There are several problems with knob led rings:
- the rings receive values on different CC than they send
- the receive CC is common for both layers (so application has to be aware of current layer)
- the values are not mapped to full interval, rather to 0-13
- I'm not sure if current layer is sent (Program change 0/1)
To fully support this device, C++ changes are needed (in non Mackie mode).
With MIDI editor, it may be possible to come up with a more reasonable configuration.
There are several problems with knob led rings:
- the rings receive values on different CC than they send
- the receive CC is common for both layers (so application has to be aware of current layer)
- the values are not mapped to full interval, rather to 0-13
- I'm not sure if current layer is sent (Program change 0/1)
To fully support this device, C++ changes are needed (in non Mackie mode).
With MIDI editor, it may be possible to come up with a more reasonable configuration.
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
Hi Jano,
I tried the amidi command following your points and when the device is in normal mode the layer buttons don't send any midi signals, while they do in MC mode.
(Maybe it's not an issue, we can just assume that it's possible to use 8 + 8 knobs for each page tab or use the layer B independently outside the virtual console frame itself, to have an easy access to extra 8 encoders)
The master fader has a different midi output depending on the layers.
cheers
I tried the amidi command following your points and when the device is in normal mode the layer buttons don't send any midi signals, while they do in MC mode.
(Maybe it's not an issue, we can just assume that it's possible to use 8 + 8 knobs for each page tab or use the layer B independently outside the virtual console frame itself, to have an easy access to extra 8 encoders)
The master fader has a different midi output depending on the layers.
cheers
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
Hi Jano,
just a thought: if we forget about the knob led rings for now, is there a way to use it?
Anyway the controller has 2 layers and it remembers by itself the led ring levels, so switching between the 2 layers we can access a total of 16 rotary encoders, 32 buttons and 2 sliders, it's not bad.
regards
just a thought: if we forget about the knob led rings for now, is there a way to use it?
Anyway the controller has 2 layers and it remembers by itself the led ring levels, so switching between the 2 layers we can access a total of 16 rotary encoders, 32 buttons and 2 sliders, it's not bad.
regards
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
@Giacomo I was looking at your first traces again.
When you say "MOVING 1ST KNOB", did you rotate it in just one direction or both directions ?
I need to understand which values are sent and how to treat them, so can you please provide a trace where you rotate a knob 720° clockwise and 720° counter-clockwise as separate traces (in a single txt file is ok) ?
Basically 2 complete rotations in both directions.
In normal mode please. Let's see if we can make that work for now.
When you say "MOVING 1ST KNOB", did you rotate it in just one direction or both directions ?
I need to understand which values are sent and how to treat them, so can you please provide a trace where you rotate a knob 720° clockwise and 720° counter-clockwise as separate traces (in a single txt file is ok) ?
Basically 2 complete rotations in both directions.
In normal mode please. Let's see if we can make that work for now.
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Quick update. I have written some code and also did some tests with TouchOSC.
This is more complicated than I thought and here's what I understood so far:
1) TouchOSC encoder sends 1 (DMX=255) clockwise and 0 (DMX=0) counter-clockwise
2) X Touch in Mackie mode sends 0x01 (DMX=2) clockwise and 0x41 (DMX=130) counter-clockwise (Giacomo please confirm)
3) X Touch in normal mode sends continuous values, increasing clockwise and decreasing counter-clockwise. No idea what happens when reaching maximim/minimum values. Here is where I need complete traces from Giacomo.
This is more complicated than I thought and here's what I understood so far:
1) TouchOSC encoder sends 1 (DMX=255) clockwise and 0 (DMX=0) counter-clockwise
2) X Touch in Mackie mode sends 0x01 (DMX=2) clockwise and 0x41 (DMX=130) counter-clockwise (Giacomo please confirm)
3) X Touch in normal mode sends continuous values, increasing clockwise and decreasing counter-clockwise. No idea what happens when reaching maximim/minimum values. Here is where I need complete traces from Giacomo.
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
Ciao Massimo,
I'll send the new full traces in a couple of hours, for now I can tell you that the old ones were made by turning the knobs clockwise a bit and then back counter-clockwise - I was watching the values in the terminal to reach the same state.
It would be great if it can work, in a couple of weeks I'll have a little children-theatre production and they've this interface: I'll control everything by myself so for the first time I've the occasion to test light and sound (and probably video to if feasible) with Qlcplus
I'll send the new full traces in a couple of hours, for now I can tell you that the old ones were made by turning the knobs clockwise a bit and then back counter-clockwise - I was watching the values in the terminal to reach the same state.
It would be great if it can work, in a couple of weeks I'll have a little children-theatre production and they've this interface: I'll control everything by myself so for the first time I've the occasion to test light and sound (and probably video to if feasible) with Qlcplus
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
Hi Massimo, I've the X-touch mini home with me if you need other tests, here the files.
After reaching the maximum (or minimum) level, turning more a knob doesn't alter the output - same max level (or min if counter-clockwise), the knobs can turn infinitely in both directions.
(Probably) Now I understand what Jano wanted to say about led rings, I've tried the amidi command with different knobs and switching the layer A/B: the controller keeps memory by itself of the knobs levels so - in a future? - if we want to use it with several tabs in the virtual console we'll need to send the correct values to these ring leds.
Anyway for now it will be already nice to use it as it is, it seems quite handy.
Have a good week you all.
After reaching the maximum (or minimum) level, turning more a knob doesn't alter the output - same max level (or min if counter-clockwise), the knobs can turn infinitely in both directions.
(Probably) Now I understand what Jano wanted to say about led rings, I've tried the amidi command with different knobs and switching the layer A/B: the controller keeps memory by itself of the knobs levels so - in a future? - if we want to use it with several tabs in the virtual console we'll need to send the correct values to these ring leds.
Anyway for now it will be already nice to use it as it is, it seems quite handy.
Have a good week you all.
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
Thanks Giacomo.
The traces confirm what I understood so far.
I pushed some code online, so if you still have the build environment on your Linux PC then git clone (or git pull) and rebuild.
I've added a new "widget" type in the input profiles called "Encoder". So go to the Input Profiles, create one (or edit an existing one), autodetect an encoder (it will be detected as Slider) and set it to "Encoder".
Basically the Virtual Console widgets will receive incrementing values when you turn clockwise and decrementing on counter-clockwise.
Probably in Mackie mode they will be reversed (cause 0x41 is > 0x01)
The only special case is the Speed Dial which has the only real rotary encoder in QLC+. I'll think of something about it later.
For now, please let me know if my change works for you.
Thanks
The traces confirm what I understood so far.
I pushed some code online, so if you still have the build environment on your Linux PC then git clone (or git pull) and rebuild.
I've added a new "widget" type in the input profiles called "Encoder". So go to the Input Profiles, create one (or edit an existing one), autodetect an encoder (it will be detected as Slider) and set it to "Encoder".
Basically the Virtual Console widgets will receive incrementing values when you turn clockwise and decrementing on counter-clockwise.
Probably in Mackie mode they will be reversed (cause 0x41 is > 0x01)
The only special case is the Speed Dial which has the only real rotary encoder in QLC+. I'll think of something about it later.
For now, please let me know if my change works for you.
Thanks
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
Mackie mode: as you wrote the encoders are reversed but after being raised they don't reach a 0 value anymore, they keep a value between 1>3 /255.I pushed some code online, so if you still have the build environment on your Linux PC then git clone (or git pull) and rebuild.
I've added a new "widget" type in the input profiles called "Encoder". So go to the Input Profiles, create one (or edit an existing one), autodetect an encoder (it will be detected as Slider) and set it to "Encoder".
Basically the Virtual Console widgets will receive incrementing values when you turn clockwise and decrementing on counter-clockwise.
Probably in Mackie mode they will be reversed (cause 0x41 is > 0x01)
The master fader is not detected, something I noticed is that they've a sensibility step of 1/255, while the nanokontrol 2/255.
In Normal mode still any feedback in qlc+ so I couldn't test it.
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
That's because in Mackie mode 0x01 is the upper value and 0x41 is the lower one. To fix this it's probably necessary to add more parameters to the input profile editor, so for now let's leave it aside.giacomo wrote:Mackie mode: as you wrote the encoders are reversed but after being raised they don't reach a 0 value anymore, they keep a value between 1>3 /255.
What is "the master fader" ? An encoder as well or a normal fader ?giacomo wrote:The master fader is not detected, something I noticed is that they've a sensibility step of 1/255, while the nanokontrol 2/255.
What does this mean ? You won't have feedbacks on encoders anyway. Or are we talking about something else now ?giacomo wrote:In Normal mode still any feedback in qlc+ so I couldn't test it.
I am loosing the point here cause there's a mix of things and I can't understand if my changes work or not.
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
Hi Massimo,
I wasn't clear: when the controller is in normal mode qlcplus doesn't receive any value so I wasn't able to write the profile.
I enclose the profile in MC.
regards
it's a normal fader called "master" in the unit, qlcplus doesn't receive any signal from it, I've already traced it in the answer to Jano, see the files "master slider".What is "the master fader" ? An encoder as well or a normal fader ?
I wasn't clear: when the controller is in normal mode qlcplus doesn't receive any value so I wasn't able to write the profile.
I enclose the profile in MC.
regards
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
I've seen the master slider trace.giacomo wrote:it's a normal fader called "master" in the unit, qlcplus doesn't receive any signal from it, I've already traced it in the answer to Jano, see the files "master slider".
I wasn't clear: when the controller is in normal mode qlcplus doesn't receive any value so I wasn't able to write the profile.
Layer A sends Control Changes on MIDI channel 8 while Layer B sends CC on channel 9. I see no reasons why QLC+ shouldn't receive them.
Maybe you can try harder ?
-
- Posts: 568
- Joined: Tue May 26, 2015 6:17 pm
- Real Name:
from the manual:
in normal mode I don't see any kind of detection, button or knob or slider.
I've tried arch linux and debian stable, apart the new profile from GIT the automatic channel detection is the same of my first message.
in MC I don't see the detection of the slider, all the rest is working - with the issues pointed above,Click the automatic wizard button to attempt automatic channel detection. You'll receive
further instructions from QLC+
in normal mode I don't see any kind of detection, button or knob or slider.
I've tried arch linux and debian stable, apart the new profile from GIT the automatic channel detection is the same of my first message.
- mcallegari
- Posts: 4827
- Joined: Sun Apr 12, 2015 9:09 am
- Location: Italy
- Real Name: Massimo Callegari
- Contact:
The MIDI plugin by default receives on channel 1.
In normal mode the X Touch is sending on MIDI channels 8 and 9. You need to use those otherwise you won't receive anything.
In normal mode the X Touch is sending on MIDI channels 8 and 9. You need to use those otherwise you won't receive anything.