|
Post by mcdtracy on Apr 11, 2019 18:16:05 GMT
There's a new MIDI FX that's giving some fits with Hanging Notes.
Is there a simple way to send "All Notes Off" like a "Panic Button" capability implemented as a StreamByter script. Do you literally send "Note Offs" for every Possible Note or is there a MIDI event. Then with something like AUM I suspect you need to plumb the script to forward to every MIDI interface on all 16 channels.
Any advice for this use case? Having it triggerable from the usual programmable button controls (Note, CC or PC events) would be awesome.
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 11, 2019 19:14:39 GMT
Hi mcdtracy , So, there is an 'all notes off' message, but not all synths react to it, so the sure fire way is to send 128 notes off on every channel. Here is a script you can drop into the new StreamByter to handle a panic. You can use sliders to control. Top slider, marked 'PANIC' will start sending out the panic messages when you slide it to the right. When panic messages are being sent, the block label will show 'SNT' and switch to 'OK' when done (also when done, the panic slider will automatically jump back to 0 for next time) If you slide the 'BRUT_FORC' slider to the right then when you initiate a panic (using the top slider), the module will send out 16x128 note off messages (all channels, all notes) as well as the 16 x all notes off messages I may include this as a factory preset in the next version; seems quite useful. You can trigger it with a CC/Note using AUM's MIDI CTRL stuff by controlling Q0 Regards, Nic. # panic! by audeonic IF LOAD SET Q0 PANIC 0 1 SET Q1 BRUTE_FORCE 0 1 ASS Q0 = 0 0 END
# slider movements IF M0 == F0 7D 01 IF M3 == 00 ASS I0 = 0 IF I0 < $16 +L MAT I1 = B0 + I0 SND I1 $123 00 IF Q1 == 1 SND F0 7D 02 I0 F7 +I END MAT I0 = I0 + 1 END SET LB0 SSNT SND F0 7D 03 F7 +I +D3000 END END
# brute force mode IF M0 == F0 7D 02 SET LB1 M3 +D MAT I1 = 80 + M3 ASS I0 = 0 IF I0 < 80 +L SND I1 I0 00 MAT I0 = I0 + 1 END END
# reset IF M0 == F0 7D 03 ASS Q0 = 0 SET LB0 SOK END
Attachments:Panic.sbr (815 B)
|
|
|
Post by lukesleepwalker on Apr 20, 2019 18:04:08 GMT
In the interest of covering lots of the use cases that people might want in a scripting app, it would be good to have a general midi "choke" feature that would force all notes off upon sending any note on and then actually pass that note through after the all notes off event. Make sense?
|
|
nic
Soapbox Supremo
Troublemaker
Press any key to continue
Posts: 2,011
|
Post by nic on Apr 20, 2019 19:14:53 GMT
# the choke 9X XX 01-7F = XX +C 9X XX 01-7F = BX 7B 00 +C 9X XX 01-7F = XX +B
|
|
|
Post by lukesleepwalker on Apr 20, 2019 22:00:23 GMT
Bingo! Three lines of script but most users would have no clue when they get started. These are the modular bits that will help make SB accessible to new users.
|
|