VST Development

Juce

Logger

“OwnedArray” class (ポインタを格納)
“OwnedArray::indexOf()” (インデックスを取得)
“ScopedPointer” class

“PluginProcessor”class(audio/midi IO)
“PluginEditor”class (UI stuff)

uint8(0~255)

ラベル
.attatchToComponent
.setFont

ウィンドウサイズ
.setSizeLimits(最小幅、最小高さ、最大幅、最大高さ)

timerCallback
コンストラクターで指定された間隔毎に呼び出される。
UIとパラメーターと実際のパラメーターを同期させるために使用。

getParameter
setParameter
時間を要するものや、UI関連のものは扱わせては駄目。

.setSliderStyle(Slider::RotaryHorizontalVerticalDrag)

カスタムノブやスライダーを使う場合
カスタムlookandfeelクラスを作る
LookAndFeel::setDefaultLookAndFeel(& )

class Random : 乱数生成(int, float)

mouseEnter():
マウスのボタンが ‘up’ の状態で、ポインタが境界に入ってきたときに呼ばれる
mouseMove():
マウスのボタンが ‘up’ の状態で、ポインタが境界を動いたときに呼ばれる
mouseDown():
境界内でマウスのボタンがひとつ以上押されたときに呼ばれる
mouseDrag():
mouseDownの状態で、ポインタが移動したときに呼ばれる(ポインタが境界外でも有効)
mouseUp():
マウスのボタンががリリースされたときに呼ばれる
mouseExit():
マウスのボタンがリリースされている状態で、ポインタが境界の外へ出たときに呼ばれる

XY-Pad:
mouseDown, mouseDrag, mouseUpの組み合わせで作れそう
handleMouse()にxy座標が保存される
x = event.x;
y = event.y;
repaint(); //マウスのポインタポジションに合わせて、ポインタ表示を更新する

prepareToPlay:
オーディオ処理のたびに呼ばれる

AudioSampleBuffer::setSize(int newNumChannels, int newNumSamples)

getNumParameters()
プラグインがサポートしているパラメーターの数を教えてくれる

乱数:
Randomクラス
nextInt(最大値)

XmlElementクラス
プリセットデータの取り扱いに使える

buffer.getNumSamples()
一度に処理するサンプル数を取得する

buffer.getWritePointer(channel number, sample index)

getStateInformation
setStateInformation
パラメータの値をメモリーに出納する

コンボボックス
ポップアップメニューの色を設定
getLookAndFeel().setColour(PopupMenu::color IDs, …);

class ScopedPointer< ObjectType >
オブジェクトがスコープから外れたときに自動で削除してくれる