Sys ex also keybindings

Guido

2012-04-25 08:10:33

Hi,

I bought BMTpro to help me use a hui controller with Reaper. The Hui protocol is based on dbl messages for just abut every thing..and it confused daws learn system.I made a preset that takes the dbl midi messages and converts them to key commands. Bomes worked well for that
My first question is..I want to convert one sys ex message to another but with possibly different lengths. F0 00 00 16 11 00 pp F7 to F0 00 00 06 66 10 00 pp 00 F7 . The header conversion would always be the same for all the sys ex i want to convert but where the value bytes are and the lengths of the incoming and outgoing messages could be different. How do i handle this?

And no matter what i do Reaper doesnt understand when i send a modifier key combo..like Shift A from bomes? Any thoughts?

i hope u can help me

PS I been looking for hui docs for along time..and the link that i kept coming to was that post with a comcast link that was supposed to be the docs. That link is about as wrong as it could be..maybe a mackie operative swapped docs^^. http://home.comcast.net/~robbowers11/MCMap.htm The motu tech guy that responded was absolutely right.

If anyone would like the real info its here...http://forum.cockos.com/showthread.php?t=101328

Thx in advance

Guido

DvlsAdvct

2012-04-25 15:46:58

Hey Guido

For the Sysex changes you should be able to just input the different strings and it would work. The different lengths shouldn't matter to BMT, nor the DAW. Did you try it and it didn't work?

I'll test the combination tonight. Worst case you can try two different translators, the A with a slight delay on it. It would look something like

Code: Select all

Translator 1: Shift
Incoming Message: 90 00 7F
Key Combo: Shift

Translator 2: A
90 00 7F
Key Combo: A
Delay: 5ms
I can't be 100% on that, though, but it's an idea. once I have MT in front of me tonight I can give it a look.

Jared

Guido

2012-04-25 17:16:04

Hi,

Thx jared for ur quick response. I will try the sys ex . hard to believe the length wouldnt matter..but im not Einstein^^
On the keybinding, i was trying to use one translator for the combo..will try the 2 translator deal.

My master plan..lol.was to turn my HUI into an mcu...to be able to use a ReaperCsurf,dll made for the mcu. u think bomes can do it? I hope so. I have a friend who keeps saying i got ripped off for buying bomes and i would "love" to prove him wrong. He says i shoulda got Max or buy a mac mini..im on pc now..and get junxion or somethin like that.

Sorry but one more thing. I have seen in my research here ur name come up with tons of generous and kick ass solutions for ppl, and I would like to thank you for that. It like the good ying of the internet compared to the bad yang of the internet u see alot. So Thanx!

Guido

DvlsAdvct

2012-04-25 17:47:29

Thanks a lot, Guido. I spend way too much time trying very hard to nerd out and I try to help others nerd out as much.

You definitely didn't waste your money on Bome, and if you think this is hard just TRY M4L. Not sure what a mac mini has to do with it. That seems even more silly. :p

The way the messaging works in Bome is to simply take any incoming message and send out any OTHER outgoing message you want (identical messages included, of course). So if you have a 6 bit MIDI signal (90 40 pp) you can send out 15 MIDI messages in the same translator. So you have an incoming SysEx message, and ANY SysEx message could work as an outgoing message. IN fact, ANY message (keystroke, MIDI, timer, preset) can be the outgoing message. In your example the only piece of the code that will carry on is the pp, as it's a local variable.

Try the combo, and I'll check it out when I get home. Also, make sure to test this with a simple notepad or something to make sure it is MT and not Reaper that is receiving the message wrong. :)

Guido

2012-04-25 23:36:19

Hi,
jared..will do.

The mini came in to run junxion ..only runs on mac.

Will post tomorrow and thx again.

Guido

2012-04-27 06:49:20

Hi,
Sry so late. I tried what i think is what u said about the bindings... that didnt work ,so i tried this way... also didnt work, hmmmmm
I have attache a text file of a portion if the project. Am i way off base here?

Also i attached a file called d8b6 which shows what i got working so far in my project. oops next post.

Guido
Attachments
Buttons.txt
(827 Bytes) Downloaded 355 times

Guido

2012-04-27 06:50:40

Here is the second attachment... and thx again.

Guido
Attachments
D8B6.txt
(5.58 KiB) Downloaded 340 times

Guido

2012-04-27 07:03:04

Hi

sry user error on the keybidnding idea..it works now. Thanks!! Here is the working one.



