Post by klay2000 on Dec 11, 2021 18:05:42 GMT
Is there anything in this script that would send any kind of midi message to a device on midi channel 10?
I am intending to send midi clock only to the Td20x Roland drum module (on channel 10 I believe) . Unfortunately it has caused the Td20x to malfunction in a way that's causing the triggering in the Td20x to be too sensitive and the kit button on the Td20x has turned orange when it should be green. I have no idea why it has turned orange and I have read the manual with no answers.
Definitely something I'm sending from this script is causing the drum module to respond strangely
Scripts below Thankyou
B6 70 = B6 53 +C
B6 1B = BE 46 +C #TAP TEMPO HX
B6 13 = BE 13 +C # guitar comp
B6 11 = BE 11 +C # delay GUIT
B6 10 = B6 50 +C # cc80 down rc
B6 17 = B6 51 +C # cc81 up rc
B6 2E = B6 52 +C # cc82 random rc
B6 63 00 = FC +C # cc47 stop
B6 2F 40 = B6 42 40 +C #66 reselbh
B6 63 40 = FA +C # start
B6 6F = B0 44 +C # lyr prev
B6 68 = B0 45 +C # Lyr next
BX 71 = XX 41 +C # page up rc
B6 74 40 = B0 71 01 +C
B6 74 00 = B0 71 00 +C
B6 32 40 = B0 71 02 +C
B6 32 00 = B0 71 00 +C
B6 38 40 = B0 71 03 +C
B6 38 00 = B0 71 00 +C
B6 15 = B6 40 +C #cc21pagedown rc
B6 70 = B6 42 +C
CX = 9X XX 40 +C
# handle ticks
IF M0 == F8
# 24 ticks == 1 beat, so determine
# bar modulo into variable I0 which
# will have a range of 0 to 95
MAT I0 = G0 % 60
# increase tick counter
MAT G0 = G0 + 1
# reset tick count on start, continue or stop
IF M0 >= FA
IF M0 <= FC
ASS G0 = 0
# set dmx scene on load
SND 9C 12 40
# Enter rules here
# Press 'Install Rules' when done
9X XX 00 = 8X
IF MT == 90
IF M0 == GF0 GF1
XX = XX +B
ASS GF0 = M0 M1
Post by uncledave on Dec 11, 2021 19:30:06 GMT
I'm a little confused on how this works. All your message remapping rules are clones (+C), so you would need to block the original message, unless you want them both to pass through. Now, you have
XX = XX +Bwhich will do this. I don't believe IF statements can control these rules, so this will fire all the time, which is good.
But it looks like you're trying to block duplicate note ons. To do that, you would use the
Block command inside the IF. But you're already blocking everything with the rule, including all notes.
I cannot see anything that might transmit on Channel 10, except maybe the
BX 71 = XX 41 +C rule, which has no specific channel. Should it be changed to B6, same as the others?
Maybe the drum machine doesn't like MIDI Clock. Have you tried running Clock to the drummer stand-alone, to see how that works? Also, can you check the MIDI channel for the drum machine. I know the standard is 10, but it would be nice to be sure.
Post by klay2000 on Dec 11, 2021 23:49:53 GMT
Yes Nic was great in setting up everything to my requirements and I tried to keep up with what he was teaching me. So all the script was written with Nic's guidance. I understand some basic conversions and block messages but as for the IF messages and complex midi clock to quarter note messages things started to get to complex for my understanding.
Yes those conversion cc messages really only need to be on midi channel 7 so I will rewrite them as you suggested and see if this fixes the issue with the drum module.
The drum module is set to receive channel 10 as you mentioned. I must inform you though that there are some backing track sounds inside the modules sequencer that I think are set to channel 11,4,5,6,. Whether this is causing a problem I'm really not sure.
The cc messages converted are functioning as songlist control of the BandHelper app which is configured to work through a Roland um1 midi interface. Band helper control is flawless and working great.
On channel 13 I send some note messages to an obey40 light controller. This is working great and the blocking of repeat notes works well so the lights don't go out accidentally on a repeat note on message. This was something Nic also suggested.
The Td20x drum module is the only thing responding strangely. I've read the manual several times and there's no mention of why the kit button would turn orange (from green). And the triggering inputs become erratic and too sensitive. Please note that in a previous script that was written (perhaps more simple) the Td20x played the midi clock without a problem which is why I suspect something in my script is causing the problem.
Hopefully that sheds some more light on the setup and I'll continue trying to rectify the problem.