このコントロールを変更すると、このページが自動的に更新されます
MainStageユーザガイド
- ようこそ
-
- 「編集」モードの概要
-
- チャンネルストリップの概要
- チャンネルストリップを追加する
- チャンネルストリップ設定を変更する
- チャンネルストリップのコンポーネントを設定する
- シグナル・フロー・チャンネル・ストリップを表示する
- メトロノームチャンネルストリップを非表示にする
- チャンネルストリップのエイリアスを作成する
- パッチバスを追加する
- チャンネルストリップのパンまたはバランス位置を設定する
- チャンネルストリップのボリュームレベルを設定する
- チャンネルストリップをミュートする/ソロにする
- マルチ音源出力を使用する
- 外部MIDI音源を使用する
- チャンネルストリップを並べ替える
- チャンネルストリップを削除する
-
- 「チャンネル・ストリップ・インスペクタ」の概要
- チャンネルストリップ設定を選択する
- チャンネルストリップの名前を変更する
- チャンネルストリップのカラーを変更する
- チャンネルストリップのアイコンを変更する
- チャンネルストリップでフィードバック保護を使用する
- ソフトウェア音源チャンネルストリップのキーボード入力を設定する
- 個別のソフトウェア音源をトランスポーズする
- MIDIメッセージをフィルタリングする
- チャンネルストリップのベロシティをスケーリングする
- Hermode Tuningを無視するようにチャンネルストリップを設定する
- コンサートレベルおよびセットレベルのキー範囲を上書きする
- チャンネル・ストリップ・インスペクタでチャンネルストリップにテキストノートを追加する
- オーディオをセンドエフェクト経由でルーティングする
- グラフを操作する
- コントローラのトランスフォームを作成する
- 複数のコンサートでパッチやセットを共有する
- コンサートのオーディオ出力を録音する
-
-
MIDIイベントのbeatPosプロパティを使う
Scripterの各MIDIイベントには、イベントの拍の正確な位置を伝える「beatPos」と呼ばれるプロパティがあります。これによって、イベントのタイミングをより正確に指定でき、ループも適切に処理できます。このプロパティはtimingInfo.blockStartBeat
の代わりに使うことができます。JavaScript TimingInfoオブジェクトを使うを参照してください。
注記: このプロパティは"var NeedsTimingInfo = true"
の場合にのみ機能します。それ以外の場合は値が0になり、変更すると警告が表示されます。
MainStageで、スクリプトエディタウインドウに以下のいずれかの行を入力します(結果はどちらも同じです):
event.send()
event.sendAtBeat(event.beatPos)
または、スクリプトエディタウインドウで以下のいずれかの行を使うこともできます(結果はどちらも同じです):
event.beatpos += 1; event.send()
event.sendAtBeat(event.beatPos + 1)
beatPosプロパティの使用例
beatPosプロパティを使うと、指定の拍の位置にMIDIイベントを送信できます。以下の例では、対応するノート・オン・イベントよりも1拍分後ろの位置にノート・オフ・イベントが送信されます。
注記: event.sendAtBeat(pos)メソッドを使っても、指定の拍の位置にイベントを送信できます。beatPosプロパティを使う利点は、実際にイベントを送信する必要がないということです。このプロパティを使うだけで、イベントの拍の正確な位置を取得できます。
「/*」の後ろのテキストは、JavaScriptコードについて説明するコメントを示します。
var NeedsTimingInfo = true; /* needed to make beatPos work */
function HandleMIDI(event) {
var on = new NoteOn; /* make a new note on */
on.pitch = 60; /* set its pitch to C3 */
on.beatPos = event.beatPos; /* copy beat position from incoming event */
on.send(); /* send the note on */
var off = new NoteOff(on); /* make a note off using the note on to initialize its pitch value to C3 */
/* note that the beatPos does not get copied here */
off.beatPos = on.BeatPos+1; /* set the beat position of the note off event */
off.send(); /* send the note off event */
}
フィードバックありがとうございます。