Edison スクリプト・ツール


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

EdisonSlicexのスクリプト・ツール( Ctrl+T)は利用できるスクリプトをリストしたメニューを開きます。Pascalを使用して自分でスクリプトを記述できます。メニューからスクリプトを選択するとpaxCompilerでコンパイルされ実行します。paxCompilerは真のPascalコンパイラーでサンプルに対して複雑なDSPを施すコードを記述することができます。
  • スクリプトを保存する場所 - .pasファイルとしてFL Studioをインストールしたディレクトリの下、..\Plugins\Fruity\Effects\Edison\Data\Scriptsに保存します。ここに保存されたファイルは次回'run script'コマンドを使用したときに表示されます。
  • ダイアログについて - デモ・スクリプトのいくつかはダイアログを表示しますが、ダイアログは使用しなくともかまいません。
  • エラー - スクリプトにエラーがあると、エラーを示すダイアログをスクリプトの編集か再度実行するオプションとともに表示します。
  • スクリプトの記述 - スクリプトの書き方と利用できる関数についてさらに学ぶには、既存のスクリプトの中身を調べ、スクリプトのディレクトリにあるReference.txtを読んでください。パスカルについてはここでさらに学ぶことができます。

Edisonスクリプト・リファレンス


1.グローバル変数
CRLF string 複数行に渡るメッセージを表示する際の改行として動作
Editor TEditor
EditorSample TSample
ScriptPath string

2.グローバル関数
ProgressMsg procedure ProgressMsg(const Msg:String;Pos,Total:Integer);
ShowMessage procedure ShowMessage(const s: string);

3.Delphi/Windows関数
Dec procedure dec(var Value, Decrement: integer); 整数を減算
FloatToStr function FloatToStr(Value: extended): string; 浮動小数点を文字列に変換
Inc procedure inc(var Value, Increment: integer); 整数を加算
IntToStr function IntToStr(Value: integer): string; 整数を文字列に変換
Round function Round(Value: double): integer; 浮動小数点を整数に丸め
TimeGetTime function timeGetTime: integer; stdcall; Windowsが開始した時点からの時間を返す(スクリプトの時間部に使用可)

4.波形に関連したクラス
0: insert
1: replace
2: mix

NF_NumChannels: normalize the number of channels
NF_Format: normalize the sample format
NF_Samplerate: normalize the samplerate
NF_All: normalize all (combines all flags)

TRegion = class
 constructor Create;
 procedure Copy(Source: TRegion);
 property SampleStart: integer;
 property SampleEnd: integer;
 property Name: string;
 property Info: string;
 property Time: single;
 property KeyNum: integer;
end;

TSample = class
 constructor Create;
 function GetSampleAt(Position, Channel: integer): single;
 procedure SetSampleAt(Position, Channel: integer; Value: single);
 procedure CenterFromTo(x1, x2: integer);
 function NormalizeFromTo(x1, x2: integer; Vol: single; OnlyIfAbove: boolean = FALSE): single;
 procedure AmpFromTo(x1, x2: integer; Vol: single);
 procedure ReverseFromTo(x1, x2: integer);
 procedure ReversePolarityFromTo(x1, x2: integer);
 procedure SwapChannelsFromTo(x1, x2: integer);
 procedure InsertSilence(x1, x2: integer);
 procedure SilenceFromTo(x1, x2: integer);
 procedure NoiseFromTo(x1, x2: integer; Mode: integer = 1; Vol: single = 1);
 procedure SineFromTo(x1, x2: integer; Freq, Phase: double; Vol: single = 1);
 procedure PasteFromTo(aSample: TSample; var x1, x2: integer; Mode: integer = 0);
 procedure LoadFromClipboard;
 procedure DeleteFromTo(x1, x2: integer; Copy: boolean = FALSE);
 procedure TrimFromTo(x1, x2: integer);
 function MsToSamples(Time: double): double;
 function SamplesToMS(Time: double): double;
 procedure LoadFromFile(const Filename: string); // loads a full filename (use ScriptPath to complete it)
 procedure LoadFromFile_Ask; // shows open dialog
 procedure NormalizeFormat(Source: TSample; Mode: integer = nfAll);
 function GetRegion(Index: integer): TRegion;
 function AddRegion(const SetName: string; SampleStart: integer; SampleEnd: integer = MaxInt): integer;
 procedure DeleteRegion(Index: integer);
 property Length: integer;
 property NumChans: integer;
 property Samplerate: integer;
 property RegionCount: integer;
end;

TEditor = class
 function GetSelectionS(var x1, x2: integer): boolean;
 function GetSelectionMS(var x1, x2: double): boolean;
 property Sample: TSample;
end;

5.ダイアログ・クラスと関数
TInput = class
 property DefaultValue: single;
 property Value: single;
 property ValueAsInt: integer;
 property Min: single;
 property Max: single;
end;

TScriptDialog = class
 constructor Create;
 function AddInput(const aName: string; Value: single): TInput;
 function AddInputKnob(const aName: string; Value, Min, Max: single): TInput;
 function AddInputCombo(const aName, ValueList: string; Value: integer): TInput;
 function GetInput(const aName: string): TInput;
 function GetInputValue(const aName: string): single;
 function GetInputValueAsInt(const aName: string): integer;
 function Execute: boolean;
end;

function CreateScriptDialog(const Title, Description: string): TScriptDialog;
|新しいページ|検索|ページ一覧|RSS|@ウィキご利用ガイド | 管理者にお問合せ
|ログイン|
添付ファイル