S.F.Tracker (142)

公開:2006-01-26 22:02
更新:2020-02-15 04:36
カテゴリ:sftracker,c++,windows,audio,tracker

そろそろS.F. Trackerの製作を再開しようと思う。

machine(ソフトシンセやエフェクト)のパラメータ保持方法ではまっている。
パラメータ保持クラス(io_info)にboost.functionを使用しているため、その値をシリアライズできなかったからだ。

なんでboost.functionを使用しているかというと、

1.machineクラスにはメンバ変数としてパラメータを持っておきたい。
2.しかし、パラメータをコンテナにしないとGUI(プロパティリスト)で扱いづらいので、パラメータ保持クラスは必要。
3.パラメータをコンテナにしておかないとmachine groupで自由にパラメータの追加・削除ができない
4.となると、パラメータ保持クラスと、メンバ変数との紐付けが必要。

そこでパラメータ保持クラスにboost.functionによってメンバアクセサを保持させることにしたのだ。。。と思う。

しかし、今考えるとあまりメリットはないのでパラメータ配列をGUIとモデルでつっつきあうというオーソドックスな方法に変更しようかなと考えている。

でも何かほかのメリットがあってそうしたような気がするのだが、思い出せない。