Announcement

Collapse
No announcement yet.

Sending Midi CC-Relative Messages from Rotary Control

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sending Midi CC-Relative Messages from Rotary Control



    Hi,


    I'm trying to emulate the Jog Wheel on my DJ software (Torq) using a rotary control on TouchOSC. I need to be able to send a CC-Relative message, set at 64 in dead center and increasing or decreasing as I move the rotary control.


    I've looked at using the scalings page, but with no success so far. Does anyone have any experience setting up CC-Relative messages ? I'd really appreciate any help you could give.


    Thanks


  • #2


    Hi,


    The only thing that you could do with the scalings page is to adjust the scaling between the input range and the output range. If I understand your post correctly, you would need a way to let the values go up or down depending as long as the rotary is held.

    This is something that would need to be implemented in TouchOSC, because TouchOSC doesn't give a control that comes back to its rest position when you release the touch.


    Best,

    Cam

    Comment


    • #3


      Hi, Thanks for getting back to me so quickly.


      I'm not sure I explained myself very well - this is an explanation of how the jog wheel I want to emualate works....


      Using an Encoder or a jogwheel (Midi ch1 left platter, Midi ch2 right platter)...

      The trick we all know is this :

      Midi Note/CC 22 value relative 63 will scratch backward

      Midi Note/CC 22 value relative 64 will scratch forward

      But, when spinning forward or backward, the Xponent send irregular values, faster you spin, higher the values are.(backward, values decrease slower you spin). Normal midi-controller will only send this fixed value 64 or 63 so the waveform does not move.


      For forward spin, the controller NEED to send something like values 64, 65, 67 .... 72, 73... 90 etc... 127 is maximum.

      and for backward spin, values 63, 62, 61 ... 45, 44 ... etc... 0 is minimum

      and


      Here is the info I received regarding how the Xponent transmits MIDI:


      The left scratch wheel transmits MIDI Note On 22 (16h) on Channel 1 when touched and Note Off 22 on Channel 1 when released. The right scratch wheel does the same thing but on Channel 2.


      The left scratch wheel transmits MIDI CC 22 on Channel 1 and the right scratch wheel transmits MIDI CC 22 on Channel 2 when rotated.


      If the Bank switch on the front of Xponent is moved to position B, the left wheel will transmit on Channel 6 and the right wheel will transmit on Channel 7 instead.


      When rotating the wheel, the value transmitted contains the number of ticks of rotation and the direction. When Xponent transmits a MIDI CC with a value greater than 64, this indicates clockwise rotation. The number of ticks of rotation is the transmitted value minus 64. Therefore, if the Xponent transmits MIDI CC 22 on Channel 1 with a value of 66, this means the left scratch wheel has rotated in the clockwise direction by 2 ticks and the Bank switch is set to A.


      The opposite is true for counter-clockwise rotation. The MIDI Value will be lower than 64 when rotating in the counter-clockwise direction. The number of ticks of rotation is 64 minus the MIDI Value. Therefore, if Xponent transmits MIDI CC 22 on Channel 7 with a value of 60, it means the right scratch wheel was rotated 4 ticks in the counter-clockwise direction and the Bank switch is set to "B".


      Most of the time, the wheels will transmit values of 65 or 63 which means only one tick of rotation has occurred since the last MIDI message. However, if the number of ticks exceeds the MIDI transmit rate, the values will increase/decrease to indicate multiple ticks have passed since the last message.


      When a wheel has stopped rotating, no more MIDI messages will be sent.

      Does that help or have I made it worse ?


      I think I can achieve the desired effect with a centred rotary encoder on Touch OSC and the scalings settings in Osculator, but I think the key is for the messages to be CC-Relative, which I cant seem to find any reference to in Osculator.


      Help me Obi-wan Kenobi, you're my only hope.

      Comment


      • #4


        Well Luke, I guess what I told before still applies: with a simple rotary I'm not sure to know how you will come back to a steady position easily.


        But if you want to try it anyway, it seems you don't need to do any scaling since the center position of a rotary is 0.5 this will automatically translate into a value of CC 64. Have you just tried to use a rotary, assign the CC 22 on channel 1 and see what happens? Are you sure the software correctly receive the MIDI data?


        As far as I know, a CC-Relative message type doesn't exist, but that would be cool :-)

        Comment

        Working...
        X