resampler.dllの他の関数:isConnect、isexists、loadpcmdata、freepcmdata、loadfrqdata、freefrqdata、frqname、freefrqname、setupmodule、moduleinfo、loadsample
2014-12-24 05:38:03こういう理由なので、対応しているエンジンじゃないとDLL音源は使えないはず。エンジンは環境変数loadmoduleを見てDLLをロードしているんだと思う twitter.com/namiyome/statu…
2014-12-24 05:40:25レンダリング時はresampler.exeの中からDLLが呼ばれていた。一方、setupとか、あるいはノート選択→Ctrl+Gとか原音設定からエディタを起動した場合は、utau.exe→resampler.dll→DLL音源の順だった twitter.com/_torifly/statu…
2014-12-24 05:31:47環境変数loadmoduleが指定されていた場合、エンジンはload→exists→getpcmdata→(必要ならgetfrqdata)→レンダリング→freepcm→(getしていたらfreefrq)→unloadぐらいの順番でDLLを呼ぶ。こうかな?
2014-12-24 05:47:14環境変数が指定されていない場合は、wavファイルの存在確認→wav読み込み→周波数表作成or読み込み→レンダリング→wavメモリ解放→周波数表メモリ解放 こんな感じ?
2014-12-24 05:49:24現状でwavのファイル名を渡す仕様になっているのは、エンジンからDLLに渡せるのはファイル名の情報しかないからか。エイリアスや歌詞情報はエンジンには分からないので渡しようがない
2014-12-24 05:52:08GetCommandLineやCommandLineToArgvWを使うことで、DLL音源がresamplerのコマンド引数を知ることができるので、そこから音高情報を引っ張ってくることは可能。手法としては汚いけど
2014-12-24 05:59:27エンジンのラッパーがはさまった場合の挙動は時間がないので未確認。presampだったら環境変数loadmoduleをちゃんとエンジンに渡していればOKそう。グロウルはエンジンの前段だっけ後段だっけ? 前段だとしたらうまく動かない気がする
2014-12-24 06:09:42DLL音源は周波数表を動的に作成する(ことが可能)なので、周波数表エディタはDLL音源に対応しても無意味→非対応ということにしようw
2014-12-24 06:48:41仕様が確定してないのがネックなんだよな…いま対応DLLや対応ツールが増えすぎると仕様が変わったときの影響が大きいし、飴屋さんも仕様を変えにくくなるおそれが
2014-12-24 06:59:41directじゃないときはwavtoolはDLLを呼んでいなかった。wavtoolはdirectかどうかを関知しない。以上2点より、wavtoolがDLLを呼ぶことはないと予想。utau自身が呼ぶ可能性はあるけど、実際は誰もDLLを呼ばずに音抜けになってる気がする。バグ?
2014-12-24 17:56:01