なんか小難しそうなプログラミングの世界。音楽プログラミング。意外と単純なことも役に立つことがわかってきたので、ちょっと挑戦してみることにしました。んなわけでSteinbergからVST SDKを落としてみたのです。
Steinvergにいってみると、ASIO SDKというのも配布していることに気が付きましたので、両方を落としてみました。ファイル容量は小さいみたいなので、それほど大げさな仕様でもないような気がしてきました。やっぱり肝心なのは中身なのですね。ASIOやVSTはデファクトスタンダードを走る両規格の単なる器にしか過ぎないのか。
ちなみにSampleのMIDIEchoというVSTとvstguisampleというVSTなのですが、両方ともFLStudioのプラグインとしては動きませんでした。従って、動作可能なサンプルが手元には無い状態からのスタートのようです。厳しいね。少しづつ勉強せねばならないね。勉強用にオープンソースのVSTiの中身でもみてみようかな。
確かHexterというVSTとCUTEVSTというのがオープンソースだったような。
因みにSDKインクルードファイルへのパスはVisualStudio2003.netの場合、[ツール]-[オプション]で表示されるダイアログボックスの左側にあるフォルダツリーから[プロジェクト]を選択したときに表示される画面で設定します。
VSTSDKはpublic.sdkの下のcommonフォルダの位置にパスを切ると良さそうです。
あとその同じフォルダのmidiというフォルダにもヘッダファイルがあるのでそこにも
パスを切るのかな。midiの下はヘッダファイルが1個しかないから、必要なときにだけ
使うっていうのもありかもしれない。
ASIOSDKもcommonフォルダの位置にパスを切っておくとよいみたいですね。
vstguiとかというファイル群も配っておりまして、それも便利そうなのでパスを切ってみました。
結局、VC7フォルダの下にASIOSDKというフォルダとVstSDKというフォルダを作ってしまいました。ASIOSDKの中にはcommonフォルダがあってVstSDKにはcommonとmidiとvstguiというフォルダを作りました。通常はcommonだけにパスを切って、あとはファイルをコピーをしたりして使いまわすんだろうなぁ。つうかASIOの開発なんかやるわけねぇからASIOSDKは普通いらねぇよ!ヽ(`Д´)ノウワァン勢いで入れちまった。
と、とにかく(汗 vstguiとmidiの中のソースが何をするためのものなかの勉強しないとなぁ。vstguiはたぶんノブとかスライダとかのグラフィカルインターフェースを管理するクラスなんでしょうな。んで、midiはエフェクトとか書いてあるから、今のところ使い道はなさそうだ。
うーん、こういう開発のデバッグってどうやるんだ?VSTのDLLを開くためのHostアプリが無いとデバッグ出来ないんじゃねぇの?うは、問題山積みやん。
因みにVSTサンプルのvstguisampleはvstguiクラスのファイル群の一部を使っているみたいでして、vstgui.cppとかの足りないソースをsampleのソースの方にコピーしないといけないみたいです。なんでこういうややこしいことにするんだろう。
仕様書が英語なのが敷居のたかさをグッと持ち上げておりまして、理解するのに時間がかかりそうな気配です。
うぉぉぉSynth1の凄さが身に染みてきた!
ってここまで書いてからSDKが古いことに気がついた!!!ずっと1.0触ってた!
今はSDK2.3の時代らしい。しもうた!やっちまった!
明日もういっかいやり直しだ。でもやることはいっしょです。
インクルードファイルのパスにsource/commonのところを増やすだけっす。
しかもSDK2.3にしたら全部のサンプルがFLStudioで動いた。っつうかサンプルのVSTって高機能だね。波形の演算処理に興味が湧いてきました。うわ、こんなところで高次フーリエ変換が役に立つとは!やっぱ波形って科学技術計算だよね。露光関係の計算も役に立ちそうだ。光の波長も音の波形も似たようなもんだ。学生の頃にもっと深く真剣にやってりゃよかったなぁ。
楽し過ぎるぅ。といってもサンプル動かしただけだった。デバッグの方法とか、考えないとなぁ。VSTホストのソースを組めとでもいうのか?
Su | Mo | Tu | We | Th | Fr | Sa |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |