Im trying to translate a DIAL knob from my synthesizer

cricky

2014-04-27 17:31:28

Im trying to translate a DIAL knob, the ones used on workstation those big dial knob. I achieved to capture midi msgs while dialing but i need help which ones should I capture because I want to use it as a prev/next preset controller

F0 41 10 00 00 21 12 03 00 00 00 57 03 7F 24 F7 <--When turned right
then after
F0 41 10 00 00 21 12 03 00 00 00 57 03 7E 25 F7 <--When turned left
then after
F0 41 10 00 00 21 12 03 00 00 00 57 03 7C 27 F7 <--When turned left
then after
F0 41 10 00 00 21 12 03 00 00 00 57 03 7B 28 F7 <--When turned left
and so on...

DvlsAdvct

2014-04-28 17:06:35

Hi cricky

Can you give me a little more information on what it looks like when you turn left and right? It looks like we are going to need to count the 3rd and 2nd to last commands, but before I put math together I need a greater picture of the messages. Can you give me a screen shot of the log window while turning left for a few signals and then turning right for a few more?

Thanks
Jared

cricky

2014-04-28 23:02:55

Its a V-synth GT synthesizer
Im using Presonus S1


The information inside the black rectangle on the image is the 512 Patch (last patch #)
The information inside the red rectangle on the image is from patch 1 - 14 (bottom to up)

Turning Left continuously ends at patch 1 and stays there
Turning Right continuously ends at patch 512 and stays there



I did that in order to show some more information as well as last patch information.

The other pic is a picture of the patch DIAL...The circle object with lines
Attachments
Patch Dial
Patch Dial
dial 2.jpg (14.71 KiB) Viewed 2829 times
Midi Monitor
Midi Monitor
dial.jpg (270.4 KiB) Viewed 2829 times

cricky

2014-04-28 23:14:41

Continuing post...

When Turning Right starting from Patch 1
F0 41 10 00 00 21 12 03 00 00 00 57 00 00 26 F7
F0 41 10 00 00 21 12 03 00 00 00 57 00 01 25 F7
F0 41 10 00 00 21 12 03 00 00 00 57 00 02 24 F7
F0 41 10 00 00 21 12 03 00 00 00 57 00 03 23 F7

When Turning Left starting from last Patch 512
F0 41 10 00 00 21 12 03 00 00 00 57 03 7F 24 F7
F0 41 10 00 00 21 12 03 00 00 00 57 03 7E 25 F7
F0 41 10 00 00 21 12 03 00 00 00 57 03 7D 26 F7
F0 41 10 00 00 21 12 03 00 00 00 57 03 7C 27 F7

DvlsAdvct

2014-04-29 01:39:07

One last question. Do you want this to look like an endless encoder just reading out left and right, or do you want this to work like an absolute controller?

cricky

2014-04-29 09:16:29

Endless encoder pls

DvlsAdvct

2014-04-30 14:54:21

Hi cricky

Since I don't have this unit we are going to have to be flying a little blind, okay? I'll put together a solution I think will work and I'll need you to tell me if it doesn't, okay?

I'm going to assume that the second to last bit of data, before the F7, cycles down to 0 when turning right and then resets to 7F and cycles down again and again as the bits of data to its left cycle on their own. This is going to be our trigger variable. As it cycles MT is going to guess whether it is moving up or down and trigger the direction accordingly. We are going to have to deal with it cycling from 0 to 127, but we'll get there. We are going to start with it only turning right, and if that works we will create the left translator.

Code: Select all

Translator 1: Right turn
Incoming Message: F0 41 10 00 00 21 12 03 00 00 00 57 pp qq rr F7
Rules: gd=rr-ga
ga=rr
if rr==0 then Goto "Zero"
if gd>=0 then exit rules, skip Outgoing Action
Label "Zero"
if ga!=127 then Exit rules, skip outgoing action
Outgoing action: B0 30 41
Let me know if that works. Keep in mind it is just when turning right.

Thanks
Jared