|
Post by vaultnaemsae on May 21, 2019 12:56:25 GMT
Cool. Thanks...in that case, what is the hex value '7F' in "SND K2 K3 7F" doing?
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on May 21, 2019 13:02:49 GMT
The 3rd byte of a CC message is the CC value, normally in a range from 0 to 127. Generally on/off switches expect 0 for off and 127 for on (but not always)
7F is decimal 127 which means CC should go to ON
Regards, Nic.
|
|
|
Post by vaultnaemsae on May 21, 2019 13:08:03 GMT
Of course. So obvious once you say it! Thanks again.
|
|
|
Post by korkenknopfus on Aug 13, 2019 2:33:23 GMT
Hello:
A couple of months ago I read the post of esofron at the Bias forum, telling us about MidiFire and a way to do auto engage. Yesterday I spent some time to understand the code, reading some posts in the Stream Byter University. Today I tried to set up this in my system and it works very well! What a magical app!
While we are in 2019 you guys are in XXIII century!
Just one thing does something that I think is actually expected but it would be nice to program it other way: if I send the disengage order with a delay time, for instante +D1000, that works, the pedal goes disengaged after one second. But I want to reach following: if I move the pedal to the minimum, I want that the effect goes disengaged one second later, BUT, if I move the pedal upwards before this one second elapses I want that the disengage order is cancelled. What I have now is that I move the pedal upwards and it goes disengaged and then immediately engaged, as the one second delay doesn’t go cancelled. I have tried to figure out how to program that, but still without success. Is that possible?
Later I want to try another thing too, but this should be easier: my EXP pedal in a MIDI Commander goes from 1 to 126. I believe that with a simple re scaling that could be brought to 0-127. I will try that and can tell here how it worked.
Good night.
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Aug 13, 2019 10:15:02 GMT
Hi korkenknopfus , We can modify the code to block the wah disengage if the wah was engaged again as follows. First change your existing code to send the disengage command as an inject event by adding a +I flag (I added a 1000ms delay there too): SND K2 K3 00 +D1000 +INow, when we see the disengage event coming in, we can just check L80 and if it is now set to '1' then we block the event. Add this code at the end of the script: # block injected disengage msg # if now engaged IF M0 == K2 K3 00 IF L80 == 1 XX = XX +B END ENDRegards, Nic.
|
|
|
Post by korkenknopfus on Aug 13, 2019 12:48:20 GMT
Hello nic,
peeerfect! I can’t try it now, but when I do it I tell here what I get. As I read about Inject events in the Stream Byter University I didn’t understand well what was this about, but now with this example I can figure it out very well.
Just a comment: when you say “...First change your existing code to send the engage command as an inject event...”
I assume you wanted to say disengage, as the order K2 K3 00 is to turn the effect off.
Thank you very much for your help and for your app!
Regards.
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Aug 13, 2019 12:52:56 GMT
Yes I meant disengage. Will correct above
Regards, Nic.
|
|
d74
Seeker
Posts: 3
|
Post by d74 on Nov 14, 2021 7:45:11 GMT
Hi guys, It is very useful topic for those using Bias FX and auto wah function. I tried it and everything works just fine. However the only thing which is not working (for me) is the delay in switching off the wah with the option to not switch off if meanwhile wah is engaged again. The only thing I can notice is the delay of 1 second for switch off the wah, but it's going off no matter if meanwhile is engaged again. The code which I’m using is this:
# Enter rules here # Press 'Install Rules' when done
# BiasFX autowah engage by audeonic IF LOAD ASS K0 = B0 01 # this needs to be the CC your pedal sends ASS K2 = B0 50 # this is our secret CC ASS L80 = 0 # flag for toggling wah just the once END
# trap the hardware CC IF M0 == K0 K1 # hardware pedal went to 0, disengage wah IF M2 == 0 IF L80 == 1 SND K2 K3 00 +D1000 +I ASS L80 = 0 END END # hardware pedal went positive, engage wah IF M2 > 0 IF L80 == 0 SND K2 K3 7F ASS L80 = 1 END END # block injected disengage msg # if now engaged IF M0 == K2 K3 00 IF L80 == 1 XX = XX +B END END
# block hardware pedal CC whilst learning XX = XX +B END
Am I doing something wrong, or… Where can be the problem?
Thanks a lot
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 14, 2021 14:41:11 GMT
Hi d74, Here is your code + the delay code merged in: # BiasFX autowah engage by audeonic IF LOAD ASS K0 = B0 01 # this needs to be the CC your pedal sends ASS K2 = B0 50 # this is our secret CC
ASS L80 = 0 # flag for toggling wah just the once END
# trap the hardware CC IF M0 == K0 K1
# hardware pedal went to 0, disengage wah IF M2 == 0 IF L80 == 1 SND K2 K3 00 +D1000 +I ASS L80 = 0 END END
# hardware pedal went positive, engage wah IF M2 > 0 IF L80 == 0 SND K2 K3 7F ASS L80 = 1 END END
# block hardware pedal CC whilst learning XX = XX +B
END
# block injected disengage msg # if now engaged IF M0 == K2 K3 00 IF L80 == 1 XX = XX +B END END
Regards, Nic.
|
|
d74
Seeker
Posts: 3
|
Post by d74 on Nov 14, 2021 18:17:23 GMT
Hi Nic, thanks a lot for your efforts. I tried the code, but unfortunately it is not working again. I checked what is going on with "Event Monitor" and I found what the problem is. I think nobody mentioned here, but actually BIAS is not reading the value of the message - no matter you send 0 or 127 it toggles the effect on or off depends on the current state. So what is happening is that the code is correctly delaying and canceling the message 00, but when I'm meanwhile pressing the wah again the code is sending the “on” message 127 which is making BIAS to toggle the effect - it is switched off  . I think the solution here will be when the pedal goes to 0 and then back to positive in less than (1 sec) the code should not send any messages. Can you please help. Thank you Dimitar
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 14, 2021 21:01:11 GMT
I would recommend you teach BIAS to engage and disengage with with the correct values. Other people are using this script so it definitely can be made to work. Trying to manage a toggle is going to be very difficult and bringing in more timers is going to be more complicated.
I don't know BIAS myself so I have no idea how this is done, sorry.
Regards, Nic.
|
|
d74
Seeker
Posts: 3
|
Post by d74 on Nov 15, 2021 21:25:36 GMT
Hi Nic and thank you for your suggestion. Unfortunatelly BIAS do not accept values for the "Power Toggle"- it just toggles the effect on and off no matter the value and this can not be changed or learned. Yes, the script is working, but without the last part mentioned by korkenknopfus which is supposed to make it really useful. Before posting here I read carefully all the posts and actually korkenknopfus did not confirmed that this is working and unfortunately he is not posting any more. I understand that maybe this issue is more complicated, but as I said without this it will not be very useful. Anyhow I will try to figure it by myself although I'm not aware really how this is working. Today I spent some time with the code without success, but if you can just suggest how to write the following script I think it will help a lot: the check (IF M2 == 0) should last for certain time - I mean if M2 stays 0 for some time then... I suppose this should be possible and probably this is how "long press" is defined and works. My Idea is to send the "off" message only when the pedal stays in 0 for some time (long press) and not react if the pedal stays in 0 for less than defined time. In this case the "on" message will not be triggered as well, because the flag (L80) will remain 1 (on) which is actually the final goal. Of course I'm not 100% sure if this is the right approach, but this my logic tells so far. Thank you Dimitar
|
|