(Новая страница: «{{Цикл статей Fl Studio}} Инструмент '''Script''' в '''Edison''' и '''Slicex''' ('''Ctrl+T''') - открывает меню,…») |
(нет различий)
|
Текущая версия от 08:41, 13 апреля 2014
Инструмент Script в Edison и Slicex (Ctrl+T) - открывает меню, содержащее список доступных сценариев. Вы можете написать свой собственный сценарий, используя Visual Basic или Pascal, который будет скомпилирован paxCompiler и запустить при выборе сценария из меню. PaxCompiler это истинный компилятор Pascal, который позволяет писать код для выполнения сложных DSP над вашими сэмплами.
Сохраните сценарии - как .pas файлы в каталог установки FL Studio ..\Plugins\Fruity\Effects\Edison\Data\Scripts. Эти файлы будут видны при следующем запуске команды Run script.
Диалоги - обратите внимание на то, что некоторые из демо сценариев показывают диалоговые окна, не надо их использовать.
Ошибки – если сценарий имеет ошибки, то появится диалоговое окно с объяснением ошибки и вариантами "изменить" сценарий или "запустить" его снова.
Написание сценариев – изучить содержимое существующих сценариев и прочитайте файл Reference.txt находящийся в каталоге сценариев, чтобы узнать больше о их написании и доступных функциях. Вы можете узнать больше о Pascal здесь.
Ссылки на скрипты Edison
| Глобальные переменные | |
|---|---|
| CRLF | string - acts as a line feed for showing multiline messages |
| Editor | TEditor |
| EditorSample | TSample |
| ScriptPath | string |
| Глобальные функции | |
|---|---|
| ProgressMsg | procedure ProgressMsg(const Msg:String;Pos,Total:Integer); |
| ShowMessage | procedure ShowMessage(const s: string); |
| Функции 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; |
| Класы связанные с сигналами | |
|---|---|
| // PasteFromTo modes | |
| 0: insert | |
| 1: replace | |
| 2: mix | |
| --- | |
| // NormalizeFormat Mode flags (combine as needed) | |
| 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) | |
| --- | |
| // region | |
| 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; | |
| --- | |
| // sample | |
| 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; | |
| --- | |
| // editor | |
| TEditor = class | |
| function GetSelectionS(var x1, x2: integer): boolean; | |
| function GetSelectionMS(var x1, x2: double): boolean; | |
| property Sample: TSample; | |
| end; | |
| Диалог классов и функций | |
|---|---|
| TInput = class | |
| property DefaultValue: 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; | |