Translator 0.45: Bus Route
Options: stop=false
Incoming: MIDI B0 0F 08 B0 2F 47
Outgoing: Key down: Shift [repeat delay 250ms, speed 33 c/s]

Translator 0.46: Bus Route
Options: stop=false
Incoming: MIDI B0 0F 08 B0 2F 47
Rules:
oo=5
Outgoing: Keystroke: 1 , delay:oomillisec

Translator 0.47: Bus Route
Options: stop=false
Incoming: MIDI B0 0F 08 B0 2F 47
Rules:
xx=1
Outgoing: Key up: Shift, delay:xxsec

Guido

2012-04-27 09:40:11

Hi,
I decided to wait on, the sys ex..its for displaying text on an lcd and i want to learn more about bomes first and leaving the display for last.

I have a hui control surface. I want to turn it into a MCU. It is near impossible to get an official spec from mackie on either of these protocols. But i do have some docs..
here is the hui spec for moving the faders. Notice that the message uses running status..its from a doc for the CMmototmix.. a hui compatable CS..byw my board does not use runnin status.


.Recieved Messages
.................
Ping Input 90-00-00
MOTORS {1 thru 8} B0-(00thru07)-MSB-(20thru27)-LSB
MSB=0 M M M M M M M LSB=0 L L 0 0 0 0 0

....................


The MCU uses pitch bend with midi channel being the faders

Here is what i came up with..it kinda worked bpth ways ,but the fader jumps like hell. I hope ur not going to tell me that bomes cant do where the ...i guess its called the msb lsb nibbles are?

Project: HuiConvertor
Project MIDI IN ports: E-DSP MIDI Port [1000], Bome's Midi Translator 1 Virtual In, Bome Virtual Port 1
Project MIDI OUT ports: Bome's Midi Translator 1 Virtual Out, Bome Virtual Port 1
_____________________________________________________________
Preset 0: Faders

Translator 0.0: Fader 2 Move
Options: stop=false
Incoming: MIDI B0 01 pp B0 21 qq
Outgoing: MIDI E1 pp qq

Translator 0.1: From MCU
Options: stop=false
Incoming: MIDI E1 pp qq
Outgoing: MIDI B0 01 pp B0 21 qq


Im sorry to bother u but i have been working on gettin Reaper and my CS tight since 2007..and bomes pro has allowed me to get closer in 2 weeks than all that time.^^ And if the thought of good karma is an incentive, this will not only help me,but a bunch of others in REaper land. Reaper has pretty good MCU suport but thats about it. So if i can do this with a hui,then i could show them with bomes how to do it for any midi spittin box!! Mucho karmo!!^^

Thx for any help

Guido

DvlsAdvct

2012-04-27 16:11:25

Hey again Guido

I am hesitant to say there is much that MTPro can't do with MIDI, and I'm almost 100% positive that it can do exactly what you're asking.

Unfortunately, this is where I gotta bring in the big guns for support. Don't worry about the bother, as it isn't one at all. Let me get Florian involved in the conversation as once you hit the MSB and LSB stuff I kinda get lost if I can't have something to work with in front of me.

And the Sysex stuff for LCD readouts is really simple. Trust me, that's something I've done a lot of.

florian

2012-04-27 16:43:02

Hi Guido,

a couple of things:

1) I believe that you got LSB and MSB reversed. It should be:

Code: Select all

Incoming: MIDI B0 01 pp B0 21 qq
Outgoing: MIDI E1 qq pp
where pp is the MSB, and qq contains the LSB.

2) It's worthwhile to separate the directions into two separate presets:
Preset 1: HUI to MCU
Preset 2: MCU to HUI
Then instead of setting Project default ports, set default ports for each preset:
Preset 1: MIDI IN: E-DSP -- MIDI OUT: Bome Virtual Port 1
Preset 2: MIDI IN: Bome Virtual Port 1 -- MIDI OUT: E-DSP

3) do not use Bome Virtual Port 1 AND Bome's Midi Translator 1 Virtual Out. They point to each other, and if you select both, your messages will be sent twice.

Hope that helps!
Florian

Guido

2012-04-27 17:16:57

Hi,

Oh boy oh boy!!! Thx..will post back .. i'm starting to see a :oops: of light!^^ Thx florian..thx jared


".....3) do not use Bome Virtual Port 1 AND Bome's Midi Translator 1 Virtual Out. They point to each other, and if you select both, your messages will be sent twice..

i noticed that ..
i must admit i need to reread the manual as far as the Virtual ports. I am not really clear yet..but ill get there.^^ is it basicly like Myoke? I thought there was a diff in that u could use the same # port for both in out... like bomes virtual port 1 in and bomes virtual 1 out..discreet.. Ill read. Sry im so dense..old^^

