スピード向上を期待して、即時に音長を計算していますが。 チャンネル毎の音長と、テンポの切り替えタイミングを別の配列に取得して、最後に全体の曲長を計算するのが正解って所ですかね。 で、同じタイミングでテンポ切り替えした場合は、チャンネルの順番関係なしに書いた順番で上書きされる(だといいなぁ)といったところか。