私は、ミスワトソンの簡単な代替手段を開発することによってC++に飛び込むことにしたPHPプログラマです。 MIDIファイルをVST経由で出力します。ミディライブラリを使用してイベントを解析し、Vector C++に格納
私はSteinberg VST SDKを使い始めました。私はこのMIDIライブラリを使っています:https://ccrma.stanford.edu/software/stk/index.html。
私はベクター、特にMIDIイベントを格納するベクターに固執しています。ここではクリーンアップするためのコードの最後のビットが(私はC++への総noobのだと、おそらく、この間違ったのほとんどをやっているに注意してください)です。
std::string midiPath = "C:\\creative\\midi\\m1.mid";
if (argc > 1) {
midiPath = argv[1];
}
//MidiFileIn::MidiFileIn(midiPath);
stk::MidiFileIn::MidiFileIn(midiPath);
//std::vector<_Ty> * midiEvents;
std::vector<_Ty> midiEvents(200);
stk::MidiFileIn::getNextEvent(midiEvents, 0);
//char* midiEvents[200];
//VstEvents* midiEvents;
//processMidi(effect, VstEvents*);
const char* wavPath = argv[2];
//processAudio(effect, 0, x, x);
、ここではエラーです:
1>c:\users\andrew\downloads\vst_sdk2_4_rev2\vstsdk2.4\public.sdk\samples\vst2.x\minihost\source\score.cpp(370): error C2065: '_Ty' : undeclared identifier
1>c:\users\andrew\downloads\vst_sdk2_4_rev2\vstsdk2.4\public.sdk\samples\vst2.x\minihost\source\score.cpp(370): error C2514: 'std::vector' : class has no constructors
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\vector(480) : see declaration of 'std::vector'
1>c:\users\andrew\downloads\vst_sdk2_4_rev2\vstsdk2.4\public.sdk\samples\vst2.x\minihost\source\score.cpp(372): error C2664: 'stk::MidiFileIn::getNextEvent' : cannot convert parameter 1 from 'std::vector' to 'std::vector<_Ty> *'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>
したがって、_Tyコンストラクタはどのように使用しますか?正しい軌道に乗っているのか、ちょうど狂っていますか?
「_Ty」はどこに定義されていますか? – jonsca
それは...私はそれが何をすべきか分からない。私が間違っているが、ベクトルが動的にサイズ変更できる配列のようになっていると私を訂正しますか? – grandcameo
そこにはいくつかの追加の機械がありますが、本質的にはそうです。私は '_Ty'作品についてはわかりません(Googleableですが、私が見つけた状況は適用されていません)。あなたの 'getNextEvent'メソッドは'ベクトル<_Ty> * 'を期待していますので、' midiEvents * 'をインスタンス化する必要があります(コメント行が足りないように宣言する必要があります)。 – jonsca