"......And the Sysex stuff for LCD readouts is really simple. Trust me, that's something I've done a lot of......"

Wow sweeter words have never been spoken....Im on a mission^^ Tu e signore florian a fatto mi cuore che volla.^^ I am almost a fluent speaker of Italian..used to live there..but my grammar sucks! Im in Hollywood Florida USA now. Grazie

The msb/lsb thing was reversed..omg It works...may God bless u!

Guido

Guido

2012-04-27 19:49:51

Hi,
Ok this is the last of the pitch wheel to/from those dbl hui midi messages.


B0 01 60 B0 21 60 From HUI fader 2

B0 02 60 B0 22 60 From HUI fader 3

E0 qq pp From MCU fader 2

E1 qq pp From MCU fader 3

I know the answer is probably screaming out to u bomes vets.. but my brain is mush! Ill try to keep these posts to a minimum.I know MCU is midi channel..and the hui is those two diff bytes, but my bomes-fu is not up to it.^^

The rest of the non sys ex stuff is straight CC's to the dbl hui midi messages. .wait....what did i just say? lol..I am already taking bomes for granted! Shame on me!

As always humongous thanks!


EDIT I got it ..Sorry ,, I was over thinking it! Man this is great!

Gudio

florian

2012-04-28 11:24:27

Hi Guido,

nice one, don't spare us with new challenges!

Florian

Guido

2012-04-28 17:41:13

Hi,

Oh their comin!^^ Vpots! probably by today.
I dont know how to thank u enuff.

Guido

Guido

2012-04-30 05:43:53

Hi,

This one is hard for me to even read! This is from a reverse engineered doc i got for what the HUI wants to see for timecode display...

4) Timecode display

The TC display consists of eight 7-segment displays (called digits here).
To keep MIDI data bandwidth as low as possible data gets transmitted with
lsb first. Every digit except the first one (the rightmost) has a decimal
point (dp).
It is possible to send up to 8 digits to the surface within one sysex frame.

Format: f0 00 00 66 05 00 11 y0 [y1 [y2 [y3 [y4 [y5 [y6 [y7]]]]]]] f7

where y0 is the rightmost digit (lsb) and y7 is the leftmost digit (msb).
[...] denotes optional data.

Valid values for y0..y7 are :
00 : '0' 10 : '0.' (only valid for y1..y7)
01 : '1' 11 : '1.' (only valid for y1..y7)
02 : '2' 12 : '2.' (only valid for y1..y7)
03 : '3' 13 : '3.' (only valid for y1..y7)
04 : '4' 14 : '4.' (only valid for y1..y7)
05 : '5' 15 : '5.' (only valid for y1..y7)
06 : '6' 16 : '6.' (only valid for y1..y7)
07 : '7' 17 : '7.' (only valid for y1..y7)
08 : '8' 18 : '8.' (only valid for y1..y7)
09 : '9' 19 : '9.' (only valid for y1..y7)
0a : 'A' 1a : 'A.' (only valid for y1..y7)
0b : 'b' 1b : 'b.' (only valid for y1..y7)
0c : 'C' 1c : 'C.' (only valid for y1..y7)
0d : 'd' 1d : 'd.' (only valid for y1..y7)
0e : 'E' 1e : 'E.' (only valid for y1..y7)
0f : 'F' 1f : 'F.' (only valid for y1..y7)


Here is the same info from a hui compatable cmlabs motormix....



7 Segment Display HEADER-12-MSChar(Hi Nibble)-MSChar(Lo Nibble)-
LSChar(Hi Nibble)-LS Char(Lo Nibble) -F7
Char is ASCII 0-9, Dash, Space or Upper Case Letters
Bit # 6 of Hi Nibble byte is decimal point for each Character
For example: to put “AB” on display: F0-00-01-0F-00-11-00-12-04-01-04-02-F7
For example: to put “C.D.” on display: F0-00-01-0F-00-11-00-12-44-03-44-04-F7

I noticed the headers are different and i dont have the motor mix...but I know they both worked with old pro tools which is all hui protocol and the rest of the sped looks identicle.puh..


This is what Reapers MCU implementation is sending....




TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
002E5061 1 -- B0 40 33 1 --- CC: Pedal (Sustain)
002E5061 1 -- B0 41 31 1 --- CC: Portamento
002E5061 1 -- B0 42 31 1 --- CC: Sostenuto-Thumby
002E5061 1 -- B0 43 00 1 --- CC: Pedal-Soft
002E5061 1 -- B0 44 00 1 --- Control Change
002E5061 1 -- B0 45 33 1 --- CC: Hold 2
002E5061 1 -- B0 46 00 1 --- Control Change
002E5062 1 -- B0 47 32 1 --- CC: Harmonic Content
002E5064 1 -- B0 48 00 1 --- CC: Release Time
002E5064 1 -- B0 49 00 1 --- CC: Attack Time
Those aren't pings, they're updates to the LED time display ( bar / beat / hour / minute / second, etc. ),
'

Whoa..am i over my head?

Thx for any help

Guido

EDIT I hope u guys dint think im just copy paste the infos and expect someone else to do all the work.^^ I agonize over and read everything enumerable times ,but i am stuck.



sry but I dont have a solid fundamental understanding of the math or rules yet.^^

Guido

2012-05-01 07:02:22

HELP^^

florian

2012-05-04 13:03:48

hi,

have you tried a proof of concept? i.e. just sending this as outgoing action:

Code: Select all

f0 00 00 66 05 00 11 11 12 13 14 15 16 17 18 f7
That should display "8 7 6 5 4 3 2 1" on the LED's.

Or try the other Sys Ex variant...

Once you know which Sys Ex message to send, I can help you converting the time code messages.

Regards,
Florian

Guido

2012-05-04 19:41:57

florian wrote:hi,

have you tried a proof of concept? i.e. just sending this as outgoing action:

Code: Select all

f0 00 00 66 05 00 11 11 12 13 14 15 16 17 18 f7
That should display "8 7 6 5 4 3 2 1" on the LED's.

Or try the other Sys Ex variant...

Once you know which Sys Ex message to send, I can help you converting the time code messages.

Regards,
Florian
Hi,

I will try that.

I would also like to apologize for ever doubting bomes could do this job. BMTP is the most useful midi software I have used since I first used C labs CreatorSL..logics environment...and Sound diver..Hmmm all german^^

Below is what i have so far.

I am currently stuck on meters..but im trying . I think this translator is going to help quite a few ppl i think. As i scour the web for info, i see many resolvable probs that now lie unresolved in regard to converting these two Mackie protocols. UNBElievable confusion out there! I hope i make sense.

i will post later TODAY with a question if u dont mind^^

guido
Attachments
HuiConvertorV2b.bmtp
(14.87 KiB) Downloaded 330 times

DvlsAdvct

2012-05-04 20:56:17

I'll be keeping my eye on the thread in case Florian gets overwhelmed I can kick him from across the world and he'll take a look. :)

Keep the questions coming. If nothing else it makes the whole process better for all of us.

Guido

2012-05-04 20:58:17

florian wrote:hi,
have you tried
Once you know which Sys Ex message to send, I can help you converting the time code messages.
Regards,
Florian
Hi,
floriano bedo!..sicilian dialect^^ I almost wet myself! it worked. i dont know what to do now^^,,but i am so happy!Thank u Sir..and thx jared too.

In the meantime, I have these meters that only come from the mcu to the Hui's meters,
the mcu uses Ch Aftertouch and sends:

--------- D0 yx : update VU meter, y=track, x=0..d=volume, e=clip on, f=clip off

The Huis meter LEDS want to see:

---------

3) VU-Meters

Format: a0 0y sv

y : channel (0..7)
s : side (left/right)
s = 0 : side = left
s = 1 : side = right
v : value (0..c)
v = c : signal >= 0dB; red (clip)
v = b : signal >= -2dB; yellow
v = a : signal >= -4dB; yellow
v = 9 : signal >= -6dB; yellow
v = 8 : signal >= -8dB; green
v = 7 : signal >= -10dB; green
v = 6 : signal >= -14dB; green
v = 5 : signal >= -20dB; green
v = 4 : signal >= -30dB; green
v = 3 : signal >= -40dB; green
v = 2 : signal >= -50dB; green
v = 1 : signal >= -60dB; green
v = 0 : signal < -60dB; all leds off

----------------

My particualar board..a mackie d8b doesnt emulate the master fader in the hui spec as per to meters..thats the only thing i can figure is the "side" mentioned in the above HUI meter spec. The only thing that i think i see is that one value goes from 0-c..and the other goes 0-f. So i would make a rule.. and then my brain goes..buuurp^^
I did get ch 8's meter to flash inconsistently with this:
-----------------

Translator 1.8: Ch 1 Meters
Options: stop=false
Incoming: MIDI D0 pp
Outgoing: MIDI a0 07 pp
---------------------
And then i went to bed with a smile on my face and the sun coming up!^^

