Endless Encoder support for MIDI input

LXConsole support and feedback
Post Reply
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Endless Encoder support for MIDI input

Post by freadZdead »

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!
Cheers,

Freddy
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

Hi Claude, apologies if I am nagging - any wisdom on this?
Cheers,

Freddy
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

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.
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

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.
CC501@%v+0.1
.

Would something like this be possible?

Thanks for considering.
Cheers,

Freddy
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

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.
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

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?
Cheers,

Freddy
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

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.
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

Aaah, right - I had interpolated from the behaviour when several channels are selected in the channel window and one scrolls with the mouse instead! But yeah, that makes sense, and is is something I can live with if it is too hard to change.

Thanks for letting me know, though!
Cheers,

Freddy
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

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.
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

Awesome, and thank you for also adding this functionality in OSC - that will come in handy!
Cheers,

Freddy
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

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?
Cheers,

Freddy
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

Can you explain the exact steps to reproduce this issue?
freadZdead
Posts: 211
Joined: Sat Jun 01, 2013 8:23 am
Location: Adelaide, Australia

Post by freadZdead »

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
admin
Site Admin
Posts: 1643
Joined: Mon Nov 05, 2007 1:26 am
Contact:

Post by admin »

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.
Post Reply