Var PC_AUTORISE : Integer = 0 CanalEstOuvert : Integer[17] i : Integer Initialization For i = 0; i <= 16; i = i + 1 Do CanalEstOuvert[i] = 0 End End On ProgramChangeEvent(m : ProgramChangeMessage) Var pcNum : Integer = GetProgramChangeNumber(m) Var ch : Integer = GetChannel(m) If pcNum == PC_AUTORISE Then CanalEstOuvert[ch] = 1 SendNow(m) Else CanalEstOuvert[ch] = 0 End End On NoteEvent(m : NoteMessage) If CanalEstOuvert[GetChannel(m)] == 1 Then SendNow(m) End End