Logic Proユーザガイド
- ようこそ
-
- 概要
-
- リージョンの概要
- リージョンを選択する
- リージョンの一部を選択する
- リージョンをカット、コピー、およびペーストする
- リージョンを移動する
- ギャップを追加する/取り除く
- リージョンの再生をディレイする
- リージョンをループさせる
- リージョンを繰り返す
- リージョンのサイズを変更する
- リージョンをミュートする/ソロにする
- リージョンをタイムストレッチする
- リージョンを分割する
- MIDIリージョンをデミックスする
- リージョンを結合する
- トラック領域でリージョンを作成する
- トラック領域でオーディオリージョンをノーマライズする
- MIDIリージョンのエイリアスを作成する
- オーディオリージョンのクローンを作成する
- 繰り返しのMIDIリージョンをループに変換する
- リージョンの色を変更する
- オーディオリージョンをサンプラーゾーンに変換する
- リージョン名を変更する
- リージョンを削除する
-
- Smart Controlの概要
- マスターエフェクトのSmart Controlを表示する
- Smart Controlのレイアウトを選択する
- MIDIコントローラの自動割り当て
- スクリーンコントロールを自動的にマップする
- スクリーンコントロールをマップする
- マッピングパラメータを編集する
- パラメータ・マッピング・グラフを使用する
- スクリーンコントロールのプラグインウインドウを開く
- スクリーンコントロールの名前を変更する
- アーティキュレーションIDを使ってアーティキュレーションを変更する
- ハードウェアコントロールをスクリーンコントロールにアサインする
- Logic ProでSmart Controlの編集内容と保存されている設定を比較する
- アルペジエータを使う
- スクリーンコントロールの動きを自動化する
-
- 概要
- ノートを追加する
- スコアエディタでオートメーションを使う
-
- 譜表スタイルの概要
- トラックに譜表スタイルを割り当てる
- 譜表スタイルウインドウ
- 譜表スタイルを作成する/複製する
- 譜表スタイルを編集する
- 譜表と声部を編集する/パラメータを割り当てる
- Logic Proの譜表スタイルウインドウで譜表または声部を追加する/削除する
- Logic Proの譜表スタイルウインドウで譜表または声部をコピーする
- プロジェクト間で譜表スタイルをコピーする
- 譜表スタイルを削除する
- 声部と譜表に音符を割り当てる
- 多声部のパートを別々の譜表に表示する
- スコア記号の割り当てを変更する
- 譜表をまたいで音符を連桁にする
- ドラム記譜用にマッピングされた譜表スタイルを使う
- 定義済みの譜表スタイル
- スコアを共有する
- Touch Barのショートカット
-
- エフェクトについての説明
-
- MIDIプラグインを使う
- Modifier MIDIプラグインのコントロール
- Note Repeater MIDIプラグインのコントロール
- Randomizer MIDIプラグインのコントロール
-
- Scripter MIDIプラグインを使う
- スクリプトエディタを使う
- Scripter APIの概要
- MIDI処理関数の概要
- HandleMIDI関数
- ProcessMIDI関数
- GetParameter関数
- SetParameter関数
- ParameterChanged関数
- Reset関数
- JavaScriptオブジェクトの概要
- JavaScript Eventオブジェクトを使う
- JavaScript TimingInfoオブジェクトを使う
- Traceオブジェクトを使う
- MIDIイベントのbeatPosプロパティを使う
- JavaScript MIDIオブジェクトを使う
- Scripterのコントロールを作成する
- Transposer MIDIプラグインのコントロール
-
- 内蔵の音源についての説明
- 用語集
Logic ProのScripter MIDIプラグインのコントロールを作成する
このセクションでは、スクリプトエディタを使って、Scripterプラグインのスライダやメニューなどの標準的なインターフェイスコントローラを作成する方法について説明します。新しいパラメータを定義するための唯一の必須プロパティは「name」です。デフォルトでは基本的なスライダに設定されます。また、その他のプロパティを使用してコントロールの種類や動作を変更できます。
オプションのプロパティ
type: 以下のいずれかの文字列を値として入力します:
「Lin」: リニアフェーダーが作成されます。
「log」: 対数フェーダーが作成されます。
「momentary」: モメンタリボタンが作成されます。
「menu」: メニューが作成されます。
このメニュータイプには、メニュー内に表示する文字列による追加のvalueStringsプロパティが必要です。チュートリアルスクリプト13を参照してください。
「defaultValue」: 整数または浮動小数点数を入力してデフォルト値を設定します。値が入力されていない場合、デフォルトは0.0になります。
minValue: 整数または浮動小数点数を入力して最小値を設定します。値が入力されていない場合、デフォルトは0.0になります。
maxValue: 整数または浮動小数点数を入力して最大値を設定します。値が入力されていない場合、デフォルトは1.0になります。
numberOfSteps: ステップ数を定義する整数を入力します。
unit: プラグインコントロールで表示される単位を示す文字列を入力します。値を入力しない場合は、デフォルトで単位は表示されません。
text: テキストを入力してプラグインUIにディバイダ/ヘッダを作成します。
対応するチュートリアル設定を読み込んで、スクリプトエディタにスクリプトを表示してください。コードおよびコメントの構文構造とレイアウトの理解に役立ちます。Logic ProのScripter MIDIプラグインのスクリプトエディタを使うを参照してください。
チュートリアルスクリプト11: スライダの作成
Logic Proで、スクリプトエディタウインドウに以下の通りに入力すると、デフォルトの範囲が0-1の「Parameter x」という名前のスライダが作成されます。このスライダは中央値である「0.5」に設定されます。
var PluginParameters = [{name:"Parameter x", defaultValue:0.5}];
チュートリアルスクリプト12: スライダの範囲
Logic Proで、スクリプトエディタウインドウに以下の通りに入力すると、5つの位置(目盛り)の間で調整できる、範囲が0-5のリニア表示スライダが作成されます。
var PluginParameters = [{name:"Octaves", defaultValue:3, minValue:0, maxValue:5,
numberOfSteps:5, unit:"octaves", type:"lin"}];
チュートリアルスクリプト13: メニューの作成
Logic Proで、スクリプトエディタウインドウに以下の通りに入力すると、「Low」、「Mid」、および「High」の選択肢がある「Range」という名前のメニューが作成されます。
var PluginParameters = [{name:"Range", type:"menu", valueStrings:["Low", "Mid", "High"]}];
MIDIプラグインのコントロールを動的に表示する/隠す
Logic Pro の複雑なスクリプトでは、表示するコントロールのグループを選択できるメニュー項目などで、パラメータコントロールを動的に表示したり隠したりできると便利です。スクリプトエディタウインドウに以下の通りに入力すると、各種のコントローラが作成されます。
var PluginParameters = [{name:'uno'}, {name:'dos', hidden:true}];
UpdatePluginParameters()
を呼び出すと、これが動的に変更されます。
プラグインのパラメータ値を取得する
パラメータ名を入力してGetParameter()を呼び出すと、パラメータの現在の値と共に値(Numberオブジェクト)が返されます。通常、GetParameter()はScripter MIDIプラグインのHandleMIDI関数 Scripter MIDIプラグインのHandleMIDI関数またはLogic ProのScripter MIDIプラグインのProcessMIDI関数の中で使用します。
Logic Proで、このサンプルコードでは、モジュレーションイベントがノートイベントに変換され、ノートの長さを決めるスライダが作成されます。
「/*」の後ろのテキストは、JavaScriptコードについて説明するコメントを示します。
var PluginParameters = [{name:"Note Length", minValue:0, maxValue: 100, unit:"%"}]; /* create a slider (default range 0 - 100) */
function HandleMIDI(event) {
if(event instanceof ControlChange && event.number == 1) { /* if event is MIDI cc1 (modwheel) */
var note = new NoteOn; /* create a NoteOn object */
if(event.value == 0)
/* because modwheel range is 0-127 and pitch range is 1-127, convert a modwheel value of 0 to 1 */
event.value = 1;
note.pitch = event.value; /* use cc value as note pitch */
note.velocity = 100; /* use velocity 100 */
note.send(); /* send note on */
var off = new NoteOff(note); /* create a NoteOff object that inherits the NoteOn pitch and velocity values */
var delayInBeats = GetParameter("Note Length")/100 + 0.1;
/* retrieve the parameter value of the slider you created (add 0.1 to guarantee note on and off are not simultaneous) */
off.sendAfterBeats(delayInBeats); /* send note off after the length in beats is set via the slider */
}
}