ただ現在の実装で問題なのが「1個しかオシレータ使うこと想定してない」こと。
元々1個の音声再生を想定して作られてるのを改造したから当然だけど、シンセとして使うにはちょっと不足がある。
ということで、完全にライブラリ側の定義に依存しないように利用関数ごとすべて別に定義しなおした。
これで独自実装してもライブラリ側への影響はほぼない形にできる。
トラックごとのデータ形式を別途持たせておけばとりあえず大丈夫そう。
トラック数は制約をかける。本来制限はないからインスタンス追加という形式にすれば問題ないはずではあるけど、今回は安定動作も役割として必要かと思うし、限定的にしておく。
あと再生のシステムにとっては途中のメモリ確保は動作に影響及ぼすのもあり、そういうのを回避する考えもある。
更に言うと利用者がそこまでガバガバトラックを作りまくるプログラムを書くかという話もある。(自分はあっても32とかじゃね?って思ってる)