josef
Converser
Posts: 19
|
Post by josef on Apr 5, 2018 13:45:18 GMT
Hi Nic,
incredible, now everything works! I could not imagine that this would be possible. Many, many thanks for your efforts!
Josef
|
|
josef
Converser
Posts: 19
|
Post by josef on Apr 5, 2018 15:47:39 GMT
Hi Nic,
only a last question. How can I restrict the rules to channels 1 - 14? Because I use channel 15 and 16 for special tasks, and there will be conflicts. I must admit, that I don't really understand the MAT at the beginning MAT I0 = M0 & F0 IF I0 == B0 MAT I0 = M0 & 0F I guess, that I cannot just replace F with D.
Would this possibly work: MAT I0 = M0 & F0 IF I0 >= B0 IF I0 <= BD MAT I0 = M0 & 0F
Regards, Josef
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 5, 2018 16:32:15 GMT
Hi josef , Ha, yes, I was simplifying things. Just go back to what we had originally with a minor modification: IF M0 >= B0 IF M0 <= BD
...
END ENDWhat that MAT at the beginning does is just remove the channel portion from the CC+channel byte and save an IF and extra indentation :-) Regards, Nic.
|
|
josef
Converser
Posts: 19
|
Post by josef on Apr 5, 2018 17:51:02 GMT
Hi Nic,
is this right then:
IF M0 >= B0 IF M0 <= BD # we have a CC of some sort (ch. 1-14)
# grab the channel into I0 MAT I0 = M0 & 0F
# setup all pointers into sub-array MAT I1 = I0 * 0F MAT I2 = I0 + 1 and so on
without the first 2 lines: MAT I0 = M0 & F0 IF I0 == B0
Regards, Josef
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 5, 2018 17:54:25 GMT
Ja, stimmt
|
|
josef
Converser
Posts: 19
|
Post by josef on Apr 5, 2018 18:01:27 GMT
ah, du sprichst deutsch, wenn ich das früher gewusst hätte ... but for the forum, better in english.
|
|