Endless Encoder support for MIDI input
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
Endless Encoder support for MIDI input
Hi Claude,
Just wanted to know if it is currently possible to use MIDI hardware endless encoders with LXConsole, i.e.to perform a definable number or coarse or fine incremental adjustments to pan/tilt with wheels?
Thanks!
Just wanted to know if it is currently possible to use MIDI hardware endless encoders with LXConsole, i.e.to perform a definable number or coarse or fine incremental adjustments to pan/tilt with wheels?
Thanks!
Cheers,
Freddy
Freddy
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
You should be able to map encoders just like anything else. A unit like a Berhinger BCR2000 maps the encoders to control changes. You can map that control change to the fine or tilt subchannel. ie. CC-6 mapped to 61.501@%v Or, you can also map to selected channels via the channel controls window as explained in the online help Setup/MIDI page under Action Commands.
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
Thanks Claude,
But is that incremental/decremental?
As far as I understand that kind of MIDI mapping you are talking about is absolute, so it takes the midi value and applies it to the property in question, whereas my device in question (a Behringer X-TOUCH) has no absolute memory on its encoders, and its endless encoders merely send MIDI Value 1 (up to 6, depending on speed of turn) on a CC for Clockwise turns (signifying to the program to decrease a value by a step) and MIDI Value 65 (up to 71, depending on speed of turn) for a CounterClockwise turn (signifying to the program to decrease a value by a step). Obviously it would be great to be able to define the step size, i.e.
Would something like this be possible?
Thanks for considering.
But is that incremental/decremental?
As far as I understand that kind of MIDI mapping you are talking about is absolute, so it takes the midi value and applies it to the property in question, whereas my device in question (a Behringer X-TOUCH) has no absolute memory on its encoders, and its endless encoders merely send MIDI Value 1 (up to 6, depending on speed of turn) on a CC for Clockwise turns (signifying to the program to decrease a value by a step) and MIDI Value 65 (up to 71, depending on speed of turn) for a CounterClockwise turn (signifying to the program to decrease a value by a step). Obviously it would be great to be able to define the step size, i.e.
.CC501@%v+0.1
Would something like this be possible?
Thanks for considering.
Cheers,
Freddy
Freddy
This sounds like a sign-bit type control change for an encoder. The latest build of LXConsole has experimental support for this as an argument to a MIDI action command. You can set an action command such as "101@%e" or "CCPan@%e" to use the endless encoder to increase or decrease a level from its present value.
LXConsole 4.6.5 is a latest build that also includes Art-Net 3 support. This may change the DMX Out settings required. To continue to broadcast Art-Net, both the "Send to address" and "Set to broadcast" boxes need to be checked. Do not use this version for a currently running production. Allow time to evaluate it for your specific use.
LXConsole 4.6.5 is a latest build that also includes Art-Net 3 support. This may change the DMX Out settings required. To continue to broadcast Art-Net, both the "Send to address" and "Set to broadcast" boxes need to be checked. Do not use this version for a currently running production. Allow time to evaluate it for your specific use.
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
Hi Claude, thanks again for implementing the sign-bit control for the encoders - it works a treat!
One caveat I seem to find - say I have two channels 41 and 42, both have Pan Subchannels; 41.CCPan is set to 60, 42.Pan is set to 80; when I select both of those channels and turn the encoder clockwise, I would expect 41 to assume 61 and 42 to assume 81, but instead it seems to set both to 61 (it does not seem to matter in which order the channels are selected, it seems to use the value of the lower channel to start with).
To me, it would make sense to pick all channels up from where they are, and not for all channels jump to the value of one of them; What do you think?
One caveat I seem to find - say I have two channels 41 and 42, both have Pan Subchannels; 41.CCPan is set to 60, 42.Pan is set to 80; when I select both of those channels and turn the encoder clockwise, I would expect 41 to assume 61 and 42 to assume 81, but instead it seems to set both to 61 (it does not seem to matter in which order the channels are selected, it seems to use the value of the lower channel to start with).
To me, it would make sense to pick all channels up from where they are, and not for all channels jump to the value of one of them; What do you think?
Cheers,
Freddy
Freddy
The OSC or MIDI "CC" action controls a fader or level in the channel controls window (or tab). This sets all selected channels to that level. If you move the pan slider, it sets the values of all selected lights to whatever the slider's level is. What the encoder parameter does is move the slider level up or down relative to where it was, instead of setting an absolute value.
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
You should be able to use "@%e" as the action command for MIDI encoders. If you select the channels you wish to control in the command line and press enter, the channels will be selected but the command line will be blank. Then, the above action command will nudge the selected channels higher or lower.
Note that %e is specifically for a MIDI encoder that uses the sign bit direction method for determining the control change or velocity value.
For OSC, the following action commands could be used with TouchOSC encoders and the latest beta, version 4.7.2 (10706.1):
"^pan;?@+e1|@-e1"
"^tilt;?@+e1|@-e1"
After selecting channels and pressing enter, the first of these commands will switch the display to pan and, depending on the direction of the encoder, nudge the channels higher or lower. The second command does the same with tilt. This method adjusts the selected channels from their current positions, rather than setting an absolute value like you would with using the channel controls.
Note that %e is specifically for a MIDI encoder that uses the sign bit direction method for determining the control change or velocity value.
For OSC, the following action commands could be used with TouchOSC encoders and the latest beta, version 4.7.2 (10706.1):
"^pan;?@+e1|@-e1"
"^tilt;?@+e1|@-e1"
After selecting channels and pressing enter, the first of these commands will switch the display to pan and, depending on the direction of the encoder, nudge the channels higher or lower. The second command does the same with tilt. This method adjusts the selected channels from their current positions, rather than setting an absolute value like you would with using the channel controls.
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
One thing I noticed when it comes to using the endless encoders on Subchannels with a "fine" option - it does set the "fine" cannel to the same value as the main subchannel, so Pan 89 Pan Fine 89 would go with one click to Pan 90 Pan Fine 90;
While on the one hand, I would not want to introduce extra mileage by making the clicks go through 100 steps of fine before moving to the next main subchannel value, it might be interesting to de-couple the two from each other; that way, I could still (fairly quickly) wheel through the broad position, and then use a separate encoder for the fine adjustment?
While on the one hand, I would not want to introduce extra mileage by making the clicks go through 100 steps of fine before moving to the next main subchannel value, it might be interesting to de-couple the two from each other; that way, I could still (fairly quickly) wheel through the broad position, and then use a separate encoder for the fine adjustment?
Cheers,
Freddy
Freddy
-
- Posts: 211
- Joined: Sat Jun 01, 2013 8:23 am
- Location: Adelaide, Australia
Currently all my control surfaces are tucked away, but I believe I noticed it first when the fractional controls where first developed to affect the channel drawer, rather than working in the appropriate channel window; the steps where merely to be in a different subchannel window (say intensity), and then moving a midi control mapped to CCPan@%e , without activating the ^Pan window first.
Cheers,
Freddy
Freddy
It may be coincidental that the numbers were the same. The channel controls pan and tilt sliders are full resolution and set both values if a fine subchannel is present. You can see this by manually moving the slider.
Or, select Pan or Tilt and set the scroll area to "Fine" and, using a mouse with a scroll wheel or a track pad, place the cursor over the area and scroll up or down.
Or, select Pan or Tilt and set the scroll area to "Fine" and, using a mouse with a scroll wheel or a track pad, place the cursor over the area and scroll up or down.