Danke fur all your help. Its really almost done.Wow!!!! Sys ex displays..and thats it......wait one more...^^ so u dont keep getting email notifications or something....

My Vpots all work,even the led rings..except they are reversed ..cclockwise goes clockwise and the inverse..same for jog wheel. Must be some math rule? It talks in the hui spec of "delta" values..but as i said they are working great including acceleration..just reversed.

Guido

Guido

2012-05-04 20:59:37

DvlsAdvct wrote:I'll be keeping my eye on the thread in case Florian gets overwhelmed I can kick him from across the world and he'll take a look. :)

Keep the questions coming. If nothing else it makes the whole process better for all of us.
Hi,

Thanks jared!!Them are some looooong legs!

Guido

Guido

2012-05-05 18:00:23

Hi,

Maybe our posts crossed..or i am impatient.^^ Another all niter ..much progress..the reverse engineering part takes actually longer than the bomes part^^ Should have every thing done in a cpl o hours ... except ..meters..tc display and lcd display {sysEx}.
So if I can get that TC done today....and maybe the meters..i would be thrilled. I cant wait to bust out with this on the d8b and the reaper forums. I forsee a few new bmtpro licenses comin!

Not an attempt at bribery..just an educated guess^^.
hope DA and florian are well..

Guido

julynessi

2012-05-06 01:18:19

I need to read a mackie documents...then may be I can fig this out..(HUI)
but as I used to dome home mapper for translate a Denon HC-4500 font code from traktor to a remote SL LCD (for viewing atrak name bmp,e.g..)
when a ASCII code is need to use MSB & LSB to translate (Denon documents in their web site) in this case it will use 2 midi short msg to translate that .... e.g.

/////this trick will done if both MSB & LSB value is in range 0 to 15(0x00-0x0F)

/////the first MSB set var "m1"

[x] Translator 1.6: A.Segment 1-1 MSB
Options: stop,swallow
Incoming: CC ch.1: Modulation (#1), pp
Rules: m1=pp*16
Outgoing: (none)


/////the second done with simple math set var "m1" then you got and ASCII value store in the "m1"
[x] Translator 1.18: A.Segment 1-1 LSB
Options: stop,swallow
Incoming: CC ch.1: Modulation LSB (#33), pp
Rules: m1=pp+m1
Outgoing: (none)


not sure this will help you but I need to read HUI documents

Guido

2012-05-06 04:53:13

julynessi wrote:I need to read a mackie documents...then may be I can fig this out..(HUI)


not sure this will help you but I need to read HUI documents
Hi,
Thanks julynessi...I got the motherload of hui here....http://www.ssei-online.de/cms/?q=en/node/36 thx ageman!

I didnt even realize u could use a variable like that.."m1" ,,and.. I must say ..Im not good with the math sort of stuff...but i will spend the time.^^

That work u mention with the SL ..that would be hui ? I mean just he part about the SL? A novation right?

Man I am so happy to try your info . Thank u so much!

Guido

Guido

2012-05-06 18:52:49

julynessi wrote:...........................
but as I used to dome home mapper for translate a Denon HC-4500 font code from traktor to a remote SL LCD (for viewing atrak name bmp,e.g..)
when a ASCII code is need to use MSB & LSB to translate (Denon documents in their web site) in this case it will use 2 midi short msg to translate that .... e.g........
Hi,
I just looked at that denon 4500 midi data sheet..wow,that musta been a big job..grats!....and I see what u are saying, and how it relates to my Mackie Control Protocol To Mackie HUI protocol and back conversion. The Sl being Automap which is based on HUI {i believe}. I thank u for looking into this.

In my particular case there are two displays on my HW HUI..a mackie d8b board running a HUI layer....one is a 7 segment TC /Bars..beats..etc. display , and the other is a VFD much like the SLs ..if i am not mistaken. Used as u say for track names ,etc.

the software Mackie Control Protocol {or referred to as MCU} sends CC's for the timecode display, and the VFD display commands are sent as Sys Ex. The HUI uses Sys EX for both.

I am finishing the buttons now, and on my breaks studying the info u have provided. Thanks again.

Guido

btw here is the only docs i could find regarding the MCU spec. its from the Reaper SDK..I can only view it with Notepad++
Attachments
mcu_button_defines.h
(5.16 KiB) Downloaded 324 times

florian

2012-05-15 17:01:08

Hi Guido,

let us know when you've found out more.

Regards,
Florian