チャンネル毎に音が鳴ってるかどうかを示すフラグを立てておいて、
フラグがたっていれば、オールノートオフを送る。
これだけでいいと思うけど。

vector使うよりは
オブジェクトプーリングをしたlinkedlistを使ったほうがいいと思われる。
チャンネル毎のノート数がせいぜい6程度だと考えれば、
2分木にしても特に効果は無いと思うし。