2009年

vst作成メモ

サンプルのAGainを参考にして,

void EstMS::processReplacing(float** inputs, float** outputs, VstInt32 sampleFrames)
{
  float* in1  =  inputs[0];
  float* in2  =  inputs[1];
  float* out1 = outputs[0];
  float* out2 = outputs[1];

てな感じで,バッファのアドレスを取り出して,

  *out1 = (*in1 + *in2) * fGain;
  *out2 = (*in1 - *in2) * fGain;

という処理を,(各ポインタを加算しながらsampleFrames回)繰り返せばいいかと思ったが,うまくいかなかった。何故か2回通すとモノラルっぽくなる。けど,完全にモノラルでもない。

いろいろ試行錯誤した結果,どうやら入力と出力のバッファのアドレスが同じだったらしい。上の行で*out1に書き込んだ時点で*in1が上書きされていると。

わかってしまえば,「なあんだ」って話なんですがね…。

HP ProLiant ML110 G5 で NetBSD

NetBSD 3.x は,キーボード周りで止まる。

G4 のときは BIOS で 8042 Emulation Support を切ると起動したが,G5 はその設定が見当たらない。
NetBSD 4.x は,G5 だと起動しない。

http://mail-index.netbsd.org/port-i386/2008/11/22/msg000932.html
NetBSD 5.0_BETA は,今のところ問題なし。

current は,これから。

でまあ,G4 も G5 もなんかやたらと HDD が遅いのだが,

# dkctl wd0 setcache rw

で,普通の速さに。今は rc.local で無理やり全部のディスクを設定している。
あってるかどうかわからないけど,G4で1年間動かしたが特に問題なし。