Display sysex text

Guido

2012-05-19 01:17:44

or the last mile^^

plz feel free to take your time..DA..... i can wait..just wanted to get this out there. Im byte beat^^

Hi,

I am sorry to be such a bandwidth hog here, but the light at the end is 10 feet away! ^

My sender sends
------------------------------------------
F0 00 00 66 14 12 xx <data> F7 : update LCD. xx=offset (0-112), string. display is 55 chars wide, second line begins at 56, though.
-------------------------------------------

Simple huh? Header , offset... ascii type data. Some times it is sent in dumps as large as 63 or so bytes. Sometimes just 15 bytes..say to update just one tracks name.

The reciever's display is broken up into 8 zones..like this...{there is a second page in the reciever..but it no mans land for me right now}.

----------------------------------------------
0000000000111111111122222222223333333333
4444444444555555555566666666667777777777
----------------------------------------------


The format for the receiving display is....


-------------------------------------------
z=zone #.....gx=ascii..i think, but nonetheless same format as the sender..thank God!


F0 00 00 66 05 00 12 z1 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 F7
F0 00 00 66 05 00 12 z2 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 F7

....or it can be sent like this...

F0 00 00 66 05 00 12 z1 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 z2 g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 F7 I dont know exactly how many zones u can send at once

My questions are..what would be the best approach? I mean overall. Do i use a bunch of variables? Wont i run out of variables?

I figure i would use a variable and some math to do the "positional offset diffeerences" from the senders offset to the recievers zones.

i was able to get the first tracks name with this...........{but i kept gettin a weird 3rd or 4th character. Could be some jive with mid yoke...}

Translator 1.2: Display
Options: disabled, stop=false
Incoming: MIDI F0 00 00 66 14 12 00 pp qq rr ss rr uu vv F7
Outgoing: MIDI F0 00 00 66 05 00 12 00 pp qq rr ss tt uu vv F7.

But like i said some of the dumps are up to 63 bytes...waddaya think?

Thanks immensely for any help

Guido

DvlsAdvct

2012-05-19 05:23:40

You will definitely run out of variables, for now, at least.

You're easiest bet is to define each string as local variables oo pp qq rr ss tt uu vv ww xx and use those only for every display. You can also use the slew of global variables g0...g9 and ga..gz for g, h, i, j, k, l, m, n

but using those for two many translators gets VERY complicated and dangerous for ease. If you can keep things withhin those 10 local variables for every display you'll be golden.

OR, what you can do is not use variables at all, and instead define what things should read out using standard hexadecimal commands. So, for example, you hit Play and you want it to read out as Track is Playing, you could have the Play input send out

F0 00 00 66 55 00 12 Z1 54 72 61 63 6b 20 69 73 20 50 Z1 6c 61 79 69 6e 67 F7

So you don't NEED variables to do what you're asking. You just need variables if the individual commands need to be dictated by outside variables.. Make sense?

Guido

2012-05-19 21:38:54

Hi,

yes that does make sense, thanks D A.
I dont think I can use the no variable option because the text could be any thing the daw puts out. That would be an insurmountable job. Could i take say a 60 byte message and somehow split it into 6 10 byters ?

Thx man, and have a good weekend. btw I happened to pick up a drumming gig tonite {been scarce the last month^^} with Richie Supra and his guys... .Jurassic Rock at its finest!^^He wrote and performed with aerosmith. Had to learn that song Pink..check that video out on utube.Very cool way too keep a bunch of old ugly guys still in the video^^
Thx Jared

Guido

DvlsAdvct

2012-05-20 03:41:26

There's a way to make those signals work as passthrough, cause it's the only way that'll work. Let me put some thought into it and see what I can come up with. :-) good luck on the gig. I'm unfortunate enough to not really be able to get many DJ gigs anymore. Instead I do this.

Yay? :p

Guido

2012-05-20 20:11:57

Hi.

Yay....thx.

WARNING slightly OT^^------------
Gig went ok thx. If ur DJ'in was as good as the support u have given me..then u musta made em dance till they dropped! thx

Funny how, more than i can recall, so many ppl have HAD to exploit their talents in "chameleon" like ways. I think thats why u see things like this....
http://www.bluaudio.org/d8bridge/..

[..... btw DA there is a good picture of my board there under "what is D8b bridge"....... I bet hes beat all the issues i have and then some! I been saving asking him any questions for the ONE big one. The second page of my display^^]

that is the board i have..without his mod...hes workin on a version where u dont lose any of the audio portion of the board.
I think that a guy with those kinda skillz would have a job at a manufacturer in the "old economy".


EDIT--Ha.. pls look at that site i posted above. even tho i dont have his mod..In his install guide there is a screenie of his software....which converts mcu data to d8b[my board} data...he has a check box for "meter decay" and a setting that defaults to 300....ms i presume,,,hmmmm? lol
----------------------------

Thx D A for thinkin about my deal.

DvlsAdvct

2012-05-22 16:14:42

Well, as far as the variable lengths of sysex text I'm not really sure what to do. When there are named variables in the next version of BMT then this will definitely be doable, but for right now you might be outta luck for now. Actually, I think there will be a few solutions in the next upgrade of BMT that could help you.

Sorry that it's gotta go that way. Long strings of sysex like this with hugely variable size are not exactly something BMT was built to handle.

Guido

2012-05-23 19:21:52

DvlsAdvct wrote:Well, as far as the variable lengths of sysex text I'm not really sure what to do. When there are named variables in the next version of BMT then this will definitely be doable, but for right now you might be outta luck for now. Actually, I think there will be a few solutions in the next upgrade of BMT that could help you.

Sorry that it's gotta go that way. Long strings of sysex like this with hugely variable size are not exactly something BMT was built to handle.
Hi,

Thx for your response...I've been trying to get my HUI emulating mixer to work tightly with Reaper {DAW} since 2007...i guess waiting a little more wont kill me!
I thank you for your support!
Actually, I think there will be a few solutions in the next upgrade of BMT that could help you....


{Sits on his haunches and puts one paw up^^}

Guido

florian

2012-05-29 22:28:35

To some degree you can handle long sys ex messages, see this thread: http://www.bome.com/forums/viewtopic.php?f=5&t=3825
Now for variable length, just create multiple translator entries, each with a different length:

Code: Select all

Translator 0: length=1
INCOMING: F0 00 00 66 55 00 12 ga F7
OUTGOING: F0 10 13 01 ga F7

Translator 1: length=2
INCOMING: F0 00 00 66 55 00 12 ga gb F7
OUTGOING: F0 10 13 01 ga gb F7
... and so on. It is tedious to set up (64 translators for up to 64 chars), but it'll work. And you can use copy/paste efficiently...

Florian

PS: and make sure you use (global) variables that aren't used elsewhere!