Hello,after many years
How I can script that processes only the first MIDI note played (note-on) ( On Ch1) and ignores all subsequent notes until the active note’s note-off message is received. Once the active note is released, the script should allow the next note to be processed.
It should pass through the first note-on and its corresponding note-off, while blocking all other note-on messages until the active note is released.
Ideally, it should have minimal latency for real-time performance
Thanks in advance!
Hi,
Please find the following example.
Here is the psuedo logic used.
Translator Note-on
Is this the Same note?
No
Is Note-Off Flag Set?
Yes
Yes
Set new note number (ga)
Clear Note Off flag (gb )
Send New Note-On
No
Send nothing
No
Send nothing
No (Same Note)
Send nothing
Translator Note-Off
Does it match current note number (ga)
Yes
Send Note-Off
Set Note-Off Flag (gb)
First-Note-Priority.bmtp (2.8 KB)
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
1 Like
You might want to try this instead, the logic is much simpler. I think I over analyzed the logic on my previous post.
Translator - Note-ON
Is there a note playing? (global variable ga >=0)
Yes
Do nothing
No
Capture note playing note number in global variable ga
Send Note-ON
Translator - Note-OFF
Is the playing note different than the incoming note-off
Yes
Do nothing
No
Set Note Playing Off (Set global variable ga to -1)
Send Note-OFF
First-Note-Priority-a.bmtp (2.4 KB)
Steve Caldwell
Bome Customer Care
Also available for paid consulting services: bome@sniz.biz
1 Like
Thank you very much, I`ll try .Glad to see you again