First note priority

Hello,after many years :slight_smile:
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 :zany_face:
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 :hugs: