nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 19, 2018 11:30:04 GMT
Hi janosax , I will take a look at your scenes later on today. The crux of the single tap latency is that there has to be some latency to figure out if you did a single, double or triple. If you reduce the timeout and only use double taps then that will improve that straight away. I am thinking maybe I could be smarter about the triple tap and have two timeout intervals; one for single vs double and another for double vs triple. Something like: - at the end of timeout 1, if it was a double, then set another timeout in case it is a triple. Otherwise it is a single. I will see if I can do this over the next couple of days also. (I should probably never have mentioned triple-taps in the first place!!! haha) Regards, Nic.
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 19, 2018 13:36:14 GMT
Hi janosax , I had a quick look at one of your scenes with the blocking and if it works, then that is fine. No need to fix if it is not broken! For completeness, you could also do your blocking logic with just one Stream Byter with these rules: NX = XX +B # block all note events BX 1F = XX +B # block CC31
I will get back to you on the low latency tweaks when I can. Regards, Nic.
|
|
|
Post by janosax on Nov 20, 2018 0:24:00 GMT
Hi Nic, yes thanks for triple tap idea!!  Making two different timeout rules seems to be the best way to achieve that, great!! I’ll try your Streambyter blocking rules tomorrow, thanks. I’ve made today some sax looping stuff in Live with double tap 60ms scene and that was really cool, round robin works really well. Now I need to manage creatively all that stuff/taps/possibilities.
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 20, 2018 11:26:02 GMT
Hi janosax , So, I have good news and bad news for you today! First the good news: 1. I have successfully implemented the dual timeout feature so single taps and hold trigger as fast as you like 2. The new module also allows you to detect single tap+hold and double tap+hold events separately Now the bad news: I have had to rejig the channel assignments with the new features, so you will need to modify the 'Janosax Custom' module accordingly. I have included a comment block with the attached scene which describes the channel assignments in detail. Essentially the double tap channel has changed from 4 to 5 and the triple tap from 5 to 7. So where you had N3 rules in your custom mod, these should now be N4 and where you had N4 rules for triple taps, these should now be N6. Use N3 rules if you want to detect single tap+hold and N5 rules for detecting double tap+hold. For your round-robin, make the following change (for double tap): # button D double tap IF M0 == 93 41Change underlined '93' to '94' So, to use the new module (I have called it 'Blue Velvet') use MidiFire's 'Merge' button in the Scenes panel after selecting it in the list and replace 'BlueBoard Ctl' with the 'Blue Velvet' module. There are now two separate timeout values. K0 is the first timeout and will detect single tap or single holds so these are detected quickly. K1 is the second timeout and is used to check for all the rest. Hopefully, all will be clear. Any problems, just let me know. Regards, Nic. Attachments:Scene-Blue Velvet.mfr (3.67 KB)
|
|
|
Post by janosax on Nov 20, 2018 19:37:06 GMT
Hey bad news don’t sounds that bad, and that seems crazy good with 6 actions per button!!! I will check this now, it’s awesome many thanks Nic for your very nice support!!
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 20, 2018 19:47:31 GMT
|
|
|
Post by janosax on Nov 25, 2018 19:36:43 GMT
Hi Nic! Well I’ve made more extensive tests and really that works pretty well thanks you again so much. And glad I’ve gived you some inspiration to make the new scene module :-) I tend to use single tap / hold / double tap / double tap hold only with 05 06 delays to have a responsive setup as I have to use 05 0A delays with triple gestures. But that’s useful to have several options. I have another work for you :-) I now wish to have a Streambyter set of rules which I could use to remap several notes to CC’s: - Map specific note to specific CC - ability to set several note/CC remapping lines - ability to set individually each line to toggle or momentary - ability to set individually each line for separate ramp up/ramp down time values for CC; this will allow for cleaner and more natural audio behavior, for example toggle delay audio effect. - remapped midi notes blocking, I only need CC on output, and all other notes should be allowed The Streambyter module should be placed after Custom Janosax in the chain. I’ve found that set of rules but it doesn’t do everything that I need: audeonic.boards.net/thread/545/key-toggle-ccThe goal here is to use BlueBoard with AUM on iOS, to toggle or momentary switch effects sends in the mixer using CC control, and other things... I will also use midi notes triggering with Loopy for live stuff/loop triggering and VoiceRack FX which allow for presets change via midi notes. That way I will have extended live setups both on Ableton and IOS :-)) Thanks in advance for your nice work, if all of this is possible :-)
|
|
|
Post by janosax on Nov 25, 2018 20:24:33 GMT
Added this to the wishlist above - ability to set individually each line for separate ramp up/ramp down time values for CC; this will allow for cleaner and more natural audio behavior, for example toggle delay audio effect. You could also made a new Scene for the club with this note to CC advanced set of rules!!
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 26, 2018 11:09:13 GMT
Hi janosax , > - Map specific note to specific CCThis one is easy! Let's say you want to map button A single tap (I'll use this in all my examples). For this we would see this message: 93 3C when the button is pressed and 83 3C when released. This rule will convert that to CC 50 (hex 32) on channel 1: 8-92 3C = B0 32
When the button is pressed, it will generate CC 50 ON and when released CC 50 OFF > - ability to set several note/CC remapping lines
Just repeat the above rule for each note/CC remapping you want > - ability to set individually each line to toggle or momentary
It's already momentary (press = ON and release = OFF), but to do a toggle we have to apply a little bit of logic. Again with my example button and toggling the CC: # toggle/latch IF LOAD ASS K0 = 92 3C # incoming note ASS K2 = B0 32 # outgoing CC ASS L0 = 7F # toggle flag END # match incoming note (press down) IF M0 == K0 K1 7F SND K2 K3 L0 # send outgoing CC MAT L0 = L0 ^ 7F # flip toggle END XX = XX +B
Make a new module for each toggle/latch and connect to Blue Velvet. > - ability to set individually each line for separate ramp up/ramp down time values for CC; this will allow for cleaner and more natural audio behavior, for example toggle delay audio effect.
For this, I would recommend you use MidiFire's Robotic Knob module which will smoothly ramp the CC up and down in combination with a Stream Byter beforehand to latch the note event so that the one action makes it rise and fall alternately. First, use the latch code above, but change this: ASS K2 = B0 32 # outgoing CCto ASS K2 = 90 32 # outgoing note So now our button A single press is generating note number 50 alternating between velocity 127 and 0. Connect this up to a Robotic Knob, and change the following from the default configuration: output CC : 50 output channel : 1 initial CC value : 0 output smoothing : Fine smoothing speed : Slow (or try Medium or Fast)The Robotic Knob will then ramp up from 0 to 127 when you single tap button A and back down from 127 to 0 when you tap A again. > - remapped midi notes blocking, I only need CC on output, and all other notes should be allowed
The Blue Velvet module by default blocks all incoming events. To have it pass on notes (as well as the CCs it generates) modify this (right at the bottom): # block all incoming events XX = XX +Bto: # block all incoming events # (except note events which pass) NX = XX +C XX = XX +BYou will probably want to make the same change in the latching module above so that it also allows the notes to pass through. Regards, Nic.
|
|
|
Post by janosax on Nov 26, 2018 13:09:11 GMT
Hi Nic
I’ve tried momentary and toggle rules above but they don’t work at all...
Regards
Jean
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 26, 2018 13:14:43 GMT
Hi janosax, If you hook up an Event Monitor to the output, what do you see? Regards, Nic.
|
|
|
Post by janosax on Nov 26, 2018 13:26:41 GMT
Momentary gives C3 and toggle gives sysex.
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 26, 2018 14:18:26 GMT
Hi janosax , Yeah, there's a bug in my momentary and toggle stuff. I have edited the above to fix. Regards, Nic.
|
|
|
Post by janosax on Nov 26, 2018 22:35:57 GMT
|
|
nic
Soapbox Supremo  
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Nov 27, 2018 11:55:08 GMT
Hi janosax, Oh, you need to connect those the the Blue Velvet module and not the BlueBoard directly. The code I gave you above works on the data that Blue Velvet generates. Regards, Nic.
|
|