PsycleWTL:.NETとの連携を考える

公開:2004-10-24 11:47
更新:2020-02-15 04:36
カテゴリ:psycle wtl,windows,audio,tracker

PsycleWTLのクラス整理はほっといて、.NET Frameworkとの連携を考えています。
考え方としては、

1.ネイティブの部分はネイティブで動かす。
・動作が遅いと問題が生じるところ
・いままで作った部分

2.UIは.NET言語(C#)で作りたい。
・作るのが簡単
・UIに関してはネイティブ、.NETどっちに転んでもよいようなつくりにする。

3.プラグインは.NET言語でも作成できるようインターフェースを作り直す
・もちろん、既存のプラグインも動作させる。

1-3を実現させるために、既存のPsycleWTLの構成を変更しました。
プロジェクトを、マネージ拡張と、ネイティブスタティックライブラリに分割しました。
ネイティブコードで動かしたいところは、ネイティブのスタティックライブラリに入れます。マネージ拡張には.ネイティブとNETとの橋渡しコードを構築します。
こういうことをしたいときは#pragma unmanagedでコントロールするんですが、既存の関数の頭に#pragma unmanagedを入れていくのが面倒なのでこうしました。

しかし、MC++は面白いです。ゲテモノコードが書けます。