Log File says another reaction as hardware

Hey Steve,

 

I have looked to the whole map, changed everything what it should be changed. But some special knobs from special channels are react to another channel knob from my project.

I have made some log files, some tests with other channels, linked as much as I could to find the mistake in a small place, but nothing seens to be wrong.

 

Could you tell me, why the log file shows me, sometimes a reaction from the last saved knob on the other part the reaction of the other saved channel value?

I think, the variables with the same number, are the variables which didn`t in use.

Log file for the varaibles is:

1: 2: List of all global variables: 3: ga=1073216 gb=1056832 gc=1056832 gd=1056832 ge=1056832 gf=1056832 gz=1073216 g0=2089024 4: g1=1056832 g2=1056832 g3=1056832 g4=1056832 g5=1056832 g6=1056832 g7=1056832 g8=1056832 5: g9=1056832 ha=1138752 hb=1056832 hc=1056832 hd=1056832 he=1056832 hf=1056832 hz=1138752 6: h0=2089024 h1=1056832 h2=1056832 h3=1056832 h4=1056832 h5=1056832 h6=1056832 h7=1056832 7: h8=1056832 h9=1056832 ia=8256 ib=1056832 ic=1056832 id=1056832 ie=1056832 if=1056832 8: iz=8256 i0=2089024 i1=1056832 i2=1056832 i3=1056832 i4=1056832 i5=1056832 i6=1056832 9: i7=1056832 i8=1056832 i9=1056832 ja=8256 jb=1056832 jc=1056832 jd=1056832 je=1056832 10: jf=1056832 jz=8256 j0=2089024 j1=1056832 j2=1056832 j3=1056832 j4=1056832 j5=1056832 11: j6=1056832 j7=1056832 j8=1056832 j9=1056832 ka=8256 kb=1056832 kc=1056832 kd=1056832 12: ke=1056832 kf=1056832 kz=8256 k0=2089024 k1=1056832 k2=1056832 k3=1056832 k4=1056832 13: k5=1056832 k6=1056832 k7=1056832 k8=1056832 k9=1056832 la=8256 lb=1056832 lc=1056832 14: ld=1056832 le=1056832 lf=1056832 lz=8256 l0=2089024 l1=1056832 l2=1056832 l3=1056832 15: l4=1056832 l5=1056832 l6=1056832 l7=1056832 l8=1056832 l9=1056832 ma=1448512 mb=1056832 16: mc=1056832 md=1056832 me=1056832 mf=1056832 mz=1448512 m0=2090048 m1=1056832 m2=1056832 17: m3=1056832 m4=1056832 m5=1056832 m6=1056832 m7=1056832 m8=1056832 m9=1056832 na=1091904 18: nb=1056832 nc=1056832 nd=1056832 ne=1056832 nf=1056832 nz=1091904 n0=2093888 n1=1056832 19: n2=1056832 n3=1056832 n4=1056832 n5=1056832 n6=1056832 n7=1056832 n8=1056832 n9=1056832 20: zy=1024 zz=268435451 21:

 

kind regards

Mike

Restart your project. Look at all of the values and make sure they are OK for initialization.

Move the knobs on MIDI CH 1. Look and make sure the right values have changed and only for the current channel.

Switch to MIDI CH 1. Check that variables still OK, only thing that should change I believe is zz when switching channels.

Also, disable translators or presets for any channels you are not using in your project file to eliminate them as the cause.

There is really no other way to do this. Debugging just takes a lot of time. I’m sure there is a rule somewhere that is misplaced. It worked perfectly on 2 channels on the example I sent you so you must have introduced the issue.

If you can find an issue with the 2 channel example I sent you, let me know and I will look into it.

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

Have a question to channel 2 – column 2 :

 

// Check for channel switch
// bit position
vv=0
tt=zz>>vv
tt=tt&1
if tt==0 then Goto “done”

// mask value bits 0-6 only
// rr now contains the last known value of gz

rr=hz&127
qq=qq

// Now look to see if we have crossed the last point
// clear the channel switch flag (enable output)

if rr==qq then tt=1<<vv
if rr==qq then tt=tt^-1
if rr==qq then zz=zz&tt
uu=0
if rr!=qq then exit rules, skip Outgoing Action

Label “done”
// mask lower 1FFF80
ss=127<<0
ss=ss^-1
hz=hz&ss
//hz=hz&2097024
hz=hz|qq
// Put back into proper permanent global variable
h1=hz

 

Is this all right?

Looks correct, although you can safely remote uu=0.
Also if you copy and paste into your rules, make sure there are no lines highlighted in red. For instance the quote marks posted this forum are not compatible with MT Pro quote syntax.
Also, this will only work for the top knob. R1C2 For the next knob down you will need to make vv=1
Hmm, on second thought vv will need to be 4 not 0 since we are using a 32 bitmask to determine if knobs are touched.
Column 2 should be 4-7
Column 3 8-11
etc

Thank you Steve! 🙂

It runs perfect with editing the vv=1,2,3,4,5,6…..

I have all from 0 till3 in all columns ^^

Master Fader question for channel 2 example:

vv=32
tt=zz>>vv
tt=tt&1
if tt==0 then Goto “done”

rr=yz>>21
rr=rr&127

qq=qq
if rr==qq then tt=1<<vv
if rr==qq then tt=tt^-1
if rr==qq then zz=zz&tt
if rr!=qq then exit rules, skip Outgoing Action
Label “done”
rr=qq<<21
// mask 1FFFFF
ss=127<<21
ss=ss^-1
yz=yz&ss
//yz=yz&2097151
yz=yz|rr

y1=yz

Is this the right script for the master fader?

 

kindest regards

Mike

 

You will need to set up a new variable for the master fader bitmap. We are using all 32 bits of zz for the other controls.

I would suggest zw but since all you need is one variable you do not have to bitmap it.
Any time you change channels set zw to value of 1 and when you cross over the takeup point in your translators set it back to 0.

so would be the Channel script:

vv=1
tt=zw>>vv
tt=tt&1
if tt==0 then goto “done”

zw=0

That would work or you could just set zw to 1 on every channel change and then do this in the translator. No need to bit map with only one value.

if zw==0 go to done

Then within the rule

if rr==qq then zw=0

In place of the following

if rr==qq then tt=1

Okey. Thank you for your help 🙂

No I have the last but not least question for this topic.

My last column, column 8 makes everytime a last saved point/value from last channel. But everything is the same, and runs perfect only channel variable and the vv= another one. On it…

What is here the mistake?

Did copy paste and tried out on only 2 Channels, nothing seems to be wrong….

Channel 1:

vv=28
tt=zz>>vv
tt=tt&1
if tt==0 then Goto “done”

rr=nz&127
qq=qq

if rr==qq then tt=1<<vv
if rr==qq then tt=tt^-1
if rr==qq then zz=zz&tt
uu=0
if rr!=qq then exit rules, skip Outgoing Action

Label “done”
ss=127<<0
ss=ss^-1
nz=nz&ss
nz=nz|qq

n0=nz

 

Channel 2:

vv=28
tt=zz>>vv
tt=tt&1
if tt==0 then Goto “done”

rr=nz&127
qq=qq

if rr==qq then tt=1<<vv
if rr==qq then tt=tt^-1
if rr==qq then zz=zz&tt
uu=0
if rr!=qq then exit rules, skip Outgoing Action

Label “done”
ss=127<<0
ss=ss^-1
nz=nz&ss
nz=nz|qq
n1=nz

 

kindest regards

Mike

You might want to check your channel On Activation Preset to make sure you are pulling over nz from n1 for column 8.

Every channel, from every column everything the same, only the variables another ones.

Example: column 3 channel 3 – iz=i2

For Column 8 from channel 1 till 3: nz=n0, n1, and n2

Everything seems be correct.
Didn`t understand why only column 8 didn`t runs correct. All other columns from 1 till 7 and channel 1 till 16 runs perfect.
Maybe a bitmapping mistake? But it should work correct till vv=31. Because isn`t more than 32 bits…

Should work,
I suggest you use logging and variable exploration to see what is going wrong.
I would start with turning on rules and then scroll down to the appropriate translators that manipulate that variable.

Steve

I`ve tried a crazy thing. I have changed the vv=28 till 31 to vv=33 till 36 and now it runs! Without problems, but is it really correct and can I run this always so?

No, that will break things.

Okey. But I have checked all other things, it have to be the mistake on the vv= —- variables….
What things it can break?

All other channels run correct. Have tested all channels with different knobs….

You are shifting bits that do not exist. Variables only have 32 bits so my guess is you might be overflowing your bits back into column 1.

What would be the alternative?
vv=28
vv=29
vv=30
vv=31
didn`t run….

There is something else in your project amiss. You need to look elsewhere.

could be something wrong in the global variables?

I have build this so:

Column 1 MIDI Channel 1:
g0=pp
Column 8 MIDI Channel 1:
n0=pp

Temporary storage:
Column 1
gz=0
Cloumn 8
nz=0