|
Post by reathpd on Apr 12, 2019 18:49:42 GMT
I need to incrementally change the BeatBuddy Volume via momentary button or pads. The BeatBuddy has both a Mix CC108 and a Headphone Control CC109.
During a live performance, I would use midi buttons on the App forScore page to adjust the levels.
Any suggestions on how to proceed would be appreciated.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 13, 2019 7:46:05 GMT
Hi reathpd , If you can be more specific about the incoming messages, I can make some code up for you. Are they CCs? Program Changes? I'm assuming you want at least 4 - CC108 increment+decrement, CC109 increment+decrement But maybe you want one set that increments/decrements by 1 and another set that increments/decrements by, say 10 - eg. coarse/fine increment? Regards, Nic.
|
|
|
Post by reathpd on Apr 13, 2019 11:00:40 GMT
Changes for incremental increase or decrease by 5% would work well. The course/fine control are not essential but I would like the lesson on this.
I would use two button icons on the forScore page to action the changes.
Thank you Peter
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 15, 2019 9:48:46 GMT
Hi reathpd , OK, here is some code you can try. You might need to modify it (I've commented it) to respond to different messages other than the 8 I have configured in forScore. The messages I chose are: B0 50 7F - increment mix+1 (CC 80, channel 1 ON) B0 51 7F - increment mix+5% (CC81) B0 52 7F - decrement mix-1 (CC 82) B0 53 7F - decrement mix-5% (CC 83) B0 54 7F - increment cans+1 (CC 84, channel 1 ON) B0 55 7F - increment cans+5% (CC85) B0 56 7F - decrement cans-1 (CC 86) B0 57 7F - decrement cans-5% (CC 87) # BeatBuddy mix/cans inc/dec # by audeonic IF LOAD ASS K0 = 6C 6D # outgoing cc 108, cc 109 ASS K2 = B0 # BeatBuddy CC+channel ASS L0 = 40 40 # current CC value (halfway initially)
# show initial mix+cans values in labels SET LB0 L0 +D SET LB1 L1 +D
# send initial mix+cans values SND K2 K0 L0 SND K2 K1 L1 END
# handle each of our 8 inc/dec messages ASS I0 = 80 80 IF M0 == B0 50 7F # mix+1 message ASS I0 = 0 1 END IF M0 == B0 51 7F # mix+5% message ASS I0 = 0 7 END IF M0 == B0 52 7F # mix-1 message ASS I0 = 0 -1 END IF M0 == B0 53 7F # mix-5% message ASS I0 = 0 -7 END IF M0 == B0 54 7F # cans+1 message ASS I0 = 1 1 END IF M0 == B0 55 7F # cans-1 message ASS I0 = 1 -1 END IF M0 == B0 56 7F # cans+5% message ASS I0 = 1 7 END IF M0 == B0 57 7F # cans-5% message ASS I0 = 1 -7 END
# update CC using values # in I0 and I1 IF I0 != 80 # update the outgoing CC MAT LI0 = LI0 + I1 IF LI0 > 8000 ASS LI0 = 0 END IF LI0 > 7F ASS LI0 = 7F END
# send CC SND K2 KI0 LI0
# update labels IF I0 == 0 SET LB0 LI0 +D END IF I0 == 1 SET LB1 LI0 +D END END
Regards, Nic.
|
|
|
Post by reathpd on Apr 15, 2019 21:25:41 GMT
I feel very inadequate as thought I was understanding your coding then I hit ‘Install Rules’.
i will continue to try to understand. I would appreciate any insights you could offer.
# Enter rules here # Press 'Install Rules' when done # BeatBuddy mix/cans inc/dec # by audeonic IF LOAD #ERR ASS K0 = 6C 6D # outgoing cc 108, cc 109 #ERR ASS K2 = B0 # BeatBuddy CC+channel #ERR ASS L0 = 40 40 # current CC value (halfway initially)
#ERR # show initial mix+cans values in labels #ERR SET LB0 L0 +D #ERR SET LB1 L1 +D
#ERR # send initial mix+cans values #ERR SND K2 K0 L0 #ERR SND K2 K1 L1 END
# handle each of our 8 inc/dec messages ASS I0 = 80 80 IF M0 == B0 50 7F # mix+1 message #ERR ASS I0 = 0 1 END IF M0 == B0 51 7F # mix+5% message #ERR ASS I0 = 0 7 END IF M0 == B0 52 7F # mix-1 message #ERR ASS I0 = 0 -1 END IF M0 == B0 53 7F # mix-5% message #ERR ASS I0 = 0 -7 END IF M0 == B0 54 7F # cans+1 message #ERR ASS I0 = 1 1 END IF M0 == B0 55 7F # cans-1 message #ERR ASS I0 = 1 -1 END IF M0 == B0 56 7F # cans+5% message #ERR ASS I0 = 1 7 END IF M0 == B0 57 7F # cans-5% message #ERR ASS I0 = 1 -7 END
# update CC using values # in I0 and I1 IF I0 != 80 #ERR # update the outgoing CC #ERR MAT LI0 = LI0 + I1 #ERR IF LI0 > 8000 #ERR ASS LI0 = 0 #ERR END #ERR IF LI0 > 7F #ERR ASS LI0 = 7F #ERR END
#ERR # send CC #ERR SND K2 KI0 LI0
#ERR # update labels #ERR IF I0 == 0 #ERR SET LB0 LI0 +D #ERR END #ERR IF I0 == 1 #ERR SET LB1 LI0 +D #ERR END END
|
|
|
Post by reathpd on Apr 16, 2019 0:34:41 GMT
As I tried putting each section tin place and select Install Rules I am clearing the ERR by removing . Blanks( ?). Must be unseen characters resulting from my select, cop, paste. I do not understand. But I’m making progress.
|
|
|
Post by reathpd on Apr 16, 2019 2:41:55 GMT
I was able to get the function to work, with one small change the cans increments were reversed.
Works great. Thank you
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 16, 2019 9:03:46 GMT
Hi reathpd , Yes, depending from where the copy happens sometimes these odd characters get included which are invisible to the naked eye but not to the StreamByter code which sees them and complains. Glad to hear you have it working despite that though. Thanks for letting us know. Regards, Nic.
|
|