^ Benchmark | ||
Benchmark_GetAllStartTimesAndSlots | Benchmark_GetStartTime | Benchmark_MeasureTime |
^ Config Vars | ||
GetSetIntConfigVar | SetIntConfigVar_Bitfield |
^ Data Analysis | ||
FindPatternsInString |
^ Datatype-related | ||
FloatCompare | ReturnTypeOfReaperObject | has_alphanumeric | has_control | has_digits | has_hex | has_letter | has_lowercase | has_printables | has_space | has_uppercase | toboolean | type | utf8_len | utf8_sub |
^ Debug | ||
PingMe | deprecated |
^ Function Related | ||
ConvertFunction_FromBase64String | ConvertFunction_FromHexString | ConvertFunction_ToBase64String | ConvertFunction_ToHexString | MakeFunctionUndoable | RunLuaSourceCode | StoreFunctionInExtState |
^ Gmem/Shared Memory | ||
GMem_GetValues_VideoSamplePeeker | GMem_Read_ValueRange | Gmem_GetCurrentAttachedName |
^ LoadFunctionFromExtState | ||
LoadFunctionFromExtState |
^ ProgressBar | ||
PrintProgressBar | ResetProgressBar |
^ ReaScript Console | ||
BringReaScriptConsoleToFront | CloseReaScriptConsole |
^ Reaper Paths | ||
GetReaperColorThemesPath | GetReaperJSFXPath | GetReaperScriptPath | GetReaperWebRCPath |
^ Shortcut Related | ||
CharacterCodes_ReverseLookup |
^ Shortcut related | ||
CharacterCodes_ReverseLookup_KBIni | KBIniGetAllShortcuts |
^ String Output | ||
print2 | print3 | print_alt | print_update |
^ Various Check Functions | ||
IsItemInTrack | IsItemInTrack2 | IsItemInTrack3 | IsOS_Mac | IsOS_Other | IsOS_Windows | IsObjectValidReaperObject | IsValidGuid | IsWithinTimeRange |
^ API-Variables | ||
API_TempPath | Api_InstallPath | Api_Path | Euro | Separator | StartTime |
^ Audio Management | ||
GetHWInputs_Aliasnames | GetHWOutputs_Aliasnames |
^ Batch Converter ^ Misc | ||
BatchConvertFiles | GetBatchConverter_NotifyWhenFinished | SetBatchConverter_NotifyWhenFinished |
^ Clipboard Functions | ||
FromClip | GetMediaItemsFromClipboard | GetStringFromClipboard_SWS | PutMediaItemsToClipboard_MediaItemArray | ToClip |
^ Configuration Settings ^ Menus | ||
GetSetConfigActionMenu |
^ Preferences: Advanced UI | ||
GetSetConfigAlwaysAllowKB | GetSetConfigAudioCloseTrackWnds |
^ Preferences: Audio | ||
GetSetConfigAllStereoPairs | GetSetConfigAudioCloseStop |
^ Preferences: Device | ||
GetSetConfigAudioThreadPr |
^ Preferences: Media | ||
GetSetConfigApplyFXTail |
^ Preferences: Mute/Solo | ||
GetSetConfigAutoMute | GetSetConfigAutoMuteFlags |
^ Preferences: Project | ||
GetSetConfigAutoSaveInt | GetSetConfigAutoSaveMode |
^ Preferences: Recording | ||
GetSetConfigAdjRecLat | GetSetConfigAdjRecManLat | GetSetConfigAdjRecManLatIn |
^ Preferences: Video/REX/Misc | ||
GetSetConfigAcidImport |
^ Project Settings: Media | ||
GetSetConfigAfxCfg |
^ Recording | ||
GetStartNewFileRecSizeState | SetStartNewFileRecSizeState |
^ Transport: Contextmenu | ||
GetSetConfigAudioPrShift |
^ Defer-Management | ||
Defer | GetDeferCycleSettings | GetDeferRunState | SetDeferCycleSettings | StopDeferCycle |
^ Helper functions | ||
APIExists | ApiTest | EditReaScript | RFR | RLR | RRR |
^ Get Envelope | ||
GetAllTrackEnvelopes | GetClosestEnvelopePointIDX_ByTime | GetEnvelopePoint | GetEnvelopePointIDX_Between | GetLastEnvelopePoint_TrackEnvelope |
^ Set Envelope States | ||
SetArmState_Envelope | SetEnvelopeState_Act | SetEnvelopeState_DefShape | SetEnvelopeState_LaneHeight | SetEnvelopeState_Vis |
^ Helper functions | ||
GetFXByGuid | GetFocusedFX | GetLastTouchedFX | GetRecentFX | InputFX_JSFX_Reload | TakeFX_GetAllGuidsFromAllTakes | TakeFX_JSFX_Reload | TrackFX_GetAllGuidsFromAllTracks | TrackFX_JSFX_Reload |
^ Plugins | ||
AutoDetectVSTPluginsFolder | ScanDXPlugins | ScanVSTPlugins |
^ File Analysis | ||
CheckForValidFileFormats | CountLinesInFile | GetLengthOfFile | OnlyFilesOfCertainType |
^ Manipulate Files | ||
MakeCopyOfFile | MakeCopyOfFile_Binary |
^ Read Files | ||
ReadBinaryFileFromPattern | ReadBinaryFileUntilPattern | ReadBinaryFile_Offset | ReadFileAsLines_Array | ReadFullFile | ReadLinerangeFromFile | ReadSubtitles_SRT | ReadValueFromFile |
^ Write Files | ||
SaveSubtitles_SRT | WriteValueToFile | WriteValueToFile_Insert | WriteValueToFile_InsertBinary | WriteValueToFile_Replace | WriteValueToFile_ReplaceBinary |
^ Image File Handling | ||
CaptureScreenAreaAsPNG | CaptureWindowAsPNG | ConvertJPG2PNG | ConvertPNG2JPG | ResizeJPG | ResizePNG |
^ Localization | ||
Localize | Localize_RefreshFile | Localize_UseFile |
^ MIDI Management ^ MIDI Editor | ||
MidiEditor_GetFixOverlapState | MidiEditor_SetFixOverlapState | OpenItemInMidiEditor | ZoomHorizontal_MidiEditor | ZoomVertical_MidiEditor |
^ Notes | ||
MIDI_SendMidiCC | MIDI_SendMidiNote | MIDI_SendMidiPC | MIDI_SendMidiPitch | QueryMIDIMessageNameByID |
^ Manipulate Files | ||
MoveFileOrFolder |
^ Chapter Marker | ||
PrepareChapterMarkers4ReaperExport | RestoreChapterMarkersAfterReaperExport |
^ PodRange Region | ||
AddPodRangeRegion | DeletePodRangeRegion | GetPodRangeRegion | IsRegionPodrange | SetPodRangeRegion |
^ Project Markers | ||
AddProjectMarker |
^ ShowNote Markers | ||
AddShownoteMarker | CountShownoteMarkers | DeleteShownoteMarker | EnumerateShownoteMarkers | GetSetShownoteMarker_Attributes | IsMarkerShownote | SetShownoteMarker |
^ Time Signature Markers | ||
GetAllTimeSigMarkers | GetLastTimeSigMarkerPosition | IsTimeSigmarkerAtPosition | MoveTimeSigMarkersBy |
^ Delete | ||
DeleteMediaItem | DeleteMediaItemsFromArray | DeleteMediaItems_Position | DeleteMediaItems_Position |
^ Edit | ||
RippleCut | RippleCut_Reverse | SectionCut | SectionCut_Inverse | SplitItemsAtPositionFromArray | SplitMediaItems_Position |
^ MediaItem-Takes | ||
CountMediaItemTake_StateChunk | GetItemSourceFile_Take | GetMediaItemTake | GetMediaItemTake_StateChunk | GetTake_ReverseState |
^ Outtakes Vault | ||
MediaItems_Outtakes_AddSelectedItems | MediaItems_Outtakes_GetAllItems | MediaItems_Outtakes_InsertAllItems |
^ Selected Items | ||
DeselectMediaItems_MediaItemArray | GetAllSelectedMediaItems | GetSelectedMediaItemsAtPosition | GetSelectedMediaItemsBetween | SelectMediaItems_MediaItemArray | SetMediaItemsSelected_TimeSelection |
^ Metadata Management ^ Extension States Guid | ||
GetGuidExtState | SetGuidExtState |
^ Extension States | ||
DeleteProjExtState_Key | DeleteProjExtState_Section | GetProjExtState_AllKeyValues | ProjExtState_CountAllKeys |
^ Markers | ||
GetMarkerExtState | SetMarkerExtState |
^ Reaper Metadata Management | ||
MetaDataTable_Create | MetaDataTable_GetProject | Metadata_GetAllPresetNames | Metadata_GetMetaDataTable_Presets |
^ Miscellaneous | ||
WinterlySnowflakes |
^ Mute Management ^ Mute Lane | ||
ActivateMute | ActivateMute_TrackObject | DeactivateMute | DeactivateMute_TrackObject |
^ Scrubbing | ||
Scrubbing_MoveCursor_GetToggleState | Scrubbing_MoveCursor_Toggle |
^ Transport | ||
GetLoopState | SetLoopState |
^ Project-Files ^ Helper functions | ||
GetProjectStateChunk |
^ RPP-Files Set | ||
SetProject_GroupOverride |
^ Project-Management ^ AutoSave | ||
AutoSave_GetMinutes | AutoSave_GetOptions | AutoSave_SetMinutes | AutoSave_SetOptions |
^ ProjectBay | ||
GetAllMediaItems_FromProjectBayStateChunk | IsValidProjectBayStateChunk |
^ Misc | ||
RazorEdit_GetAllRazorEdits | RazorEdit_GetFromPoint | RazorEdit_ProjectHasRazorEdit | RazorEdit_Remove | RazorEdit_RemoveAllFromTrackAndEnvelope |
^ ReaMote | ||
AutoSearchReaMoteClients |
^ Reaper Element Positions ^ Reaper Window | ||
ConvertClient2ScreenXCoordinate_ReaperWindow | ConvertScreen2ClientXCoordinate_ReaperWindow | SetReaperWindowToSize |
^ Render Presets | ||
AddRenderPreset | DeleteRenderPreset_Bounds | DeleteRenderPreset_FormatOptions | GetRenderPreset_Names | GetRenderPreset_RenderTable | ResolvePresetName | SetRenderPreset |
^ RenderQueue | ||
AddProjectFileToRenderQueue | AddSelectedItemsToRenderQueue | GetRenderQueuedProjects | RenderProject_RenderQueue |
^ Rendering any Outputformat | ||
RenderProject | RenderProject_Regions | RenderProject_RenderTable | Render_Loop |
^ Hardware Out | ||
AddTrackHWOut | ApplyAllHWOuts | AreHWOutsTablesEqual | ClearRoutingMatrix | CountTrackHWOuts | DeleteTrackHWOut | GetAllHWOuts | GetTrackHWOut | SetTrackHWOut |
^ TrackManager | ||
TrackManager_ClearFilter | TrackManager_OpenClose | TrackManager_SelectionFromList | TrackManager_SelectionFromProject | TrackManager_SetFilter | TrackManager_ShowAll |
^ Ultraschall Specific ^ Followmode | ||
pause_follow_one_cycle |
^ LUFS Loudness Meter | ||
LUFS_Metering_AddEffect | LUFS_Metering_GetValues | LUFS_Metering_MatchGain | LUFS_Metering_Reset | LUFS_Metering_SetValues | LUFS_Metering_ShowEffect |
^ Routing | ||
GetAllAUXSendReceives2 | GetAllHWOuts2 | GetAllMainSendStates2 |
^ Track Management | ||
GetTypeOfTrack | IsTrackSoundboard | IsTrackStudioLink | IsTrackStudioLinkOnAir |
^ Ultraschall.ini | ||
CountUSExternalState_key | CountUSExternalState_sec | DeleteUSExternalState | EnumerateUSExternalState_key | EnumerateUSExternalState_sec | GetUSExternalState | SetUSExternalState |
^ User Interface | ||
GetPreventUIRefreshCount | PreventUIRefresh | RestoreUIRefresh |
^ Context Menus | ||
ShowMenu |
^ Dialogs | ||
BrowseForOpenFiles | GetUserInputs | MB |
^ MediaItems | ||
GetItemButtonsVisible | SetItemButtonsVisible |
^ Miscellaneous | ||
ConvertYCoordsMac2Win | GetDpiFromScale | GetIDEFontSize | GetScaleRangeFromDpi | GetTimeByMouseXPosition | GetUIScale | SetIDEFontSize | SetUIScale |
^ Screen Management | ||
GetScreenHeight | GetScreenWidth |
^ Track Control Panel(TCP) | ||
GetTCPWidth | TCP_SetWidth |
^ Transport and Ruler | ||
SetTimeUnit |
^ Transport | ||
GetPlayCursorWidth | SetPlayCursorWidth |
^ UI-Elements | ||
GetCheckboxState | SetCheckboxState |
^ misc | ||
GetHelpDisplayMode | SetHelpDisplayMode | WiringDiagram_GetOptions | WiringDiagram_SetOptions |
^ Web Interface | ||
WebInterface_GetInstalledInterfaces |
integer num_found_actions, integer sectionID, string sectionName, table actions, table CmdIDs, table ToggleStates, table shortcuts = ultraschall.ActionsList_GetAllActions()
returns the all actions from the actionlist, when opened.
The order of the tables of found actions, ActionCommandIDs and ToggleStates is the same in all of the three tables. They also reflect the order of userselection in the ActionList itself from top to bottom of the ActionList.
returns -1 in case of an error
integer num_found_actions |
the number of found actions; -1, if not opened |
integer sectionID |
the id of the section, from which the found actions are from |
string sectionName |
the name of the found section |
table actions |
the texts of the found actions as a handy table |
table CmdIDs |
the ActionCommandIDs of the found actions as a handy table; all of them are strings, even the numbers, but can be converted using Reaper's own function reaper.NamedCommandLookup |
table ToggleStates |
the current toggle-states of the found actions; 1, on; 0, off; -1, no such toggle state available |
table shortcuts |
the shortcuts of the action as a handy table; separated by ", " |
integer num_found_actions, integer sectionID, string sectionName, table selected_actions, table CmdIDs, table ToggleStates, table shortcuts = ultraschall.ActionsList_GetSelectedActions()
returns the selected entries from the actionlist, when opened.
The order of the tables of found actions, ActionCommandIDs and ToggleStates is the same in all of the three tables. They also reflect the order of userselection in the ActionList itself from top to bottom of the ActionList.
returns -1 in case of an error
integer num_found_actions |
the number of selected actions; -1, if not opened |
integer sectionID |
the id of the section, from which the selected actions are from |
string sectionName |
the name of the selected section |
table selected_actions |
the texts of the found actions as a handy table |
table CmdIDs |
the ActionCommandIDs of the found actions as a handy table; all of them are strings, even the numbers, but can be converted using Reaper's own function reaper.NamedCommandLookup |
table ToggleStates |
the current toggle-states of the selected actions; 1, on; 0, off; -1, no such toggle state available |
table shortcuts |
the shortcuts of the action as a handy table; separated by ", " |
boolean retval = ultraschall.CheckActionCommandIDFormat(action_command_id)
boolean retval |
true, valid action_command_id; false, not a valid action_command_id |
actioncommand_id |
the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning |
boolean retval = ultraschall.CheckActionCommandIDFormat(action_command_id)
boolean retval |
true, valid action_command_id; false, not a valid action_command_id |
actioncommand_id |
the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning |
boolean retval = ultraschall.CheckActionCommandIDFormat2(action_command_id)
boolean retval |
true, valid action_command_id; false, not a valid action_command_id |
actioncommand_id |
the ActionCommandID you want to check; either a number or an action_command_id with an underscore at the beginning |
integer number_of_actions, table actiontable = ultraschall.GetAllActions(integer section)
Returns all actions and accompanying attributes from a specific section as a handy table
The table is of the following format:
actiontable[index]["commandid"] - the command-id-number of the action
actiontable[index]["actioncommandid"] - the action-command-id-string of the action, if it's a named
command(usually scripts or extensions), otherwise empty string
actiontable[index]["name"] - the name of command
actiontable[index]["scriptfilename"] - the filename+path of a command, that is a ReaScript, otherwise empty string
actiontable[index]["termination"] - the termination-state of the action
-1 - not available
4 - Dialogwindow appears(Terminate, New Instance, Abort), if another
instance of a given script is started, that's already running
260 - always Terminate All(!) Instances, if you try to run another
instance of a script, that's already running. When no instance is
running, it simply starts the script.
516 - always start a New Instance of the script, that's already running
actiontable[index]["consolidate"] - the consolidate-state of custom actions;
1 consolidate undo points,
2 show in Actions-Menu,
3 consolidate undo points AND show in Actions Menu
-1, if not available
actiontable[index]["actiontype"] - the type of the action;
"native action", "extension action",
"custom action", "script"
returns -1 in case of an error.
integer number_of_actions |
the number of actions found; -1 in case of an error |
table actiontable |
a table, which holds all attributes of an action(see description for more details) |
integer sections |
the section, whose actions you want to retrieve 0, Main=0 1, invisible actions(shown but not runnable actions) 100, Main (alt recording) 32060, MIDI Editor=32060 32061, MIDI Event List Editor 32062, MIDI Inline Editor 32063, Media Explorer=32063 |
string scriptfilename_with_path = ultraschall.GetScriptFilenameFromActionCommandID(string action_command_id)
string scriptfilename_with_path |
the scriptfilename with path associated with this ActionCommandID |
string Path |
the path to set as new current working directory |
ultraschall.RefreshToolbar_Action(integer section, string actioncommand_id)
integer section |
section 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string actioncommand_id |
ActionCommandID of the action, associated with the toolbarbutton |
integer retval = ultraschall.RunCommand(string actioncommand_id)
integer retval |
-1, in case of error |
string actioncommand_id |
the ActionCommandID of the Command/Script/Action you want to run; must be either a number or the ActionCommandID beginning with an underscore _ |
integer retval = ultraschall.ToggleStateAction(integer section, string actioncommand_id, integer state)
integer retval |
state if the action, after it has been toggled |
integer section |
the section of the action(see ShowActionlist-dialog) 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string actioncommand_id |
the ActionCommandID of the action to toggle |
integer state |
toggle-state 0, off &1, on/checked in menus &2, on/grayed out in menus &16, on/bullet in front of the entry in menus -1, NA because the action does not have on/off states. |
boolean retval = ultraschall.ToggleStateButton(integer section, string actioncommand_id, integer state)
boolean retval |
true, toggling worked; false, toggling didn't work |
integer section |
the section of the action(see ShowActionlist-dialog) 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string actioncommand_id |
the ActionCommandID of the action to toggle |
integer state |
1 or 0 |
number starttime = ultraschall.Benchmark_GetStartTime()
This function is for benchmarking parts of your code. It returns a table with all starttimes of all current benchmark-measurings. The index of the table reflects the slots.
Use Benchmark_MeasureTime to start/reset a new benchmark-measureing.
table starttime_slots |
a table with all starttimes of all current benchmark-measurings, where the index reflects the slots |
number starttime = ultraschall.Benchmark_GetStartTime(optional integer slot)
This function is for benchmarking parts of your code. It returns the starttime of the last benchmark-start, started by Benchmark_MeasureTime.
returns nil, if no benchmark has been made yet.
Use Benchmark_MeasureTime to start/reset a new benchmark-measureing.
number starttime |
the starttime of the currently running benchmark |
optional integer slot |
the slot, whose starttime you want to get |
number elapsed_time, string elapsed_time_string, string measure_evaluation = ultraschall.Benchmark_MeasureTime(optional integer time_mode, optional boolean reset, optional integer slot)
This function is for benchmarking parts of your code. It returns the passed time, since last time calling this function.
Use Benchmark_GetStartTime to start the benchmark.
number elapsed_time |
the elapsed time in seconds |
string elapsed_time_string |
the elapsed time, formatted by parameter time_mode |
string measure_evaluation |
an evaluation of time, mostly starting with < or > an a number of + 0, no time passed >, for elapsed times greater than 1, the following + will show the number of integer digits; example: 12.927 -> ">++" <, for elapsed times smaller than 1, the following + will show the number of zeros+1 in the fraction, until the first non-zero-digit appears; example: 0.0063 -> "<+++" |
optional integer time_mode |
the formatting of elapsed_time_string 0=time 1=measures.beats + time 2=measures.beats 3=seconds 4=samples 5=h:m:s:f |
optional boolean reset |
true, resets the starttime(for new measuring); false, keeps current measure-starttime(for continuing measuring) |
optional integer slot |
if you want to have multiple benchmark-measures at the same time, you can store them in different slots. means, you can measure in slot 1 and slot 2, where you can occasionally reset slot 1 while having continuous measuring in slot 2. this allows you to measure the execution time of the whole script(slot 2) and certain parts of the script on individual basis(slot 1). you can use as many slots, as you want. nil, default slot is 0 |
string script_identifier = ultraschall.GetScriptIdentifier()
string script_identifier |
a unique script-identifier for this script-instance, of the format: ScriptIdentifier: scriptfilename-guid |
string script_identifier_description = ultraschall.GetScriptIdentifier_Description()
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.
With this function, you can get its description, that is less cryptic than the ScriptIdentifier itself.
You can set it using SetScriptIdentifier_Description.
string script_identifier_description |
the description of your script |
string script_identifier_title = ultraschall.GetScriptIdentifier_Title()
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.
With this function, you can get its description, that is less cryptic than the ScriptIdentifier itself.
Default is the script's filename.
You can set it using SetScriptIdentifier_Title.
string script_identifier_title |
the title of your script; default is the filename of the script |
integer num_params, array params, string caller_script_identifier = ultraschall.GetScriptParameters(optional string script_identifier, optional boolean remove)
integer num_params |
the number of parameters available |
array params |
the values of the parameters as an array |
string caller_script_identifier |
the scriptidentifier of the script, that set the parameters |
optional string script_identifier |
the script-identifier, whose parameters you want to retrieve; use nil, to get the parameters stored for the current script |
optional boolean remove |
true or nil, remove the stored parameter-extstates; false, keep them for later retrieval |
integer num_params, array retvals = ultraschall.GetScriptReturnvalues(string sender_script_identifier, optional boolean remove)
Gets the return-values which a specific sender_script_identifier sent to the current script.
If you have started numerous child-scripts and want to know, which child-script sent you return-values, see GetScriptReturnvalues_Sender
returns -1 in case of an error
integer num_retvals |
the number of return-values available |
array params |
the values of the return-values as an array |
string sender_script_identifier |
the script-identifier, that sent the return-values to your script |
optional boolean remove |
true or nil, remove the stored retval-extstates; false, keep them for later retrieval |
integer count, array retval_sender = ultraschall.GetScriptReturnvalues_Sender()
integer count |
the number of scripts, who have left returnvalues for the current script |
array retval_sender |
the ScriptIdentifier of the scripts, who returned values |
boolean retval, string script_identifier = ultraschall.MIDI_OnCommandByFilename(string filename, optional HWND Midi_EditorHWND, string ...)
Runs a command by a filename in the MIDI-editor-context. It internally registers the file temporarily as command, runs it and unregisters it again. This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.
It returns a unique script-identifier for this script, which can be used to communicate with this script-instance. The started script gets its script-identifier using GetScriptIdentifier. You can use this script-identifier e.g. as extstate.
Returns false in case of an error
boolean retval |
true, if running it was successful; false, if not |
string script_identifier |
a unique script-identifier, which can be used as extstate to communicate with the started scriptinstance |
HWND Midi_EditorHWND |
the window-handler of the MIDI-editor, in which to run the script; nil, for the last active MIDI-editor |
string filename |
the name plus path of the scriptfile to run |
string ... |
parameters, that shall be passed over to the script |
boolean retval, string script_identifier = ultraschall.Main_OnCommandByFilename(string filename, string ...)
Runs a command by a filename. It internally registers the file temporarily as command, runs it and unregisters it again. This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.
It returns a unique script-identifier for this script, which can be used to communicate with this script-instance. The started script gets its script-identifier using GetScriptIdentifier. You can use this script-identifier e.g. as extstate.
Returns false in case of an error
boolean retval |
true, if running it was successful; false, if not |
string script_identifier |
a unique script-identifier, which can be used as extstate to communicate with the started scriptinstance |
string filename |
the name and path of the scriptfile to run |
string ... |
parameters that shall be passed over to the script |
boolean retval, string script_identifier = ultraschall.Main_OnCommand_LuaCode(string Code, string ...)
Runs LuaCode as new temporary script-instance. It internally registers the code as a file temporarily as command, runs it and unregisters it again. This is especially helpful, when you want to run a command for sure without possible command-id-number-problems.
It returns a unique script-identifier for this script, which can be used to communicate with this script-instance. The started script gets its script-identifier using GetScriptIdentifier. You can use this script-identifier e.g. as extstate.
Returns false in case of an error
boolean retval |
true, if running it was successful; false, if not |
string script_identifier |
a unique script-identifier, which can be used as extstate to communicate with the started code |
string Code |
the Lua-code, which shall be run; will not be checked vor validity! |
string ... |
parameters that shall be passed over to the script |
integer retval = ultraschall.SetScriptIdentifier_Description(string description)
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.
With this function, you can set its description, that is less cryptic than the ScriptIdentifier itself.
You can get it using GetScriptIdentifier_Description.
returns -1 in case of an error
integer retval |
-1 in case of an error |
string description |
the new description of your script |
integer retval = ultraschall.SetScriptIdentifier_Title(string title)
The Ultraschall-API gives any script, that uses the API, a unique identifier generated when the script is run. This identifier can be used to communicate with this script. If you start numerous instances of a script, it will create for each instance its own script-identifier, so you can be sure, that you communicate with the right instance.
With this function, you can set its title, that is less cryptic than the ScriptIdentifier itself. No \n-newlines, \r-carriage returns or \0-nullbytes are allowed and will be removed
You can get it using GetScriptIdentifier_Title.
returns -1 in case of an error
integer retval |
-1 in case of an error |
string title |
the new title of your script |
boolean retval, string script_identifier = ultraschall.SetScriptParameters(string script_identifier, string ...)
boolean retval |
true, storing was successful |
string script_identifier |
the script_identifier, whose parameters have been set |
string script_identifier |
the script-identifier, whose parameters you want to retrieve; use nil, to set the parameters stored for the current script |
string ... |
the parameters you want to set; there can be more than one, but they must be strings |
boolean retval = ultraschall.SetScriptReturnvalues(string script_identifier, string ...)
boolean retval |
true, storing was successful; false, there was an error |
string script_identifier |
the script-identifier of the script-instance, to where you want to send the returnvalues |
string ... |
the returnvalues you want to set; there can be more than one, but they must be strings |
boolean retval, integer config_var_value = ultraschall.GetSetIntConfigVar(string varname, boolean set, optional boolean bit1, ..., optional boolean bit32)
boolean retval |
true, getting/setting the config-var was successful; false, it wasn't successful |
integer config_var_value |
the new/current value of the configuration-variable |
string varname |
the name of the config-variable |
boolean set |
true, set this config-var; false, don't set it |
optional boolean bit1 |
true, set this bit; false, don't set this bit; nil, use the currently set value |
... |
true, set this bit; false, don't set this bit; nil, use the currently set value |
optional boolean bit32 |
true, set this bit; false, don't set this bit; nil, use the currently set value |
boolean retval, integer new_integer_bitfield = ultraschall.SetIntConfigVar_Bitfield(string configvar, boolean set_to, integer bit_1, integer bit_2, ... integer bit_n)
boolean retval |
true, if altering was successful; false, if not successful |
integer new_integer_bitfield |
the newly altered bitfield |
string configvar |
the config-variable, that is stored as an integer-bitfield, that you want to alter. |
boolean set_to |
true, set the bits to 1; false, set the bits to 0; nil, toggle the bits |
integer bit1..n |
one or more parameters, that include the bitvalues toset/unset/toggle with 1 for the first bit; 2 for the second, 4 for the third, 8 for the fourth, etc |
integer count_found_items, array found_items = ultraschall.FindPatternsInString(string SourceString, string pattern, boolean sort_after_finding)
integer count_found_items |
the number of found items in the string; -1, in case of an error |
array found_items |
all occurrences found in the string as an array |
string SourceString |
the source-string to search for all occurences |
string pattern |
the matching-pattern, with which to search for in the string |
boolean sort_after_finding |
true, sorts the entries; false, doesn't sort the entries |
string new_character = ultraschall.AddIntToChar(string character, integer int)
string new_character |
the new character, after parameter int has been added/subtracted from/to character |
string character |
the character, onto which you want to add/subtract parameter int; only single character allowed |
integer int |
the value, that you want to add to the numerical representation of parameter character |
string decoded_string = ultraschall.Base64_Decoder(string source_string, optional integer base64_type)
string decoded_string |
the decoded string |
string source_string |
the Base64-encoded string |
optional integer base64_type |
the Base64-decoding-style nil or 0, for standard default Base64-encoding |
string encoded_string = ultraschall.Base64_Encoder(string source_string, optional integer base64_type, optional integer remove_newlines, optional integer remove_tabs)
string encoded_string |
the encoded string |
string source_string |
the string that you want to convert into Base64 |
optional integer base64_type |
the Base64-decoding-style nil or 0, for standard default Base64-encoding |
optional integer remove_newlines |
1, removes \n-newlines(including \r-carriage return) from the string 2, replaces \n-newlines(including \r-carriage return) from the string with a single space |
optional integer remove_tabs |
1, removes \t-tabs from the string 2, replaces \t-tabs from the string with a single space |
integer count, array individual_values = ultraschall.CSV2IndividualLinesAsArray(string csv_line, optional string separator)
integer count |
the number of entries |
array individual_values |
all values, each in an individual array-position |
string csv_line |
a string as a csv, with all values included and separated by parameter separator |
string separator |
the separator, that separates the individual entries; use nil for commas; separators will be removed from the final strings! |
string values = ultraschall.CSV2Line(string csv_line)
string values |
all values in one string |
integer retval = ultraschall.CombineBytesToInteger(integer bitoffset, integer Byte_1, optional Byte_2, ..., optional Byte_n)
integer retval |
the combined integer |
integer bitoffset |
if you want to start combining the values from a certain bitoffset-onwards, set the offset here; use 0 to start with the first bit. |
integer Byte_1 |
a bytevalue that you want to combine into one |
optional integer Byte_2 |
a bytevalue that you want to combine into one |
optional integer Byte_n |
a bytevalue that you want to combine into one |
table diff_array = ultraschall.CompareArrays(table Array, table CompareArray2)
table diff_array |
an array with all entries from CompareArray2, that are not in Array |
table Array |
the reference-array |
table CompareArray2 |
the array you want to check against Array; all entries in CompareArray2 that are not in Array will be returned |
boolean retval, integer errorposition = ultraschall.CompareStringWithAsciiValues(string string, integer bytevalue_1, integer bytevalue_2, ... integer bytevalue_n)
boolean retval |
true, if check was successful; false, if not successful |
integer errorposition |
if retval is false, this will contain the position in string, where the checking failed; nil, if retval is true |
string string |
the string to check against the bytevalues |
integer bytevalue_1..n |
one or more parameters, that include the bytevalues to check against the accompanying byte in string; -1, if you want to skip check for that position |
integer numentries, array concatenated_table = ultraschall.ConcatIntegerIndexedTables(array table1, array table2)
Concatenates the entries of two tables into one table. The entries of each table must be indexed by integers
The new table still has the same references as the old table, means: if you remove the old tables/entries in the old tables, the concatenated table/accompanying entries will loose elements. To get a "true"-concatenated copy, you should first create new copies of the tables, using MakeCopyOfTable.
integer numentries |
the number of entries in the new table |
array concatenated_table |
the new concatenated table |
array table1 |
the first table to be concatenated; the entries must be indexed by integer-numbers! |
array table2 |
the second table to be concatenated; the entries must be indexed by integer-numbers! |
string hexstring = ultraschall.ConvertAscii2Hex(string ascii_string)
converts an ascii-string into a hexstring.
See ConvertHex2Ascii to convert a HEX-string into its normal string-representation.
Returns nil in case of an error
string hexstring |
the original string with only hexadecimal numbers |
string ascii_string |
the converted string |
integer integervalue = ultraschall.ConvertBitsToInteger(table bitvalues)
integer integer |
the integer-number converted from the integer-entries |
table bitvalues |
a table, where each entry contains the bit-value of integer; first entry for bit 1, 64th entry for bit 64, etc |
string message = ultraschall.ConvertBitsToString(array bitarray)
string message |
the converted bits as string-representation |
array bitarray |
the individual bits in a table, which will be converted into a string-representation each entry in the table must be either 0 or 1; missing bits at the end(usually nil) will be seen as 0 |
string ascii_string = ultraschall.ConvertHex2Ascii(string hexstring)
converts a hexstring into an ascii-string.
Will combine two hexvalues into one byte, until the whole string is converted.
See ConvertAscii2Hex to convert a string into its HEX-representation.
Returns nil in case of an error
string ascii_string |
the converted string |
string hexstring |
the original string with only hexadecimal numbers |
string converted_value = ultraschall.ConvertIntegerIntoString2(integer Size, integer integervalue_1, ..., integer integervalue_n)
string converted_value |
the string-representation of the integer |
integer Size |
the maximum size of the integer to convert, 1(8 bit) to 4(32 bit) |
integer integervalue_1 |
the first integer value to convert from |
... |
integer integervalue_n |
the last integer value to convert from |
string bitvals_csv, table bitvalues = ultraschall.ConvertIntegerToBits(integer integer)
string bitvals_csv |
a comma-separated csv-string of all bitvalues, with bit 1 coming first and bit 32 coming last |
table bitvalues |
a 64-entry table, where each entry contains the bit-value of integer; first entry for bit 1, 64th entry for bit 64 |
integer integer |
the integer-number to separated into it's individual bits |
integer length, table byte_array = ultraschall.ConvertStringToAscii_Array(string string)
integer length |
the number of characters in the string/entries in the returned table byte_array |
table byte_array |
the ByteArray as a table, with the format ByteArray[idx][1]="A" -- the byte itself ByteArray[idx][2]=65 -- the numerical representation of the byte |
string string |
the string to be converted |
integer number_of_bits, array bitarray = ultraschall.ConvertStringToBits(string message)
integer number_of_bits |
the number of bits in the string, -1, in case of an error |
array bitarray |
the individual bits as a handy table |
string message |
the string, which you want to convert into its bit representation |
integer num_integers, array individual_integers = ultraschall.ConvertStringToIntegers(string String, integer Size)
integer num_integers |
the number of integers converted from this string |
array individual_integers |
the individual integers, as converted from the original string |
string String |
the string to convert into its integer representation |
integer Size |
the size of the integers. 1 for 8 bits, 2 for 16 bits, ..., 8 for 64 bits |
integer count, array positions = ultraschall.CountCharacterInString(string checkstring, string character)
integer count |
the number of occurences of character in checkstring |
array positions |
the positionnumbers of the character in checkstring |
string checkstring |
the string to check search through |
string character |
the character to search for. Only single characters are allowed. Controlcodes like \n \t count as single character. Case sensitive. |
integer count, table subtables, integer count_of_subtables = ultraschall.CountEntriesInTable_Main(table the_table)
integer count |
the number of entries in the table |
table subtables |
if an entry of table has a table as value, that table-value will be included in this subtables-table(for recursive counting-usecases) |
integer count_of_subtables |
the number of entries in the subtables-table |
table table |
the table, whose entries you want to count |
integer number_of_lines = ultraschall.CountLinesInString(string String)
integer number_of_lines |
number of lines of the string |
string String |
the string to count the lines of |
integer count, array positions = ultraschall.CountPatternInString(string sourcestring, string searchstring, boolean non_case_sensitive)
integer count |
the number of appearances of searchstring in sourcestring |
array positions |
an array with count-entries, where every entry contains the position of searchstring in sourcestring |
string sourcestring |
the string, you want to search through |
string searchstring |
the string, you want to search for in sourcestring |
boolean non_case_sensitive |
true, the search does not care about case-sensitivity; false, case of searchstring will be kept |
table new_table = ultraschall.CycleTable(table the_table, integer offset)
table new_table |
the altered table |
table the_table |
the table to cycle through |
integer offset |
the offset, by which to cycle the entries through; positive, cycle entries forward; negative, cycle entries backward |
number mkvol_value = ultraschall.DB2MKVOL(number db_value)
Converts an dB-value into a MKVOL-value.
MKVOL-values are used by the routing-functions for HWOut/AUXSendReceive, specifically for their volume-value as these can't be converted using Reaper's own DB2SLIDER or SLIDER2DB, so this function should help you.
See MKVOL2DB to convert a MKVOL-value into it's dB-representation
returns nil in case of an error
number mkvol_value |
the mkvol-value, converted from the dB-value |
number db_value |
the dB-value, that you want to convert into the MKVOL-value; minimum is -144dB |
string escaped_string = ultraschall.EscapeMagicCharacters_String(string sourcestring)
string escaped_string |
the string with all magic characters escaped |
string sourcestring |
the string, whose magic characters you want to escape for future use |
integer count, table foundtypes, table returned_table = ultraschall.GetAllEntriesFromTable(table table)
integer count |
the number of table-entries found |
table foundtypes |
a table, with count-entries, each entry having the type of each entry in the returned_table as string. The types can be "nil", "integer", "float", "string", "boolean", "table", "function", "thread", "userdata" |
table returned_table |
an iterable version of table. The type of each entry can be found in the accompanying entry of foundtypes the format is returned_table[indexnr][1] - indexname/number of the original table-entry returned_table[indexnr][2] - the value of the original table-entry the indexnr is 1 to count, while [indexnr][1] is the indexnr of the original-table-entry, which might be a string, functionname or something else as well |
table table |
the table to get the individual entries from |
integer duplicate_count, array duplicate_array, integer originalscount_array1, array originals_array1, integer originalscount_array2, array originals_array2 = ultraschall.GetDuplicatesFromArrays(array array1, array array2)
integer duplicate_count |
the number of entries in both arrays |
array duplicate_array |
the entries in both arrays |
integer originalscount_array1 |
the number of entries only in array1 |
array originals_array1 |
the entries that are only existing in array1 |
integer originalscount_array2 |
the number of entries only in array2 |
array originals_array2 |
the entries that are only existing in array2 |
array array1 |
the first array to check for duplicates and "original"-entries |
array array2 |
the second array to check for duplicates and "original"-entries |
string partial_string = ultraschall.GetPartialString(string str, string sep1, string sep2)
string partial_string |
the partial string between sep1 and sep2 |
string str |
string to be processed |
string sep1 |
separator on the "left" side of the partial string |
string sep2 |
separator on the "right" side of the partial string |
boolean retval = ultraschall.IsValidMatchingPattern(string patstring)
boolean retval |
true, patstring is a valid pattern-matching-string; false, patstring isn't a valid pattern-matching-string |
string patstring |
the string to check for, if it's a valid pattern-matching-string |
table alteredtable = ultraschall.KeepTableEntriesOfType(table worktable, string keeptype)
table alteredtable |
the table, that contains only the entries of the type as given by parameter keeptype |
table worktable |
the unaltered source-table for processing |
string keeptype |
the type that shall remain in table allowed are boolean, integer, float, number, table, string, userdata, thread, ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source |
number altered_number = ultraschall.LimitFractionOfFloat(number number, integer length_of_fraction)
number altered_number |
the altered number with the new fraction-length. Will be equal to parameter number, if number was integer or fraction less digits than length_of_fraction |
number number |
the number, whose fraction shall be limited |
integer length_of_fraction |
the number of digits in the fraction |
number db_value = ultraschall.MKVOL2DB(number mkvol_value)
Converts an MKVOL-value into a dB-value.
MKVOL-values are used by the routing-functions for HWOut/AUXSendReceive, specifically for their volume-value as these can't be converted using Reaper's own DB2SLIDER or SLIDER2DB, so this function should help you.
This function is an adapted one from the function provided in Plugins/reaper_www_root/main.js
See DB2MKVOL to convert a dB-value into it's MKVOL-representation
returns nil in case of an error
number db_value |
the dB-value, converted from the MKVOL-value; minimum -144dB |
number mkvol_value |
the mkvol_value, that you want to convert into dB |
table table_copy = ultraschall.MakeCopyOfTable(table table)
Creates a true copy of a table(not only references).
adapted from Tyler Neylon's function, found at Stack Overflow
Returns nil if table isn't a valid table
table table_copy |
the true copy of the table; nil in case of error |
table table |
the table to create a copy from. |
string csv_retval = ultraschall.Notes2CSV()
string csv_retval |
the project notes, returned as a csv-string; entries separated by a comma |
table alteredtable = ultraschall.RemoveTableEntriesOfType(table worktable, string removetype)
table alteredtable |
the table, that contains only the entries that are nt of the type as given by parameter removetype |
table worktable |
the unaltered source-table for processing |
string removetype |
the type that shall be removed from table allowed are boolean, integer, float, number, table, string, userdata, ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source |
string replaced_string = ultraschall.ReplacePartOfString(string originalstring, string insertstring, integer offset, optional integer length)
string replaced_string |
the altered string |
string originalstring |
the originalstring, in which you want to insert the string |
string insertstring |
the string that shall be inserted |
integer offset |
the position, at which to insert the string; it is the position BEFORE the position at which to insert, so if you want to replace the 25th character, offset is 24! |
optional integer length |
the length of the part of the originalstring that shall be replaced, counted from offset. 0 or nil for simple insertion. |
string altered_string, boolean replaced = ultraschall.ReplacePatternInString(string OriginalString, string pattern, string replacestring, integer index)
string altered_string |
the altered string, where the n'th occurence of the pattern has been replaced |
boolean replaced |
true, there has been a replacement; false, no replacement has happened |
string OriginalString |
the string, from which you want to replace a specific occurence of a matching pattern |
string pattern |
the pattern to look for |
string replacestring |
the string, which shall replace the found pattern |
integer index |
the number of found occurence of the pattern in the string, which shall be replaced |
retval1, retval2, retval3, ... , retval64 = ultraschall.ReturnTableAsIndividualValues(table Table)
retval1 ... retval64 |
the values from Table returned |
table Table |
the table, whose values you want to return. It will only return values with index 1...64! |
integer newbyte = ultraschall.ReverseEndianess_Byte(integer byte)
integer newbyte |
the endianess-reversed byte |
integer byte |
the integer whose endianess you want to reverse |
table reversed_table, integer entry_count = ultraschall.ReverseTable(table the_table)
table reversed_table |
the resulting table with the reversed order of all entries |
integer entry_count |
the number of entries in the reversed_table |
table table |
the table, whose entries you want to reverse |
integer retval = ultraschall.RoundNumber(number num)
integer retval |
the rounded number |
number num |
the floatingpoint number, you'd like to have rounded. |
integer count, array posarray = ultraschall.SearchStringInString(string fullstring, string searchstring)
integer count |
the number of found occurences of searchstring in fullstring |
array posarray |
an array that contains the positions, where searchstring was found within fullstring |
string fullstring |
the string to be searched through |
string searchstring |
the string to search for within fullstring |
string time_string = ultraschall.SecondsToTime(number pos)
string time_string |
timestring in (h)hh:mm:ss.mss |
number pos |
timeposition in seconds |
string timestring = ultraschall.SecondsToTimeString_hh_mm_ss_mss(number time)
string timestring |
the converted timestring. It will always follow the format hh:mm:ss.mss and fill up digits with zeros, if necessary. |
number time |
the time in seconds to be converted into the timestring |
integer new_integer_bitfield = ultraschall.SetBitfield(integer integer_bitfield, boolean set_to, integer bit_1, integer bit_2, ... integer bit_n)
integer new_integer_bitfield |
the newly altered bitfield |
integer integer_bitfield |
the old integer-bitfield that you want to alter |
boolean set_to |
true, set the bits to 1; false, set the bits to 0; nil, toggle the bits |
integer bit1..n |
one or more parameters, that include the bitvalues toset/unset/toggle with 1 for the first bit; 2 for the second, 4 for the third, 8 for the fourth, etc |
integer Byte1, integer Byte2, integer Byte3, integer Byte4 = ultraschall.SplitIntegerIntoBytes(integer integervalue)
integer Byte1 |
the first eight bits of the integer-value as a Byte |
integer Byte2 |
the second eight bits of the integer-value as a Byte |
integer Byte3 |
the third eight bits of the integer-value as a Byte |
integer Byte4 |
the fourth eight bits of the integer-value as a Byte |
integer integeroffset |
the integer-value that you want to split into individual bytes |
integer count, array split_string = ultraschall.SplitStringAtLineFeedToArray(string unsplitstring)
integer count |
number of entries in the split_string-array |
array split_string |
an array with all the individual "postsplit"-pieces of the string |
string unsplitstring |
the string, that shall be split at LineFeed/Tabs/Control Characters. Nil is not allowed. |
integer count, array split_strings = ultraschall.SplitStringAtNULLBytes(string splitstring)
integer count |
the number of found strings |
array split_strings |
the found strings put into an array |
string splitstring |
the string with NULL-Bytes(\0) into it, that you want to split |
string layouted_statechunk = ultraschall.StateChunkLayouter(string statechunk)
<ITEM
..POSITION 6.96537864205337
..SNAPOFFS 0
..LENGTH 1745.2745
..LOOP 0
..ALLTAKES 0
..FADEIN 1 0.01 0 1 0 0
..FADEOUT 1 0.01 0 1 0 0
..MUTE 0
..SEL 1
..IGUID {020E6372-97E6-4066-9010-B044F67F2772}
..IID 1
..NAME myaudio.flac
..VOLPAN 1 0 1 -1
..SOFFS 0
..PLAYRATE 1 1 0 -1 0 0.0025
..CHANMODE 0
..GUID {79F087CE-49E8-4212-91F5-8487FBCF10B1}
..<SOURCE FLAC
....FILE "C:\Users\IncredibleSupergirl\Desktop\X_audiofile.flac"
..>
>
string layouted_statechunk |
the statechunk, that is now layouted to the rules of rpp-projectfiles |
string statechunk |
a statechunk, that you want to layout properly |
number time = ultraschall.TimeStringToSeconds_hh_mm_ss_mss(string timestring)
number time |
the time in seconds to be converted into the timestring, -1 in case of an error |
string timestring |
the converted timestring. It must always follow the format hh:mm:ss.mss. Fill up digits with zeros, if necessary. |
number position = ultraschall.TimeToSeconds(string timestring)
number position |
the converted position |
string timestring |
a string like: days:hours:minutes:seconds.milliseconds , i.e. 1:16:27:50.098 |
boolean retval, number diff = ultraschall.FloatCompare(number a, number b, number precision)
boolean retval |
true, numbers are equal; false, numbers aren't equal |
number diff |
the difference between numbers a and b |
number a |
the first float-number to compare |
number b |
the second float-number to compare |
number precision |
the precision of the fraction, like 0.1 or 0.0063 |
string objecttype = ultraschall.ReturnTypeOfReaperObject(Reaperobject object)
string objecttype |
the type of the parameter of object the following types can be returned: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source, None |
Reaperobject object |
a Reaper-object of the following types: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source returns None if the object isn't a valid Reaper-object |
boolean retval = string.has_alphanumeric(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for alphanumeric-characters |
boolean retval = string.has_control(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for control-characters |
boolean retval = string.has_digits(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for digit-characters |
boolean retval = string.has_hex(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for hex-characters |
boolean retval = string.has_letter(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for letter-characters |
boolean retval = string.has_lowercase(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for lowercase-characters |
boolean retval = string.has_printables(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for printable-characters |
boolean retval = string.has_space(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for space-characters |
boolean retval = string.has_uppercase(string value)
boolean retval |
true, if yes; false, if not |
string value |
the value to check for uppercase-characters |
boolean retval = toboolean(string value)
boolean retval |
true or false, depending on the input variable value |
string value |
the value to be converted to a boolean. True and false can be upper-, lower and camelcase. |
string type_of_object, optional boolean isnumber = ultraschall.type(identifier object)
string type_of_object |
the type of the object; the following are valid: nil, number: integer, number: float, boolean, string, function, table, thread, userdata, ReaProject, MediaItem, MediaItem_Take, MediaTrack, TrackEnvelope, AudioAccessor, joystick_device, PCM_source userdata will be shown, if object isn't of any known type |
optional boolean isnumber |
true, if object is a number(either integer or number) |
identifier object |
the object, whose type you want to know |
integer length = string.utf8_len(string source_string)
integer length |
the length of the utf8-encoded string |
string value |
the value to get the length of the utf8-encoded-string |
string ret_string = string.utf8_sub(string source_string, integer startoffset, integer endoffset)
string ret_string |
the returned string |
string value |
the value to get the utf8-substring from |
integer startoffset |
the startoffset, from which to return the substring; negative offset counts from the end of the string |
integer endoffset |
the endoffset, to which to return the substring; negative offset counts from the end of the string |
string pingmessage = PingMe(optional string message, optional integer outputtarget)
string pingmessage |
returns the pingmessage |
optional string message |
an optional message shown |
optional integer outputtarget |
0, don't show a message 1, output the pingme-message into ReaScript-console 2 or nil, show a messagebox 3, output it into the clipboard 4, add it to the end of the contents of the clipboard 5, add it to the beginning of the contents of the clipboard |
ultraschall.deprecated(string functionname)
If you have a 3rd-party function added to Ultraschall-API, which you want to deprecate, use this function to show a warning message, if that function is used.
It will be shown once when running the script, after (re-)start of Reaper.
That way, you can tell scripters, whether they need to update their scripts using newer/better functions. This is probably shown first to the user, who knows that way a potential problem and can tell the scripter about that.
If there is a line "Author: authorname" in the file(as usual for ReaPack-compatible scripts), it will show the scripter's name in the dialog.
boolean retval |
true, defer-instance is running; false, defer-instance isn't running |
function function = ultraschall.ConvertFunction_FromBase64String(string BASE64_functionstring)
Loads a function from a BASE64-string.
To convert a function into a BASE64-string, use ConvertFunction_ToBase64String
Returns nil in case of an error
function func |
the loaded function |
string BASE64_functionstring |
the function, stored as BASE64-string |
function function = ultraschall.ConvertFunction_FromHexString(string HEX_functionstring)
Loads a function from a HEX-string.
To convert a function into a HEX-string, use ConvertFunction_ToHexString
Returns nil in case of an error
function func |
the loaded function |
string HEX_functionstring |
the function, stored as HEX-string |
string BASE64_functionstring = ultraschall.ConvertFunction_ToBase64String(function to_convert_function, boolean debug)
Converts a function into a BASE64-string.
To load a function from a BASE64-string, use ConvertFunction_FromBase64String
Returns nil in case of an error
string BASE64_functionstring |
the function, stored as BASE64-string |
function to_convert_function |
the function, that you want to convert |
boolean debug |
true, store debug-information as well; false, only store function |
string HEX_functionstring = ultraschall.ConvertFunction_ToHexString(function to_convert_function, boolean debug)
Converts a function into a HEX-string.
To load a function from a HEX-string, use ConvertFunction_FromHexString
Returns nil in case of an error
string HEX_functionstring |
the function, stored as HEX-string |
function to_convert_function |
the function, that you want to convert |
boolean debug |
true, store debug-information as well; false, only store function |
boolean retval, string current_UndoMessage, retvals_1, ..., retvals_2 = ultraschall.MakeFunctionUndoable(function Func, string UndoMessage, integer Flag, Func_parameters_1, ... Func_parameters_n)
boolean retval |
true, undoing was successful; false, undoing wasn't successful |
string current_UndoMessage |
the current UndoMessage for the last action done by Reaper. Use this so see, if getting an undo-point was successful |
retvals_1 ... retvals_2 |
the returnvalues, as returned by function Func |
function Func |
the function, that you want to create an undo-point for |
string UndoMessage |
the undo-message to be displayed by Reaper in the Undo-history |
integer Flag |
you can set a flag, if you want, for this undo-point |
Func_parameters_1, ... Func_parameters_n |
the parameters, as needed by the function Func; will be given to Func as provided by you |
boolean retval = ultraschall.RunLuaSourceCode(string code)
runs the Lua-code stored in the parameter code
Does not check for validity and syntaxerrors in the code!
You can also add new callable functions that way. Just put function-declarations in the parameter code.
For instance from the following code:
code=function main() reaper.MB("I'm only run, when my parent function main is called", "", 0) end
reaper.MB("I'm run immediately", "", 0)"
when called by
ultraschall.RunLuaSourceCode(code)
only the line reaper.MB("I'm run immediately", "", 0) will be run immediately. If you want to run the function main as well, you need to explicitly call it with main()
returns false in case of an error; nil, in case of an syntax/lua-error in the code itself
boolean retval |
true, code was run successfully; false, code wasn't successfully; nil, code had an error in it, probably syntax error |
string code |
the code, that you want to execute; you can also add new functions that way |
boolean retval = ultraschall.StoreFunctionInExtState(string section, string key, function func, boolean debug)
Stores a function into an extstate. You can store it's debug-information as well.
To load the function again, use LoadFunctionFromExtState
Returns false in case of an error
boolean retval |
true, setting was successful; false, it was unsuccessful |
string section |
the sectionname of the extstate |
string key |
the keyname of the extstate |
function func |
the function, that you want to store |
boolean debug |
true, store debug-values as well; false, don't store the debug-values as well |
number play_pos, integer samplerate, integer num_channels, integer requested_samplebuffer_length, table samplebuffer = ultraschall.GMem_GetValues_VideoSamplePeeker(optional integer samplesize)
number play_pos |
the playposition, when the sample has been re |
integer samplerate |
the samplerate of the sampledata |
integer num_channels |
the number of channels within the sampledata |
integer requested_samplebuffer_length |
the length of the requested buffer; maximum is the number of values for about 2 seconds |
table samplebuffer |
the values themselves |
optional integer samplesize |
the samplesize you want to get; nil, return the whole 2-seconds-samplebuffer(takes a lot of resources) |
table gmem_values = ultraschall.GMem_Read_ValueRange(integer startindex, integer number_of_indices, optional boolean use_gmem_indices_for_table, optional string gmem_attachname)
table gmem_values |
the requested values. |
integer startindex |
the first index you want to request; must be 0 or higher |
integer number_of_indices |
the number of values to request, from startindex onwards |
optional boolean use_gmem_indices_for_table |
true, index the table according to gmem-index; false or nil, just index from 1 onwards |
optional string gmem_attachname |
the attached gmem, from which you want to get the values; nil, use the currently attached gmem |
string current_gmem_attachname = ultraschall.Gmem_GetCurrentAttachedName()
string current_gmem_attachname |
the name of the currently attached gmem |
function function = ultraschall.LoadFunctionFromExtState(string section, string key)
Loads a function from an extstate, if it has been stored in there before. The extstate must contain a valid function. If something else is stored, the loaded "function" might crash Lua!
To store the function, use StoreFunctionInExtState
Returns false in case of an error
function func |
the stored function, that you want to (re-)load |
string section |
the sectionname of the extstate |
string key |
the keyname of the extstate |
boolean retval, string ProgressString, integer percentage, integer progress_position = ultraschall.PrintProgressBar(boolean show, integer length, integer maximumvalue, integer currentvalue, boolean percentage, integer offset, optional string toptext, optional string bottomtext)
Calculate a simple progressbar, which can be optionally displayed in the ReaScript console; Will clear the console before displaying the next updated progressbar.
Will update it only, if the current-value of last time this function got called is different from the current one or toptext or bottomtext changed.
You can also use the returnvalues to draw your own progressbar, e.g. in a gfx.init-window
If you need to calculate a new progressbar, after the former got to 100%, it is wise to call ResetProgressBar, or it might not update the first time you call this function.
Returns false in case of an error
boolean retval |
true, displaying was successful; false, displaying wasn't successful |
string ProgressString |
the progressbar including its full statuses and layout |
integer percentage |
the progression of the progressbar in percent |
integer progress_position |
the current progress-position, relative to length and maximumvalue |
boolean show |
true, show progressbar in the ReaScript-console; false, don't show it there |
integer length |
the length of the progressbar in characters. Minimum is 10. |
integer maximumvalue |
the maximum integer-value, to which to count; minimum 1 |
integer currentvalue |
the current integer-value, at which we are with counting, minimum 0 |
boolean percentage |
true, show percentage in progressbar; false, show only progressbar |
integer offset |
an offset to be added before the progressbar, so you can indent it |
optional string toptext |
an optional string, that shall be displayed above the progressbar |
optional string bottomtext |
an optional string, that shall be displayed below the progressbar |
ultraschall.ResetProgressBar()
ultraschall.BringReaScriptConsoleToFront()
boolean retval = ultraschall.CloseReaScriptConsole()
boolean retval |
true, if there is a mute-point; false, if there isn't one |
string reaper_colorthemes_path = ultraschall.GetReaperColorThemesPath()
string reaper_colorthemes_path |
the path of the color-theme-folder of Reaper |
string reaper_jsfx_path = ultraschall.GetReaperJSFXPath()
string reaper_jsfx_path |
the path of the JSFX-plugin-folder of Reaper |
string reaper_script_path = ultraschall.GetReaperScriptPath()
string reaper_script_path |
the path of the scripts-folder of Reaper |
string reaper_webrc_path, string user_webrc_path = ultraschall.GetReaperWebRCPath()
string reaper_script_path |
the path of the JSFX-plugin-folder of Reaper |
string Character, optional boolean special_modifier, optional boolean shift, optional boolean control, optional boolean alt, optional boolean win, optional boolean opt, optional boolean cmd = ultraschall.CharacterCodes_ReverseLookup(integer byte1, integer byte2, integer byte3, optional integer lang)
string Character |
the character/midi-message associated with this character-code |
optional boolean special_modifier |
true, this is the special modifier(byte1=255); false, regular character/midimessage the special modifier stores multizoom, multirotate, multiswipe, mousewheel, mediakbd-buttons |
optional boolean shift |
true, shift-key is needed; false, shift-key is not needed |
optional boolean control |
true, ctrl-key is needed; false, ctrl-key is not needed |
optional boolean alt |
true, alt-key is needed; false, alt-key is not needed |
optional boolean win |
true, win-key is needed; false, win-key is not needed |
optional boolean opt |
true, opt-key is needed; false, opt-key is not needed - (mac only) |
optional boolean cmd |
true, cmd-key is needed; false, cmd-key is not needed - (mac only) |
integer byte1 |
the first byte of the StuffMIDIMessage, usually stores modifiers |
integer byte2 |
the first byte of the StuffMIDIMessage, usually stores character-codes |
integer byte3 |
the first byte of the StuffMIDIMessage, usually stores additional information |
optional integer lang |
the languagekeymap used. The following list includes the specific keymap supported so they might differ in details. I used the ones supported by Windows 7 nil and 1, englisch(usa) default 2, german 3, arabian(saudi arabia) 4, catalan(spain) 5, greek(greece) 6, french(france) 7, hebrew(israel) 8, icelandic(iceland) 9, italian(italy) 10, japanese(japan) 11, russian(russian federation) 12, turkish(turkey) 13, indonesian(indonesia) 14, hindi(india) 15, punjabi(india) 16, chinese_simplified(china) 17, portuguese(portugal) 18, spanish(spain) |
string Character, optional boolean special_modifier, optional boolean shift, optional boolean control, optional boolean alt, optional boolean win, optional boolean opt, optional boolean cmd = ultraschall.CharacterCodes_ReverseLookup_KBIni(integer byte1, integer byte2, optional integer lang)
string Character |
the character/midi-message associated with this KEY-entry-character-code |
optional boolean special_modifier |
true, this is the special modifier(byte1=255); false, regular character/midimessage the special modifier stores multizoom, multirotate, multiswipe, mousewheel, mediakbd-buttons |
optional boolean shift |
true, shift-key is needed; false, shift-key is not needed |
optional boolean control |
true, ctrl-key is needed; false, ctrl-key is not needed |
optional boolean alt |
true, alt-key is needed; false, alt-key is not needed |
optional boolean win |
true, win-key is needed; false, win-key is not needed |
optional boolean opt |
true, opt-key is needed; false, opt-key is not needed - (mac only) |
optional boolean cmd |
true, cmd-key is needed; false, cmd-key is not needed - (mac only) |
integer byte1 |
the first byte of the kb.ini-KEY-entry, usually stores modifiers |
integer byte2 |
the first byte of the kb.ini-KEY-entry, usually stores character-codes |
optional integer lang |
the languagekeymap used. The following list includes the specific keymap supported so they might differ in details. I used the ones supported by Windows 7 nil and 1, englisch(usa) default 2, german 3, arabian(saudi arabia) 4, catalan(spain) 5, greek(greece) 6, french(france) 7, hebrew(israel) 8, icelandic(iceland) 9, italian(italy) 10, japanese(japan) 11, russian(russian federation) 12, turkish(turkey) 13, indonesian(indonesia) 14, hindi(india) 15, punjabi(india) 16, chinese_simplified(china) 17, portuguese(portugal) 18, spanish(spain) |
integer number_of_shortcuts, table shortcut_attributes = ultraschall.KBIniGetAllShortcuts(optional boolean exclude_factory_default, optional integer lang)
integer number_of_shortcuts |
the number of found shortcuts |
table shortcut_attributes |
a nice and handy table of all shortcut-attributes |
optional boolean exclude_factory_default |
true, will only return the custom shortcuts; false or nil, returns all shortcuts, including factory default ones(usually not stored in kb.ini) |
optional integer lang |
the languagekeymap used. The following list includes the specific keymap supported so they might differ in details. I used the ones supported by Windows 7 nil and 1, englisch(usa) default 2, german 3, arabian(saudi arabia) 4, catalan(spain) 5, greek(greece) 6, french(france) 7, hebrew(israel) 8, icelandic(iceland) 9, italian(italy) 10, japanese(japan) 11, russian(russian federation) 12, turkish(turkey) 13, indonesian(indonesia) 14, hindi(india) 15, punjabi(india) 16, chinese_simplified(china) 17, portuguese(portugal) 18, spanish(spain) |
print(parameter_1 to parameter_n)
replaces Lua's own print-function, that is quite useless in Reaper.
displays \0-characters as .
Converts all parametes given into string using tostring() and displays them in the ReaScript-console, separated by a newline and ending with a newline.
parameter_1 to parameter_n |
the parameters, that you want to have printed out |
print2(parameter_1 to parameter_n)
parameter_1 to parameter_n |
the parameters, that you want to have printed out |
print(parameter_1 to parameter_n)
like print, but puts the parameters into the clipboard.
Converts all parametes given into string using tostring() and puts them into the clipboard, with each parameter separated by two spaces.
Unlike print and print2, this does NOT end with a newline!
Note: \0-characters will be seen as string-termination, so strings may be truncated. Please replace \0 with string.gsub, if you need to have the full string with all nil-values included.
parameter_1 to parameter_n |
the parameters, that you want to have put into the clipboard |
print_alt(parameter_1 to parameter_n)
replaces Lua's own print-function, that is quite useless in Reaper.
shows \0-characters as .
like print, but separates the entries by a two spaced, not a newline
parameter_1 to parameter_n |
the parameters, that you want to have printed out |
print_update(parameter_1 to parameter_n)
replaces Lua's own print-function, that is quite useless in Reaper.
Converts all parametes given into string using tostring() and displays them in the ReaScript-console, separated by two spaces, ending with a newline.
Shows \0-characters as .
This is like print, but clears console everytime before displaying the values. Good for status-display, that shall not scroll.
parameter_1 to parameter_n |
the parameters, that you want to have printed out |
boolean retval = ultraschall.IsItemInTrack(integer tracknumber, integer itemIDX)
boolean retval |
true, if item is in track, false if item isn't in track |
integer itemIDX |
the number of the item to check of |
integer tracknumber |
the number of the track to check in, with 1 for track 1, 2 for track 2, etc. |
boolean retval, integer tracknumber = ultraschall.IsItemInTrack2(MediaItem MediaItem, integer tracknumber)
Checks, whether a MediaItem is in track with tracknumber.
see IsItemInTrack to use itemidx instead of the MediaItem-object. see IsItemInTrack3 to check against multiple tracks at once using a trackstring.
returns nil in case of error
boolean retval |
true, if item is in track; false, if not |
integer tracknumber |
the tracknumber of the track, in which the item lies |
MediaItem MediaItem |
the MediaItem, of which you want to know the track is is placed in |
integer tracknumber |
the tracknumber to check the parent track of the MediaItem against, with 1 for track 1, etc |
boolean retval = ultraschall.IsItemInTrack3(MediaItem MediaItem, string trackstring)
Checks, whether a MediaItem is in any of the tracks, given by trackstring.
see IsItemInTrack to use itemidx instead of the MediaItem-object. see IsItemInTrack2 to check against only one track.
returns nil in case of error
boolean retval |
true, if item is in track; false, if not |
string trackstring |
a string with all tracknumbers, separated by commas; 1 for track 1, 2 for track 2, etc |
MediaItem MediaItem |
the MediaItem, of which you want to know the track is is placed in |
string trackstring |
a string with all tracknumbers, separated by commas; 1 for track 1, 2 for track 2, etc |
boolean is_mac, integer number_of_bits = ultraschall.IsOS_Mac()
boolean is_mac |
true, if the operating-system is mac-osx; false if not |
integer bits |
the number of bits of the operating-system. Either 32 or 64 bit.; nil if is_mac=false |
boolean is_other, integer number_of_bits = ultraschall.IsOS_Other()
boolean is_other |
true, if the operating-system is neither mac or win; false if not |
integer bits |
the number of bits of the operating-system. Either 32 or 64 bit.; nil if is_other=false |
boolean is_windows, integer number_of_bits = ultraschall.IsOS_Windows()
boolean is_windows |
true, if the operating-system is windows; false if not |
integer bits |
the number of bits of the operating-system. Either 32 or 64 bit; nil if is_win==false |
boolean retval, string objecttype = ultraschall.IsObjectValidReaperObject(Reaperobject object)
boolean retval |
true, if it's a valid Reaper-object; false, if not |
string objecttype |
the type of the parameter of object the following types can be returned: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source, None |
Reaperobject object |
a Reaper-object of the following types: ReaProject, MediaTrack, MediaItem, MediaItem_Take, TrackEnvelope, PCM_source returns None if the object isn't a valid Reaper-object |
boolean retval = ultraschall.IsValidGuid(string guid, boolean strict)
boolean retval |
true, guid is/contains a valid guid; false, guid isn't/does not contain a valid guid |
string guid |
the guid to check for validity |
boolean strict |
true, guid must only be the valid guid; false, guid must contain a valid guid somewhere in it(means, can contain trailing or preceding characters) |
boolean retval = ultraschall.IsWithinTimeRange(number point_in_time, number start, number stop)
boolean retval |
true, time is between start and stop; false, it isn't |
number point_in_time |
the time in seconds, to check for |
number start |
the starttime in seconds, within to check for |
number stop |
the endtime in seconds, within to check for |
table ini_entries = ultraschall.ConvertIniStringToTable(string ini_string, boolean convert_numbers_to_numbers)
table ini_entries |
the entries of the ini-file as a table |
string ini_string |
the string that contains an ini-file-contents |
boolean convert_numbers_to_numbers |
true, convert values who are valid numbers to numbers; false or nil, keep all values as strings |
table Two_D_table = ultraschall.Create2DTable(integer maxx, integer maxy, optional anytype defval)
table Two_D_table |
the 2d-table you've created |
integer maxx |
the number of rows in the table(x-dimension) |
integer maxy |
the number of lines in the table(y-dimension) |
optional anytype defval |
the default-value to set in each field, can be any type |
table ThreeD_table = ultraschall.Create3DTable(integer maxx, integer maxy, integer maxz, optional anytype defval)
table ThreeD_table |
the 3d-table you've created |
integer maxx |
the number of rows in the table(x-dimension) |
integer maxy |
the number of lines in the table(y-dimension) |
integer maxz |
the number of depths in the table(z-dimension) |
optional anytype defval |
the default-value to set in each field, can be any type |
table multidimtable = ultraschall.CreateMultiDimTable(optional anytype defval, optional integer dimension1, optional integer dimension2, ... , optional integer dimensionN)
table multidimtable |
the multidimensional-table you've created |
optional anytype defval |
the default-value to set in each field, can be any type; set to nil to keep empty |
integer dimension1 |
the number of entries in the first dimension of the table |
integer dimension2 |
the number of entries in the second dimension of the table |
integer dimensionN |
the number of entries in the n'th dimension of the table |
string functionname, string sourcefilename_with_path, integer linenumber = ultraschall.GetReaperWindow_Position(integer show)
string functionname |
the name of the function, in which Debug_ShowCurrentContext was called |
integer linenumber |
the linenumber, in which Debug_ShowCurrentContext was called |
string sourcefilename_with_path |
the filename, in which Debug_ShowCurrentContext was called |
number timestamp |
precise timestamp to differentiate between two Debug_ShowCurrentContext-calls |
integer show |
0, don't show context; 1, show context as messagebox; 2, show context in console; 3, clear console and show context in console |
number versionnumber, string majorversion, string date, string subversion, string tagline, string buildnumber = ultraschall.GetApiVersion()
number versionnumber |
a number, that you can use for comparisons like, "if requestedversion>versionnumber then" |
string majorversion |
the current Api-major-version |
string date |
the release date of this api-version |
string subversion |
a subversion-number of a major-version |
string tagline |
the tagline of the current release |
string hotfix_date |
the release-date of the currently installed hotfix ($ResourceFolder/ultraschall_api/ultraschall_hotfixes.lua); XX_XXX_XXXX if no hotfix is installed currently |
string buildnumber |
the build-number of the current release |
string operating_system, integer bits = ultraschall.GetOS()
string operating_system |
the operating system used; usually "Win", "Mac" or "Other"(e.g. when Linux is used) |
integer bits |
the number of bits of the operating-system. Either 32 or 64 bit. |
string random_string = ultraschall.GetRandomString()
string random_string |
a random string |
integer majorversion, integer subversion, string bits, string operating_system, boolean portable, optional string betaversion = ultraschall.GetReaperAppVersion()
integer majorversion |
the majorversion of Reaper. Can be used for comparisions like "if version<5 then ... end". |
integer subversion |
the subversion of Reaper. Can be used for comparisions like "if subversion<96 then ... end". |
string bits |
the number of bits of the reaper-app |
string operating_system |
the operating system, either "Win", "OSX" or "Other" |
boolean portable |
true, if it's a portable installation; false, if it isn't a portable installation |
optional string betaversion |
if you use a pre-release of Reaper, this contains the beta-version, like "rc9" or "+dev0423" or "pre6" |
integer suggestions = ultraschall.GetSetIDEAutocompleteSuggestions(boolean is_set, integer value)
integer suggestions |
the number of shown suggestions |
boolean is_set |
true, set a new value; false, get the current one |
integer value |
the new value, must be between 0 and 2147483647; default is 50 |
integer retval = ultraschall.OpenURL(string url)
string url |
the url to be opened in the browser; will check for :// in it for validity! |
ultraschall.PreventCreatingUndoPoint()
string exefile_with_path = ultraschall.ReturnReaperExeFile_With_Path()
string exefile_with_path |
the filename and path of the reaper-executable |
integer retval = ultraschall.ReturnsMinusOneInCaseOfError_Arzala()
integer retval |
returns -1 in case of error |
ultraschall.RunBackgroundHelperFeatures(boolean switch_on)
Deprecated
Starts background-scripts supplied with the Ultraschall-API, like:
boolean switch_on |
true, start the background-scripts/start unstarted background-helper-scripts; false, stop all background-helper-scripts |
number measure = ultraschall.TimeToMeasures(ReaProject project, number Time)
number measure |
the measures, that parameter time needs to be reflected |
ReaProject project |
ReaProject to use the timesignature-settings from |
number time |
in seconds, the time to convert into a time-measurment, which can be used in config-variable "prerollmeas" |
MediaItem MediaItem, MediaItem_Take MediaItem_Take, MediaItem MediaItem_unlocked, boolean Item_moved, number StartDiffTime, number EndDiffTime, number LengthDiffTime, number OffsetDiffTime = ultraschall.get_action_context_MediaItemDiff(optional boolean exlude_mousecursorsize, optional integer x, optional integer y)
MediaItem MediaItem |
the MediaItem at the current mouse-position; nil if not found |
MediaItem_Take MediaItem_Take |
the MediaItem_Take underneath the mouse-cursor |
MediaItem MediaItem_unlocked |
if the MediaItem isn't locked, you'll get a MediaItem here. If it is locked, this retval is nil |
boolean Item_moved |
true, the item was moved; false, only a part(either start or end or offset) of the item was moved |
number StartDiffTime |
if the start of the item changed, this is the difference; positive, the start of the item has been changed towards the end of the project negative, the start of the item has been changed towards the start of the project 0, no changes to the itemstart-position at all |
number EndDiffTime |
if the end of the item changed, this is the difference; positive, the end of the item has been changed towards the end of the project negative, the end of the item has been changed towards the start of the project 0, no changes to the itemend-position at all |
number LengthDiffTime |
if the length of the item changed, this is the difference; positive, the length is longer negative, the length is shorter 0, no changes to the length of the item |
number OffsetDiffTime |
if the offset of the item-take has changed, this is the difference; positive, the offset has been changed towards the start of the project negative, the offset has been changed towards the end of the project 0, no changes to the offset of the item-take Note: this is the offset of the take underneath the mousecursor, which might not be the same size, as the MediaItem itself! So changes to the offset maybe changes within the MediaItem or the start of the MediaItem! This could be important, if you want to affect other items with rippling. |
optional boolean exlude_mousecursorsize |
false or nil, get the item underneath, when it can be affected by the mouse-cursor(dragging etc): when in doubt, use this true, get the item underneath the mousecursor only, when mouse is strictly above the item, which means: this ignores the item when mouse is not above it, even if the mouse could affect the item |
optional integer x |
nil, use the current x-mouseposition; otherwise the x-position in pixels |
optional integer y |
nil, use the current y-mouseposition; otherwise the y-position in pixels |
ultraschall.API_TempPath
ultraschall.Api_InstallPath
ultraschall.Api_Path
ultraschall.Euro
ultraschall.Separator
ultraschall.StartTime
integer number_of_aliases, table aliases = ultraschall.GetHWInputs_Aliasnames()
integer number_of_aliases |
the number of aliases available |
table aliases |
a table, that contains all alias-names and their associated Hardware-Input-channels |
integer number_of_aliases, table aliases = ultraschall.GetHWOutputs_Aliasnames()
integer number_of_aliases |
the number of aliases available |
table aliases |
a table, that contains all alias-names and their associated Hardware-Output-channels |
boolean retval = ultraschall.AutomationItem_Delete(TrackEnvelope env, integer automationitem_idx, optional boolean preservepoints)
boolean retval |
true, deleting was successful; false, deleting was not successful |
TrackEnvelope env |
the TrackEnvelope, in which the automation-item to be deleted is located |
integer automationitem_idx |
the automationitem that shall be deleted; 0, for the first one |
optional boolean preservepoints |
true, keep the envelopepoints and add them to the underlying envelope; nil or false, just delete the AutomationItem |
integer number_of_automationitems, table old_automationitem_selection = ultraschall.AutomationItem_DeselectAllInTrack(TrackEnvelope env)
integer number_of_automationitems |
the number of automation-items that were deselected |
table old_automationitem_selection |
a table with all previous selection-states |
TrackEnvelope env |
the TrackEnvelope, in which the automation-items shall be deselected |
boolean retval = ultraschall.AutomationItem_DeselectAllSelectStates(optional TrackEnvelope omit_envelope)
boolean retval |
true, deselecting was successful; false, deselection was unsuccessful |
optional TrackEnvelope omit_envelope |
the TrackEnvelope, whose automation-items you DON'T want to deselect; nil, to deselect all |
table automationitem_selection = ultraschall.AutomationItem_GetAllSelectStates(optional TrackEnvelope omit_envelope)
table automationitem_selection |
a table with all selection-states of all automation-items in all TrackEnvelopes |
optional TrackEnvelope omit_envelope |
the TrackEnvelope, whose automation-items you DON'T want to get; nil, to get all |
integer number_of_automationitems, table automationitem_selection = ultraschall.AutomationItem_GetSelectStates(TrackEnvelope env)
integer number_of_automationitems |
the number of automation-items in TrackEnvelope |
table automationitem_selection |
a table with all current selection-states of automation-items in TrackEnvelope |
TrackEnvelope env |
the TrackEnvelope, of whose automation-items you want to get the selection state |
boolean retval = ultraschall.AutomationItem_SelectMultiple(TrackEnvelope env, table automationitem_selected_table)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
TrackEnvelope env |
the TrackEnvelope, of whose automation-items you want to get the selection state |
table automationitem_selection |
a table with all the selection-states to set |
boolean retval = ultraschall.AutomationItem_Split(TrackEnvelope Env, number position, integer index, integer selected)
boolean retval |
true, splitting was successful; false, splitting was unsuccessful |
TrackEnvelope Env |
the envelope, whose automation-item you want to split |
number position |
the position in seconds at wich you want to split the automation item |
integer index |
the index of the automation-item, that you want to split |
integer selected |
0, set the newly created automation item unselected 1, set it selected 2, use selection-state of the original automation-item |
integer number_of_automationitems, table AutomationItems_Table = ultraschall.AutomationItems_GetAll()
integer number_of_automationitems |
the number of automation-items found in the current project |
table AutomationItems_Table |
all found automation-items as a handy table(see description for details) |
integer found_automation_items, table automation_item_indices = ultraschall.AutomationItems_GetByTime(TrackEnvelope Env, number position)
integer found_automation_items |
the number of automation-items found; -1, in case of an error |
table automation_item_indices |
the indices of the found automation-items |
TrackEnvelope Env |
the envelope, whose automation-items you want to get |
number position |
the position in seconds from wich you want to get the automation items |
string AutomationItemStateChunk = ultraschall.GetProject_AutomationItemStateChunk(string projectfilename_with_path, integer idx, optional string ProjectStateChunk)
string AutomationItemStateChunk |
the statechunk of the idx'th automation-item |
string projectfilename_with_path |
the projectfile+path, from which to get the automation-item-statechunk; nil to use ProjectStateChunk |
integer idx |
the number of the requested automation-item from the ProjectStateChunk with 1 for the first AutomItem. |
optional string ProjectStateChunk |
a statechunk of a project, usually the contents of a rpp-project-file |
integer automation_items_count = ultraschall.GetProject_CountAutomationItems(string projectfilename_with_path, optional string ProjectStateChunk)
integer automation_items_count |
the number of automation-items |
string projectfilename_with_path |
the projectfile+path, from which to get the automation-item-count; nil to use ProjectStateChunk |
optional string ProjectStateChunk |
a statechunk of a project, usually the contents of a rpp-project-file; only used, when projectfilename_with_path=nil |
boolean retval = ultraschall.BatchConvertFiles(table inputfilelist, table outputfilelist, table RenderTable, optional boolean BWFStart, optional integer PadStart, optional integer PadEnd, optional string FXStateChunk, optional boolean UseRCMetaData)
table inputfilelist |
a table of filenames+path, that shall be converted |
table outputfilelist |
a table of the target filenames+path, where the first filename is the target for the first inputfilename, etc |
table RenderTable |
the settings for the conversion; just use the render-table-functions to create one |
optional boolean BWFStart |
true, include BWF-start; false or nil, don't include BWF-start |
optional integer PadStart |
the start of the padding in seconds; nil, to omit it |
optional integer PadEnd |
the end of the padding in seconds; nil, to omit it |
optional string FXStateChunk |
an FXChain as FXStateChunk; with that you can add fx on top of the to-convert-files. |
optional boolean UseRCMetaData |
true, tries to retain the metadata from the sourcefile; false, doesn't try to retain metadata |
boolean retval |
true, conversion was successfully started; false, conversion didn't start |
boolean retval = ultraschall.GetBatchConverter_NotifyWhenFinished()
boolean retval |
true, notify when finished; false, don't notify when finished |
boolean retval = ultraschall.SetBatchConverter_NotifyWhenFinished()
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string clipboard_string = FromClip()
string clipboard_string |
the string-content from the clipboard |
integer count, array MediaItemStateChunkArray = ultraschall.GetMediaItemsFromClipboard()
integer count |
the number of items in the clipboard |
array MediaItemStatechunkArray |
the mediaitem-statechunks of the items in the clipboard. One entry for each mediaitem-statechunk. |
string clipboard_string = ultraschall.GetStringFromClipboard_SWS()
string clipboard_string |
the content of the clipboard as a string |
boolean retval = ultraschall.PutMediaItemsToClipboard_MediaItemArray(MediaItemArray MediaItemArray)
boolean retval |
true, if successful; false, if not |
MediaItemArray MediaItemArray |
an array with all MediaItems, that shall be put into the clipboard |
ToClip(string toclipstring)
string toclipstring |
the string, which you want to put into the clipboard |
boolean retval = ultraschall.ApplyColorTableToItemColors(array ColorTable, integer Spread, MediaItemArray MediaItemArray)
Apply a ColorTable to MediaItems in a MediaItemArray, to colorize MediaItems
ColorTables can be created by CreateColorTable
returns false in case of an error
boolean retval |
true, adjusting item-colors was successful; false, adjusting item-colors was unsuccessful |
array ColorTable |
the ColorTable to apply to the MediaItemColors |
integer Spread |
0, apply ColorTable once; will return false, if fewer colors are in ColorTable available than items in the MediaItemArray nil or 1, repeat the colors from the ColorTable over and over again over the item; means: if you have 10 items and 5 colors, the colors will fill items 1 to 5 and then again items 6 to 10 2, spread the colors from the ColorTable over all items equally |
MediaItemArray MediaItemArray |
an array with all the MediaItems to colorize |
boolean retval = ultraschall.ApplyColorTableToTrackColors(array ColorTable, integer Spread, integer StartTrack, integer EndTrack)
Apply a ColorTable to Tracks, to colorize MediaTracks
ColorTables can be created by CreateColorTable
returns false in case of an error
boolean retval |
true, adjusting track-colors was successful; false, adjusting track-colors was unsuccessful |
array ColorTable |
the ColorTable to apply to the MediaTrackColors |
integer Spread |
0, apply ColorTable once; will return false, if fewer colors are in ColorTable available than tracks in the project nil or 1, repeat the colors from the ColorTable over and over again over the tracks; means: if you have 10 tracks and 5 colors, the colors will fill track 1 to 5 and then again track 6 to 10 2, spread the colors from the ColorTable over all tracks equally |
integer StartTrack |
the first track to colorize; nil, to use the first track in project |
integer EndTrack |
the last track to colorize; nil, to use the last track in project |
integer red, integer green, integer blue, boolean retval = ultraschall.ChangeColorBrightness(integer r, integer g, integer b, integer bright_r, optional integer bright_g, optional integer bright_b)
integer red |
the new red-value |
integer green |
the new green-value |
integer blue |
the new blue-value |
boolean retval |
true, color-calculation was successful; false, color-calculation was unsuccessful |
integer r |
the red-value to be changed |
integer g |
the green-value to be changed |
integer b |
the blue-value to be changed |
integer bright_r |
the change in brightness for the red-color; positive, brighter; negative, darker |
optional integer bright_g |
the change in brightness for the green-color; positive, brighter; negative, darker; if nil, value in bright_r will be used |
optional integer bright_b |
the change in brightness for the blue-color; positive, brighter; negative, darker; if nil, value in bright_r will be used |
integer red, integer green, integer blue, boolean retval = ultraschall.ChangeColorContrast(integer r, integer g, integer b, integer Minimum_r, optional integer Maximum_r, optional integer Minimum_g, optional integer Maximum_g, optional integer Minimum_b, optional integer Maximum_b)
integer red |
the new red-value |
integer green |
the new green-value |
integer blue |
the new blue-value |
boolean retval |
true, color-calculation was successful; false, color-calculation was unsuccessful |
integer r |
the red-value to be changed |
integer g |
the green-value to be changed |
integer b |
the blue-value to be changed |
integer Minimum_r |
the new minimum brightness of the contrast-range of the red-color |
optional integer Maximum_r |
the new maximum brightness of the contrast-range of the red-color; if nil, it will be seen as 255 |
optional integer Minimum_g |
the new minimum brightness of the contrast-range of the green-color; if nil, it will use the value of Minimum_r |
optional integer Maximum_g |
the new maximum brightness of the contrast-range of the green-color; if nil, it will be seen as 255 |
optional integer Minimum_b |
the new minimum brightness of the contrast-range of the blue-color; if nil, it will use the value of Minimum_r |
optional integer Maximum_b |
the new maximum brightness of the contrast-range of the blue-color; if nil, it will be seen as 255 |
integer red, integer green, integer blue, number median, boolean retval = ultraschall.ChangeColorSaturation(integer r, integer g, integer b, integer delta)
integer red |
the new red-value |
integer green |
the new green-value |
integer blue |
the new blue-value |
number median |
the median-value, calculated from the the old red, green and blue, values (red+green+blue)/3, which is the basis for the brightness of the unsaturated value |
boolean retval |
true, color-calculation was successful; false, color-calculation was unsuccessful |
integer r |
the red-value to be changed |
integer g |
the green-value to be changed |
integer b |
the blue-value to be changed |
integer delta |
the saturation/desaturation-value; negative, desaturates color; positive, saturates color |
integer colorvalue, boolean retval = ultraschall.ConvertColor(integer r, integer g, integer b)
integer colorvalue |
the native-system-color; 0 to 33554431 |
integer r |
the red colorvalue |
integer g |
the green colorvalue |
integer b |
the blue colorvalue |
integer red, integer green, integer blue, boolean retval = ultraschall.ConvertColorFromMac(integer mac_colorvalue)
integer red |
the red-value of the color |
integer green |
the green-value of the color |
integer blue |
the blue-value of the color |
boolean retval |
true, if conversion succeeded; false, if conversion failed |
integer mac_colorvalue |
the Mac-native-colorvalue |
integer red, integer green, integer blue, boolean retval = ultraschall.ConvertColorFromWin(integer win_colorvalue)
integer red |
the red-value of the color |
integer green |
the green-value of the color |
integer blue |
the blue-value of the color |
boolean retval |
true, if conversion succeeded; false, if conversion failed |
integer win_colorvalue |
the Windows/Linux-native-colorvalue |
integer r, integer g, integer b, boolean retval = ultraschall.ConvertColorReverse(integer colorvalue)
integer r |
the red colorvalue |
integer g |
the green colorvalue |
integer b |
the blue colorvalue |
boolean retval |
true, color-conversion was successful; false, color-conversion was unsuccessful |
integer colorvalue |
the native-system-color; 0 to 33554431 |
number r, number g, number b, number a = ultraschall.ConvertColorToGFX(integer r, integer g, integer b, integer a)
number r |
the converted red-value between -1 and +1; nil in case of error |
number g |
the converted green-value between -1 and +1 |
number b |
the converted blue-value between -1 and +1 |
number a |
the converted alpha-value between -1 and +1 |
integer r |
the red-color-value between -255 and +255 |
integer g |
the green-color-value between -255 and +255 |
integer b |
the blue-color-value between -255 and +255 |
integer a |
the alpha-color-value between -255 and +255 |
integer mac_colorvalue, boolean retval = ultraschall.ConvertColorToMac(integer red, integer green, integer blue)
integer mac_colorvalue |
the Mac-native-colorvalue |
boolean retval |
true, if conversion succeeded; false, if conversion failed |
integer red |
the red-value of the color |
integer green |
the green-value of the color |
integer blue |
the blue-value of the color |
integer win_linux_colorvalue, boolean retval = ultraschall.ConvertColorToWin(integer red, integer green, integer blue)
integer win_linux_colorvalue |
the Windows/Linux-native-colorvalue |
boolean retval |
true, if conversion succeeded; false, if conversion failed |
integer red |
the red-value of the color |
integer green |
the green-value of the color |
integer blue |
the blue-value of the color |
integer r, integer g, integer b, integer a = ultraschall.ConvertGFXToColor(number r, number g, number b, number a)
integer r |
the red-color-value between -255 and +255 |
integer g |
the green-color-value between -255 and +255 |
integer b |
the blue-color-value between -255 and +255 |
integer a |
the alpha-color-value between -255 and +255 |
number r |
the converted red-value between -1 and +1; nil in case of error |
number g |
the converted green-value between -1 and +1 |
number b |
the converted blue-value between -1 and +1 |
number a |
the converted alpha-value between -1 and +1 |
array ColorTable = ultraschall.CreateColorTable(integer startr, integer startg, integer startb, integer endr, integer endg, integer endb, integer number_of_steps)
Returns a colortable to be used by color-graphics-functions.
The colorvalue for start and end can be 0 to 255 or the other way round 255 to 0
Can be used by ApplyColorTableToTrackColors
returns nil in case of an error
array ColorTable |
a colortable for the colors with the number of steps of your choice; each indexentry holds entries "r"(0-255), "g"(0-255), "b"(0-255), "nativecolor" and "gfxr"(0-1), "gfxg"(0-1), "gfxb"(0-1). |
integer startr |
start redvalue, between 0 and 255 |
integer startg |
start greenvalue, between 0 and 255 |
integer startb |
start bluevalue, between 0 and 255 |
integer endr |
end redvalue, between 0 and 255 |
integer endg |
end greenvalue, between 0 and 255 |
integer endb |
end bluevalue, between 0 and 255 |
integer number_of_steps |
the number of steps from the lowest to the highest r,g,b-color start/end-values |
array ColorTable = ultraschall.CreateSonicRainboomColorTable()
Returns a colortable in Ultraschall's standard-trackcolor-setting "Sonic Rainboom"-style.
Can be used by ApplyColorTableToTrackColors
array ColorTable |
a colortable with all values for Ultraschall's track-color "Sonic Rainboom" |
boolean retval = ultraschall.IsValidColorTable(array ColorTable)
boolean retval |
true, if it's a valid ColorTable; false, if it's not a valid ColorTable |
array ColorTable |
a table to check for being a valid ColorTable |
integer graycolor = ultraschall.RGB2Grayscale(integer red, integer green, integer blue)
integer graycolor |
the gray color-value, generated from red,blue and green. |
integer red |
red-value between 0 and 255. |
integer green |
red-value between 0 and 255. |
integer blue |
red-value between 0 and 255. |
integer retval = ultraschall.GetSetConfigActionMenu(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, don't show recent actions - unchecked 1, show recent actions - checked |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, don't show recent actions - unchecked 1, show recent actions - checked |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAlwaysAllowKB(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value; 0(don't allow) to 1(allow) |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value; 0 to 1 |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAudioCloseTrackWnds(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, it is allowed(on) - checked 1, it is not allowed(off) - unchecked |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, it is allowed(on) - checked 1, it is not allowed(off) - unchecked |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAllStereoPairs(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, don't show non standard stereo channel pairs(off) - unchecked 1, show non standard stereo channel pairs(on) - checked |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, don't show non standard stereo channel pairs(off) - unchecked 1, show non standard stereo channel pairs(on) - checked |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAudioCloseStop(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAudioThreadPr(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value -1, ASIO Default / MMCSS Pro Audio / Time Critical 0, Normal 1, Above normal 2, Highest 3, Time Critical 4, MMCSS / Time Critical |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value -1, ASIO Default / MMCSS Pro Audio / Time Critical 0, Normal 1, Above normal 2, Highest 3, Time Critical 4, MMCSS / Time Critical |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigApplyFXTail(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value; 0 to 2147483647 |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value; 0 to 2147483647 |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAutoMute(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, No automatic muting 1, Automatically mute master track 2, Automatically mute any track |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, No automatic muting 1, Automatically mute master track 2, Automatically mute any track |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAutoMuteFlags(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, Reset on playback start(on) - checked 1, Reset on playback start(off) - unchecked |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, Reset on playback start(on) - checked 1, Reset on playback start(off) - unchecked |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAutoSaveInt(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0 to 2147483647; in seconds; higher values become negative |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0 to 2147483647 in seconds |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAutoSaveMode(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, when not recording 1, when stopped 2, any time |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, when not recording 1, when stopped 2, any time |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAdjRecLat(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, don't use audio driver reported latency(off) - unchecked 1, don't use audio driver reported latency(on) - checked |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value 0, don't use audio driver reported latency(off) - unchecked 1, don't use audio driver reported latency(on) - checked |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAdjRecManLat(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value; 0 to 2147483647; in samples |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value; 0 to 2147483647; in samples |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAdjRecManLatIn(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAcidImport(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value -1, an error occured 0, Adjust media to project tempo 1, Import media at source tempo 2, Always prompt when importing media with embedded tempo |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the current/new setting-value -1, an error occured 0, Adjust media to project tempo 1, Import media at source tempo 2, Always prompt when importing media with embedded tempo |
boolean persist |
true, this setting will be kept after restart of Reaper; false, setting will be lost after exiting Reaper |
integer retval = ultraschall.GetSetConfigAfxCfg(boolean set, integer setting, boolean persist)
integer retval |
the current/newly set audioformat 0, not set yet 1179012432, Video (ffmpeg/libav encoder) 1195984416, Video (GIF) 1279477280, Video (LCF) 1332176723, OGG Opus 1634297446, AIFF 1684303904, DDP 1718378851, FLAC 1769172768, Audio CD Image(CUE/BIN format) 1836069740, MP3 (encoder by LAME project) 1869047670, OGG Vorbis 2002876005, WAV 2004250731, WavPack lossless compressor |
boolean set |
true, set a new value; false, return the current value |
integer setting |
the new set audioformat 1179012432, Video (ffmpeg/libav encoder) 1195984416, Video (GIF) 1279477280, Video (LCF) 1332176723, OGG Opus 1634297446, AIFF 1684303904, DDP 1718378851, FLAC 1769172768, Audio CD Image(CUE/BIN format) 1836069740, MP3 (encoder by LAME project) 1869047670, OGG Vorbis 2002876005, WAV 2004250731, WavPack lossless compressor |
boolean persist |
true, this setting will be standard-setting for new projects after restart of Reaper; false, setting will be lost after exiting Reaper |
boolean start_new_files, boolean offset_file_switches, integer max_rec_size = ultraschall.GetStartNewFileRecSizeState()
boolean start_new_files |
true, Reaper starts a new file, when a recorded file reaches max_rec_size; false, files are as long until recording stops |
boolean offset_file_switches |
true, When recording multiple tracks, offset file switches for better performance; false, don't offset file-switches |
integer max_rec_size |
the maximum length of a recorded file in MegaBytes, before Reaper shall start a new file; only applied when When recording multiple tracks, offset file switches for better performance=true |
boolean retval = ultraschall.SetStartNewFileRecSizeState(boolean start_new_files, boolean offset_file_switches, integer maxrecsize, boolean persist)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
boolean start_new_files |
true, Reaper starts a new file, when a recorded file reaches max_rec_size; false, files are as long until recording stops |
boolean offset_file_switches |
true, When recording multiple tracks, offset file switches for better performance; false, don't offset file-switches |
integer max_rec_size |
the maximum length of a recorded file in MegaBytes, before Reaper shall start a new file; only applied when When recording multiple tracks, offset file switches for better performance=true |
boolean persist |
true, set the setting to reaper.ini so it persists after restarting Reaper; false, set it only for the time, until Reaper is restarted |
integer retval = ultraschall.GetSetConfigAudioPrShift(boolean set, integer setting, boolean persist)
integer retval |
the current/new setting-value 0, don't preserve pitch - unchecked 1, preserve pitch - checked |
boolean set |
true, set a new value; false, return the current value 0, don't preserve pitch - unchecked 1, preserve pitch - checked |
integer setting |
the current/new setting-value |
boolean persist |
true, this setting will be kept for new projects, but only after restart of Reaper; false, old standard-project-setting will be kept |
integer keyscount = ultraschall.CountIniFileExternalState_key(string section, string ini_filename_with_path)
integer keyscount |
number of keys with section within an ini-configuration-file |
string section |
the section within the ini-filename |
string ini_filename_with_path |
filename of the ini-file |
integer sectioncount = ultraschall.CountIniFileExternalState_sec(string ini_filename_with_path)
integer sectioncount |
number of sections within an ini-configuration-file |
string ini_filename_with_path |
filename of the ini-file |
integer number_of_keys, string sections_and_keys = ultraschall.CountKeysByPattern(string pattern, string ini_filename_with_path)
integer number_of_keys |
the number of keys, that fit the pattern |
string sections_and_keys |
a string, like: [section1],Key1=,Key2=,Key3=[section2],Key7= |
string pattern |
the pattern itself. Case sensitive. |
string ini_filename_with_path |
filename of the ini-file |
integer number_of_sections, string sectionnames = ultraschall.CountSectionsByPattern(string pattern, string ini_filename_with_path)
integer number_of_sections |
the number of sections, that fit the pattern |
string sectionnames |
a string, like: [section1],[section8],[section99] |
string pattern |
the pattern itself. Case sensitive. |
string ini_filename_with_path |
filename of the ini-file |
integer number_of_values, string sections_and_keys = ultraschall.CountValuesByPattern(string pattern, string ini_filename_with_path)
integer number_of_values |
the number of values, that fit the pattern |
string sections_keys_values |
a string, like: [section1],key1=,value,key4=,value,[section4],key2=,value |
string pattern |
the pattern itself. Case sensitive. |
string ini_filename_with_path |
filename of the ini-file |
string keyname = ultraschall.EnumerateIniFileExternalState_key(string section, integer number, string ini_filename_with_path)
string keyname |
the name of the numberth key within section in the ini-file |
string section |
the name of the section |
integer number |
the number of the key within a section within the ini-filename, with 1 for the first key in the section |
string ini_filename_with_path |
filename of the ini-file |
string sectionname = ultraschall.EnumerateIniFileExternalState_sec(integer number_of_section, string ini_filename_with_path)
string sectionname |
the name of the numberth section in the ini-file |
integer number_of_section |
the section within the ini-filename; 1, for the first section |
string ini_filename_with_path |
filename of the ini-file |
string keyname = ultraschall.EnumerateKeysByPattern(string pattern, string section, integer id, string ini_filename_with_path)
string keyname |
a string, that contains the keyname |
string pattern |
the pattern itself. Case sensitive. |
string section |
the section, in which to look for the key |
integer id |
the number of key, that contains pattern |
string ini_filename_with_path |
filename of the ini-file |
string sectionname = ultraschall.EnumerateSectionsByPattern(string pattern, integer id, string ini_filename_with_path)
string sectionname |
a string, that contains the sectionname |
string pattern |
the pattern itself. Case sensitive. |
integer id |
the number of section, that contains pattern |
string ini_filename_with_path |
filename of the ini-file |
string value, string keyname = ultraschall.EnumerateValuesByPattern(string pattern, string section, string id, string ini_filename_with_path)
string value |
the value that contains the pattern |
string keyname |
a string, that contains the keyname |
string pattern |
the pattern itself. Case sensitive. |
string section |
the section, in which to look for the key |
integer id |
the number of key, that contains pattern |
string ini_filename_with_path |
filename of the ini-file |
string value = ultraschall.GetIniFileExternalState(string section, string key, string ini_filename_with_path)
integer entrylength |
the length of the returned value |
string value |
the value stored in a section->key in a configuration-file |
string section |
section of the external state |
string key |
key of the external state. No = allowed! |
string filename_with_path |
filename of the ini-file |
integer length_of_value, string value = ultraschall.GetIniFileValue(string section, string key, string errval, string inifile)
integer length_of_value |
the length of the value in bytes |
string value |
the value from the key-value-pair |
string section |
the section, in which the key-value-pair is located |
string key |
the key whose value you want |
string errval |
an errorvalue, which will be shown, if key-value-store doesn't exist |
string inifile |
the ini-file, from which you want to retrieve the key-value-store |
boolean retval = ultraschall.SetIniFileExternalState(string section, string key, string value, string ini_filename_with_path)
boolean retval |
true, if setting the state was successful; false, if setting was unsuccessful |
string section |
section of the external state. No = allowed! |
string key |
key of the external state. No = allowed! |
string value |
value for the key |
string filename_with_path |
filename of the ini-file |
integer retval = ultraschall.SetIniFileValue(string section, string key, string value, string inifile)
integer retval |
-1, in case of an error; 1, in case of success |
string section |
the section, in which the key-value-pair is located |
string key |
the key whose value you want to change |
string value |
the new value for this key-value-pair |
string inifile |
the ini-file, in which you want to set the key-value-store |
integer actions = ultraschall.CountKBIniActions(string filename_with_path)
integer actions |
number of actions in the reaper-kb.ini |
integer keys = ultraschall.CountKBIniKeys(string filename_with_path)
integer keys |
number of keys in the reaper-kb.ini |
integer scripts = ultraschall.CountKBIniScripts(string filename_with_path)
integer scripts |
number of scripts in the reaper-kb.ini |
boolean retval = ultraschall.DeleteKBIniActions(string filename_with_path, integer idx)
boolean retval |
true, if deleting worked, false if it didn't |
string filename_with_path |
filename with path for the reaper-kb.ini |
integer idx |
indexnumber of the action within the reaper-kb.ini |
boolean retval = ultraschall.DeleteKBIniKeys(string filename_with_path, integer idx)
boolean retval |
true, if deleting worked, false if it didn't |
string filename_with_path |
filename with path for the reaper-kb.ini |
integer idx |
indexnumber of the keybinding within the reaper-kb.ini |
boolean retval = ultraschall.DeleteKBIniScripts(string filename_with_path, integer idx)
boolean retval |
true, if deleting worked, false if it didn't |
string filename_with_path |
filename with path for the reaper-kb.ini |
integer idx |
indexnumber of the script within the reaper-kb.ini |
string ActionCommandID = ultraschall.GetActionCommandIDByFilename(string searchfilename, integer searchsection, optional boolean case_sensitive)
string ActionCommandID |
the actioncommand-id of the scriptfile; "", if no such file is installed; nil, in case of an error |
string searchfilename |
the filename(plus path, if needed) of the script, whose ActionCommandID you want to have. |
integer section |
the section, in which the file is stored 0, Main, 100, Main (alt recording), 32060, MIDI Editor, 32061, MIDI Event List Editor, 32062, MIDI Inline Editor, 32063, Media Explorer. |
optional boolean case_sensitive |
true or nil, search for filename on a case-sensitive base; false, case-sensitivity in filename is ignored |
integer consolidate, integer section, string ActionCommandID, string description, string ActionsToBeExecuted = ultraschall.GetKBIniActions(string filename_with_path, integer idx)
integer consolidate |
consolidate-state 1 consolidate undo points, 2 show in Actions-Menu, 3 consolidate undo points AND show in Actions Menu; maybe 4 and higher? |
integer section |
the section, in which this action is executed 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string ActionCommandID |
the ActionCommandID given to this Action |
string description |
the description of this action |
string ActionsToBeExecuted |
the actions that are run, the ActionCommandIDs beginning with _, multiple ActionCommandIDs are separated by whitespaces |
string filename_with_path |
path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini |
integer idx |
the number of the action to get, beginning with 1 for the first one |
string retval, integer indexcount, table indices = ultraschall.GetKBIniActionsID_ByActionCommandID(filename_with_path, ActionCommandID)
string retval |
the ids of actions with ActionCommandID, separated by a , |
integer indexcount |
the number of indices found |
table indices |
a table with all indices found |
string filename_with_path |
path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini |
string ActionCommandID |
the ActionCommandID |
string kb_ini_path = ultraschall.GetKBIniFilepath()
string kb_ini_path |
path and filename of the reaper-kb.ini |
integer keytype_modifier_midichan, integer key_midinote, string ActionCommandID, integer section = ultraschall.GetKBIniKeys(string filename_with_path, integer idx)
integer keytype_modifier_midichan |
Type of Keytype, modifier or midichannel For a detailed description in how keytype/modifier in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini. |
integer key_midinote |
the key(like ASCII-Codes) or midinote. For a detailed description in how key/midinotes in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini. |
string ActionCommandID |
the ActionCommandID associated with this shortcut. |
integer section |
the section, in which this shortcut is used 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string filename_with_path |
path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini |
integer idx |
the number of the action to get, beginning with 1 for the first one |
string retval, integer indexcount, table indices = ultraschall.GetKBIniKeys_ByActionCommandID(filename_with_path, ActionCommandID)
string retval |
the ids of keys with ActionCommandID, separated by a , |
integer indexcount |
the number of indices found |
table indices |
a table with all indices found |
string filename_with_path |
path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini |
string ActionCommandID |
the ActionCommandID |
integer terminateinstance, integer section, string ActionCommandID, string description, string scriptfile = ultraschall.GetKBIniScripts(string filename_with_path, integer idx)
integer terminateinstance |
the state of terminating instances 4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running 260 - always Terminate Instances, when an instance of the script is already running 516 - always start a New Instance of the script already running |
integer section |
the section, in which this action is executed 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string ActionCommandID |
the ActionCommandID given to this Action |
string description |
the description of this action |
string scriptfile |
the filename of the script that shall be run |
string filename_with_path |
path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini |
integer idx |
the number of the action to get, beginning with 1 for the first one |
string retval, integer indexcount, table indices = ultraschall.GetKBIniScripts_ByActionCommandID(filename_with_path, ActionCommandID)
string retval |
the ids of scripts with ActionCommandID, separated by a , |
integer indexcount |
the number of indices found |
table indices |
a table with all indices found |
string filename_with_path |
path and filename of the reaper-kb.ini; nil, use current Reaper's reaper-kb.ini |
string ActionCommandID |
the ActionCommandID |
string Shortcutname = ultraschall.QueryKeyboardShortcutByKeyID(integer modifier, integer key)
string Shortcutname |
the actual name of the shortcut, like "A" or "F1" or "Ctrl+Alt+Shift+Win+PgUp". |
integer modifier |
the modifier value, which is the first one after KEY in a KEY-entry in the reaper-kb.ini-file |
integer key |
the key value, which is the second one after KEY in a KEY-entry in the reaper-kb.ini-file |
boolean retval, integer actionnumber = ultraschall.SetKBIniActions(string filename_with_path, integer consolidate, integer section, string ActionCommandID, string Description, string ActionCommandIDs, boolean replace)
boolean retval |
true, if adding/setting worked, false if it didn't |
integer actionnumber |
the entrynumber within the reaper-kb.ini of this action |
string filename_with_path |
filename with path for the reaper-kb.ini |
integer consolidate |
consolidation state of this action 1 consolidate undo points, 2 show in Actions-Menu, 3 consolidate undo points AND show in Actions Menu; maybe 4 and higher? |
integer section |
section, in which this action is started 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string ActionCommandID |
the ActionCommandID of this action |
string Description |
a description for this action |
string ActionCommandIDs |
the ActionCommandIDs for the actions, that are triggered by this action; unlike CommandID-numbers, every ActionCommandID must begin with _ ; will not be checked vor valid ones! |
boolean replace |
true if an already existing entry shall be replaced, false if not |
boolean retval, integer keynumber = ultraschall.SetKBIniKeys(string filename_with_path, integer keytype_modifier_midichan, integer key_midinote, string ActionCommandID, integer section, boolean replace)
boolean retval |
true, if adding/setting worked, false if it didn't |
integer scriptnumber |
the entrynumber within the reaper-kb.ini of this script |
string filename_with_path |
filename with path for the reaper-kb.ini |
integer keytype_modifier_midichan |
Type of Keytype, modifier or midichannel For a detailed description in how keytype/modifier in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini. |
integer key_midinote |
the key(like ASCII-Codes) or midinote. For a detailed description in how key/midinotes in KEY-entries work, refer to Reaper-Filetype-Descriptions.html#Reaper-kb.ini. |
string ActionCommandID |
the ActionCommandID associated with this shortcut. |
integer section |
the section, in which this shortcut is used 0 - Main 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
boolean replace |
true if an already existing entry shall be replaced, false if not |
boolean retval, integer scriptnumber = ultraschall.SetKBIniScripts(string filename_with_path, integer terminate, integer section, string ActionCommandID, string Description, string Scriptname, boolean replace)
boolean retval |
true, if adding/setting worked, false if it didn't |
integer scriptnumber |
the entrynumber within the reaper-kb.ini of this script |
string filename_with_path |
filename with path for the reaper-kb.ini |
integer terminate_state |
state of handling mulitple running scripts 4 - Dialogwindow appears(Terminate, New Instance, Abort), if another instance of a given script is started, that's already running 260 - always Terminate Instances, when an instance of the script is already running 516 - always start a New Instance of the script already running |
integer section |
section, in which this script is started 0 - Main 1 - action stays invisible but is kept, if Reaper rewrites the reaper-kb.ini. Menu-buttons with this action associated appear but don't work. 100 - Main (alt recording) 32060 - MIDI Editor 32061 - MIDI Event List Editor 32062 - MIDI Inline Editor 32063 - Media Explorer |
string ActionCommandID |
the ActionCommandID of this action |
string Description |
a description for this script |
string Scriptname |
the name of the ReaScript, like .lua or .eel or .py |
boolean replace |
true if an already existing entry shall be replaced, false if not |
boolean retval, optional string defer_identifier = ultraschall.Defer(function func, string deferidentifier, optional integer mode, optional number timer_counter, optional boolean protected)
runs a custom-defer-cycle, which can be individualized.
You can set, how often this defer-cycle shall be run(every x defer-cycle or every x seconds) and even stop the defer-cycle from in- and outside of the script, using the defer_identifier you have given.
To stop such a defer-cycle, use StopDeferCycle, as long as parameter protected is not set to true! Important: make the deferidentifier as unique as possible(using guids or similar stuff) to avoid naming conflicts with other defer-cycles using the same identifier. Otherwise, you risk stopping multiple such defer-loops, when using StopDeferCycle!
For the old Defer1 to Defer20-behavior, try ultraschall.ScriptIdentifier..".defer_scriptXX" as defer-identifier, where XX is a number.
returns false in case of an error (e.g. already 1024 defer-cycles are running in the current script-instance)
boolean retval |
true, running this defer-cycle was successful; false, it wasn't successful |
optional string defer_identifier |
if running this defer-cycle was successful, this holds the defer-identifier you've chosen |
function func |
the function, you would love to defer to |
string deferidentifier |
an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts! |
optional integer mode |
0 or nil, just run as regular defer-cycle 1, run the defer-cycle only every timer_counter-cycle 2, run the defer-cycle only every timer_counter-seconds |
optional number timer_counter |
the timer for the defer-cycle mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle. 30 cycles are approximately 1 second. mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time. |
optional boolean protected |
true, this defer-cycle is protected from being stopped by StopDeferCycle(); false or nil, you can stop this defer-cycle using StopDeferCycle() |
integer mode, integer timer_counter = ultraschall.GetDeferCycleSettings(string deferidentifier)
integer mode |
the timing mode, in which the defer-cycle runs 0, just run as regular defer-cycle 1, run the defer-cycle only every timer_counter-cycle 2, run the defer-cycle only every timer_counter-seconds |
number timer_counter |
the timer for the defer-cycle mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle. 30 cycles are approximately 1 second. mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time. |
string deferidentifier |
an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts! |
boolean retval = ultraschall.GetDeferRunState(integer deferinstance, optional string scriptidentifier)
returns the run-state of a Ultraschall-defer-loop in a specific scriptinstance
You can either request the runstate of a Defer-deferred-function(set parameter deferinstance to 0).
returns nil in case of an error.
boolean retval |
true, defer-instance is running; false, defer-instance isn't running |
integer deferinstance |
0, to use the parameter identifier |
optional string identifier |
when deferinstance=0 (when using the Defer-function): the identifier of the defer-cycle, you've started with Defer |
boolean retval = ultraschall.SetDeferCycleSettings(string deferidentifier, optional integer mode, optional number timer_counter)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string deferidentifier |
an identifier, under which you can access this defer-cycle; make it unique using guids in the name, to avoid name-conflicts! |
optional integer mode |
the timing mode, in which the defer-cycle runs nil, reset to the default-settings of the Defer-Cycle 0, just run as regular defer-cycle 1, run the defer-cycle only every timer_counter-cycle 2, run the defer-cycle only every timer_counter-seconds |
optional number timer_counter |
the timer for the defer-cycle mode=1: 1 and higher, the next defer-cycle that shall be used by function func. Use 1 for every cycle, 2 for every second cycle. 30 cycles are approximately 1 second. mode=2: 0 and higher, the amount of seconds to wait, until the function func is run the next time. |
boolean retval = ultraschall.StopDeferCycle(string defer_identifier)
boolean retval |
true, stopping this defer-cycle was successful; false, it wasn't successful |
string defer_identifier |
the identifier of the defer-cycle of a script-instance |
boolean retval, integer errorcount = ultraschall.AddErrorMessage(string functionname, string parametername, string errormessage, integer errorcode)
boolean retval |
true, if it worked; false if it didn't |
integer errorcount |
the number of the errormessage within the Ultraschall-Api-Error-messagesystem; nil, if errormessages are suppressed currently |
string functionname |
the function, where the error happened |
string parametername |
the parameter, that caused the problem |
string errormessage |
a longer description of what cause the problem and a hint to a possible solution |
integer errorcode |
a number, that represents the error-message. Will be -1 by default, if not given. |
integer number_of_errormessages = ultraschall.CountErrorMessage_Funcname(string functionname)
integer number_of_errormessages |
the number of errormessages functionname has left in the Error-Messaging-System |
string functionname |
the name of the function, whose error messages you want to count |
integer errorcounter = ultraschall.CountErrorMessages()
integer errorcounter |
the number of errormessages currently available in the error-message-system. Includes read and unread ones. |
boolean retval = DAEM()
boolean retval |
true, if it worked; false if it didn't |
boolean retval = ultraschall.DeleteAllErrorMessages()
boolean retval |
true, if it worked; false if it didn't |
boolean retval = ultraschall.DeleteErrorMessage(integer errornumber)
boolean retval |
true, if such an error exists; false if it didn't |
integer errornumber |
the number of the error to delete, beginning with 1. Use CountErrorMessages to get the current number of error-messages. |
boolean retval = ultraschall.DeleteLastErrorMessage()
boolean retval |
true, if it worked; false if it didn't |
integer errorindex, string parametername, string errormessage, integer errorcode = ultraschall.GetErrorMessage_Funcname(string functionname, integer index)
integer errorindex |
the index of the error within the Error-Messaging-System |
string parametername |
the parameter that produced the problem, or "" if no parameter was involved |
string errormessage |
the errormessage |
integer errorcode |
the errorcode the error has |
string functionname |
the name of the function, whose last error message you want to retrieve |
integer index |
the index of the error-message for functionname |
boolean retval, integer errcode, string functionname, string parmname, string errormessage, string lastreadtime, string err_creation_date, string err_creation_timestamp, integer errorcounter, string context_function, string context_sourcefile, string context_sourceline = ultraschall.GetLastErrorMessage()
boolean retval |
true, if it worked; false if it didn't |
integer errcode |
the errorcode of this message, as set by the function that created this errormessage; -1 is default value |
string functionname |
the name of the function, where the problem happened |
string parmname |
the parameter, that was used wrong by the programmer; "" if no parameter was involved in this error |
string errormessage |
the message of the problem with a possible hint to a solution |
string readstatus |
"unread" if the message hasn't been read yet or a date_time from when the message has been read already |
string err_creation_date |
the date_time of when the error-message was created |
string err_creation_timestamp |
the timestamp of when the error-message was created. Usually seconds, since system got started |
integer errorcounter |
the error-message-number within the Ultraschall-Error-Message-System |
string context_function |
the function, in which AddErrorMessage was called |
string context_sourcefile |
the sourcefile, in which AddErrorMessage was called |
string context_sourceline |
the line in the sourcefile, in which AddErrorMessage was called |
integer errornumber |
the number of the error, beginning with 1. Use CountErrorMessages to get the current number of error-messages. |
boolean retval, array ErrorMessages = ultraschall.GetLastErrorMessage2(integer count, boolean setread)
boolean retval |
true, if it worked; false if it didn't |
array ErrorMessages |
an array, that contains all values for the chosen number of errormessages. The fields are ErrorMessages[errornumber][x], where x stands for "errcode" - the errorcode of this function, default is -1 "funcname" - functionname "parmname" - name of the parameter, that caused the error "errmsg" - errormessage "readstate" - readstatus "date" - errorcreation date_time "time" - errorcreation timestamp in seconds, usually seconds since computer has been started |
integer count |
the number of the last few errors, you want to get returned. Use CountErrorMessages to get the current number of error-messages. |
integer errorindex, string parametername, string errormessage, integer errorcode = ultraschall.GetLastErrorMessage_Funcname(string functionname)
integer errorindex |
the index of the error within the Error-Messaging-System |
string parametername |
the parameter that produced the problem, or "" if no parameter was involved |
string errormessage |
the errormessage |
integer errorcode |
the errorcode the error has |
string functionname |
the name of the function, whose last error message you want to retrieve |
boolean retval, integer errcode, string functionname, string parmname, string errormessage, string lastreadtime, string err_creation_date, string err_creation_timestamp, string context_function, string context_sourcefile, string context_sourceline = ultraschall.ReadErrorMessage(integer errornumber, optional boolean keep_unread)
boolean retval |
true, if it worked; false if it didn't |
integer errcode |
the errorcode of this message, as set by the function that created this errormessage; -1 is default value |
string functionname |
the name of the function, where the problem happened |
string parmname |
the parameter, that was used wrong by the programmer; "" if no parameter was involved in this error |
string errormessage |
the message of the problem with a possible hint to a solution |
string readstatus |
"unread" if the message hasn't been read yet or a date_time from when the message has been read already |
string err_creation_date |
the date_time of when the error-message was created |
string err_creation_timestamp |
the timestamp of when the error-message was created. Usually seconds, since system got started |
string context_function |
the function, in which AddErrorMessage was called |
string context_sourcefile |
the sourcefile, in which AddErrorMessage was called |
string context_sourceline |
the line in the sourcefile, in which AddErrorMessage was called |
integer errornumber |
the number of the error, beginning with 1. Use CountErrorMessages to get the current number of error-messages. |
optional boolean keep_unread |
true, keeps the message unread; false or nil, sets the readstate of the message |
requested_error_message = SFEM(optional integer dunk, optional integer target, optional integer message_type)
requested_error_message |
the errormessage requested; |
optional integer dunk |
allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc. |
optional integer target |
the target, where the error-message shall be output to 0 or nil, target is a message box 1, target is the ReaScript-Console 2, target is the clipboard 3, target is a returned string |
optional integer message_type |
if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue nil or 1, returns true, if error has happened, false, if error didn't happen 2, returns the errcode 3, returns the functionname which caused the error 4, returns the parmname which caused the error 5, returns the errormessage 6, returns the lastreadtime 7, returns the err_creation_date 8, returns the err_creation_timestamp |
requested_error_message = SLEM(optional integer dunk, optional integer target, optional integer message_type)
requested_error_message |
the errormessage requested; |
optional integer dunk |
allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc. |
optional integer target |
the target, where the error-message shall be output to 0 or nil, target is a message box 1, target is the ReaScript-Console 2, target is the clipboard 3, target is a returned string |
optional integer message_type |
if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue nil or 1, returns true, if error has happened, false, if error didn't happen 2, returns the errcode 3, returns the functionname which caused the error 4, returns the parmname which caused the error 5, returns the errormessage 6, returns the lastreadtime 7, returns the err_creation_date 8, returns the err_creation_timestamp |
ultraschall.ShowErrorMessagesInReascriptConsole(boolean state)
boolean state |
true, show error-messages in the ReaScript-Console when they happen; false, don't show errormessages |
requested_error_message = ultraschall.ShowLastErrorMessage(optional integer dunk, optional integer target, optional integer message_type)
requested_error_message |
the errormessage requested; |
optional integer dunk |
allows to index the last x'ish message to be returned; nil or 0, the last one; 1, the one before the last one, etc. |
optional integer target |
the target, where the error-message shall be output to 0 or nil, target is a message box 1, target is the ReaScript-Console 2, target is the clipboard 3, target is a returned string |
optional integer message_type |
if target is set to 3, you can set, which part of the error-messageshall be returned as returnvalue nil or 1, returns true, if error has happened, false, if error didn't happen 2, returns the errcode 3, returns the functionname which caused the error 4, returns the parmname which caused the error 5, returns the errormessage 6, returns the lastreadtime 7, returns the err_creation_date 8, returns the err_creation_timestamp |
boolean retval = ultraschall.SuppressErrorMessages(boolean flag)
boolean retval |
true, setting was successful; false, you didn't pass a boolean as parameter |
boolean flag |
true, suppress error-messages; false, don't suppress error-messages |
boolean retval = ultraschall.ToggleIDE_Errormessages(optional boolean togglevalue)
boolean retval |
true, if errors will be shown at the bottom of the IDE; false, if not |
optional boolean togglevalue |
true, if errormessages shall be shown at the bottom of the IDE, false if not. If omitted, it toggles what was set before. |
boolean retval = ultraschall.APIExists(string functionname)
boolean retval |
true, if element exists; false if it doesn't exist |
string functionname |
the name of the function to check for; only the functionname without ultraschall. ! |
ultraschall.ApiTest()
boolean retval, optional command_id, boolean created_new_script = ultraschall.EditReaScript(optional string filename, optional boolean add_ultraschall_api, optional integer add_to_actionlist_section, optional integer x_pos, optional integer y_pos, optional integer width, optional integer height, optional integer showstate, optional integer watchlist_size, optional integer watchlist_size_row1, optional integer watchlist_size_row2, optional string default_script_content)
boolean retval |
true, opening was successful; false, opening was unsuccessful |
optional integer command_id |
the command-id of the script, when it gets newly created; nil, if script wasn't added |
boolean created_new_script |
true, a new script had been created; false, the script already existed |
optional string filename |
the filename of the new reascript-file to create(add .lua or .py or .eel to select the language). nil, opens the last ReaScript-file you opened with this function |
optional boolean add_ultraschall_api |
true, add Ultraschall-API-call into the script(only in newly created ones!); false or nil, just open a blank script |
optional integer add_to_actionlist_section |
the section, into which you want to add the script nil, don't add, only open the script in IDE 0, Main 100, Main (alt recording) Note: If you already added to main(section 0), this function automatically adds the script to Main(alt) as well. 32060, MIDI Editor 32061, MIDI Event List Editor 32062, MIDI Inline Editor 32063, Media Explorer |
optional integer x_pos |
x-position of the ide-window in pixels; nil, use the last one used |
optional integer y_pos |
y-position of the ide-window in pixels; nil, use the last one used |
optional integer width |
width of the ide-window in pixels; nil, use the last one used |
optional integer height |
height of the ide-window in pixels; nil, use the last one used |
optional boolean showstate |
nil, use last used settings 0, show regularly 1, dock the window |
optional integer watchlist_size |
sets the size of the watchlist, from 80 to screenwidth-80 |
optional integer watchlist_size_row1 |
sets the size of the Name-row in the watchlist |
optional integer watchlist_size_row2 |
sets the size of the Value-row in the watchlist |
optional string default_script_content |
a string that shall be added to the beginning of the new script, when a script is newly created |
... = RFR(integer length, ...)
various ... |
the requested first-n returnvalues |
integer length |
the number of the first return-values to return |
various ... |
further parameters, which can be multiple values or just the return-values of another function. |
... = RLR(integer length, ...)
various ... |
the requested last-n returnvalues |
integer length |
the number of the last return-values to return |
various ... |
further parameters, which can be multiple values or just the return-values of another function. |
... = RRR(integer position, integer length, ...)
various ... |
the requested n returnvalues between position and length+position |
integer position |
the first return-value to return |
integer length |
the number of return-values to return(position+length) |
various ... |
further parameters, which can be multiple values or just the return-values of another function. |
integer number_of_takeenvelopes, table TakeEnvelopes_Table = ultraschall.GetAllTakeEnvelopes()
integer number_of_takeenvelopes |
the number of TakeEnvelopes found in the current project |
table TakeEnvelopes_Table |
all found TakeEnvelopes as a handy table(see description for details) |
array TrackEnvelopeArray, integer number_of_tracks, integer FirstEnvelopeTrackNumber, integer FirstEnvelopeMaster = ultraschall.GetAllTrackEnvelopes()
array TrackEnvelopeArray |
a table with all envelopes of the current project the table works as follows: TrackEnvelopeArray[Tracknumber][0] - number of envelopes for track Tracknumber TrackEnvelopeArray[Tracknumber][1][Envelopenumber] - the envelope Envelopenumber of track Tracknumber tracknumber of 0 is for the master track |
integer number_of_tracks |
the number of tracks, covered in the TrackEnvelopeArray |
integer FirstEnvelopeTrackNumber |
the number of the first track to have an envelope; -1 if theres none |
integer FirstEnvelopeMaster |
0, if the master-track has an envelope, -1 if not. |
TakeEnvelope env, MediaItem_Take take, number projectposition = ultraschall.GetTakeEnvelopeFromPoint(integer x, integer y)
TakeEnvelope env |
the take-envelope found unterneath the mouse; nil, if none has been found |
MediaItem_Take take |
the take from which the take-envelope is |
number projectposition |
the project-position |
integer x |
the x-position in pixels, at which to look for envelopes |
integer y |
the y-position in pixels, at which to look for envelopes |
TakeEnvelope env, MediaItem_Take take, number projectposition = ultraschall.GetTakeEnvelopeUnderMouseCursor()
TakeEnvelope env |
the take-envelope found unterneath the mouse; nil, if none has been found |
MediaItem_Take take |
the take from which the take-envelope is |
number projectposition |
the project-position |
boolean retval = ultraschall.IsAnyMuteEnvelopeVisible(string name)
boolean retval |
true, there are visible mute-envelopes in the project; false, no mute-envelope visible |
string name |
the name of the envelope; case-sensitive, just take the one displayed in the envelope-lane Standard-Envelopes are: "Volume (Pre-FX)", "Pan (Pre-FX)", "Width (Pre-FX)", "Volume", "Pan", "Width", "Trim Volume", "Mute" Plugin's envelopes can also be checked against, like "Freq-Band 1 / ReaEQ" |
boolean is_track_envelope = ultraschall.IsEnvelopeTrackEnvelope(TrackEnvelope Envelope)
boolean is_track_envelope |
true, envelope is a TrackEnvelope; false, envelope is not TakeEnvelope |
TrackEnvelope Envelope |
the envelope to check, if it's a TrackEnvelope |
boolean retval = ultraschall.IsEnvelope_Track(TrackEnvelope env)
boolean retval |
true, the envelope is a TrackEnvelope; false, the envelope is a TakeEnvelope |
TrackEnvelope env |
the envelope to check |
boolean retval = ultraschall.IsTrackEnvelopeVisible_ArrangeView(TrackEnvelope env)
boolean retval |
true, the envelope is a TrackEnvelope; false, the envelope is a TakeEnvelope |
TrackEnvelope env |
the envelope to check for visibility |
integer retval = ultraschall.GetArmState_Envelope(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer retval |
0, unarmed; 1, armed |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose armed-state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
integer act, integer automation_settings = ultraschall.GetEnvelopeState_Act(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer act |
0, bypass on 1, no bypass |
integer automation_settings |
automation item-options for this envelope -1, project default behavior, outside of automation items 0, automation items do not attach underlying envelope 1, automation items attach to the underlying envelope on the right side 2, automation items attach to the underlying envelope on both sides 3, no automation item-options for this envelope 4, bypass underlying envelope outside of automation items |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
integer shape, integer pitch_custom_envelope_range_takes, integer pitch_snap_values = ultraschall.GetEnvelopeState_DefShape(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer shape |
0, linear 1, square 2, slow start/end 3, fast start 4, fast end 5, bezier |
integer pitch_custom_envelope_range_takes |
the custom envelope range as set in the Pitch Envelope Settings; only available in take-fx-envelope "Pitch" -1, if unset or for non pitch-envelopes 0, Custom envelope range-checkbox unchecked 1-2147483647, the actual semitones |
integer pitch_snap_values |
the snap values-dropdownlist as set in the Pitch Envelope Settings-dialog; only available in take-fx-envelope "Pitch" -1, unset/Follow global default 0, Off 1, 1 Semitone 2, 50 cent 3, 25 cent 4, 10 cent 5, 5 cent 6, 1 cent |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
string envelopename, optional integer fx_env_id, optional string wet_byp, optional number minimum_range, optional number maximum_range, optional number unknown = ultraschall.GetEnvelopeState_EnvName(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
string envelopename |
the name of the envelope, usually: VOLENV2 - for Volume-envelope PANENV2 - for Pan-envelope WIDTHENV2 - for Width-envelope VOLEN - for Pre-FX-Volume-envelope PANENV - for Pre-FX-Pan-envelope WIDTHENV - for Pre-FX-Width-envelope MUTEENV - for Mute-envelope VOLENV3 - for Trim-Volume-envelope PARMENV - an envelope for an FX-plugin |
optional integer fx_env_id |
fx_env is the id of the envelope, as provided by this fx; beginning with 1 for the first |
optional string wet_byp |
wet_byp is either "" if not existing, wet or bypass |
optional number minimum_range |
the minimum value, accepted by this envelope; 6 digits-precision |
optional number maximum_range |
the maximum-value, accepted by this envelope; 6 digits-precision |
optional number unknown |
unknown |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
integer height, integer compacted = ultraschall.GetEnvelopeState_LaneHeight(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer height |
the height of this envelope in pixels; 24 - 263 pixels |
integer compacted |
1, envelope-lane is compacted("normal" height is not shown but still stored in height); 0, envelope-lane is "normal" height |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
table values = ultraschall.GetEnvelopeState_NumbersOnly(string state, optional string EnvelopeStateChunk, optional string functionname, optional boolean numbertoggle)
table values |
all values found as numerical indexed array |
string state |
the state, whose attributes you want to retrieve |
string TrackStateChunk |
a statechunk of an envelope |
optional string functionname |
if this function is used within specific gettrackstate-functions, pass here the "host"-functionname, so error-messages will reflect that |
optional boolean numbertoggle |
true or nil; converts all values to numbers; false, keep them as string versions |
number position, integer volume, integer point_shape_1, integer point_shape_2, integer selected, number bezier_tens1, number bezier_tens2 = ultraschall.GetEnvelopeState_PT(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
number position |
position of the point in seconds |
integer volume |
volume as fader-value |
integer point_shape |
may disappear with certain shapes, when point is unselected the values for point_shape_1 and point_shape_2 are: 0 0, linear 1 0, square 2 0, slow start/end 3 0, fast start 4 0, fast end 5 1, bezier |
integer selected |
1, selected; disappearing, unselected |
number unknown |
disappears, if no bezier is set |
number bezier_tens2 |
disappears, if no bezier is set; -1 to 1 0, for no bezier tension -0.5, for fast-start-beziertension 0.5, for fast-end-beziertension 1, for square-tension |
integer index |
the index-number of the envelope-point, whose states you want to have |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
integer id, number position, number length, number start_offset, number playrate, integer selected, number baseline, integer loopsource, integer i, number j, integer pool_id, integer mute = ultraschall.GetEnvelopeState_PooledEnvInstance(integer index, TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer id |
counter of automation-items; 1-based |
number position |
position in seconds |
number length |
length in seconds |
number start_offset |
offset in seconds |
number playrate |
playrate; minimum value is 0.001; default is 1.000 |
integer selected |
1, automation item is selected; 0, automation item isn't selected |
number baseline |
0(-100) to 1(+100); default 0.5(0) |
number amplitude |
-2(-200) to 2(+200); default 1 (100) |
integer loopsource |
Loop Source; 0 and 1 are allowed settings; 1 is default |
integer i |
unknown; 0 is default |
number j |
unknown; 0 is default |
integer pool_id |
counts the automation-item-instances in this project, including deleted ones; 1-based |
integer mute |
1, mute automation-item; 0, unmute automation-item |
integer index |
the index-number of the automation-item, whose states you want to have |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
integer visible, integer lane, integer unknown = ultraschall.GetEnvelopeState_Vis(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer visible |
1, envelope is visible 0, envelope is not visible |
integer lane |
1, envelope is in it's own lane 0, envelope is in media-lane |
integer unknown |
unknown; default=1 |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
integer voltype = ultraschall.GetEnvelopeState_Voltype(TrackEnvelope TrackEnvelope, optional string EnvelopeStateChunk)
integer voltype |
1, default volume-type is fader-scaling; if VOLTYPE-entry is not existing, default volume-type is amplitude-scaling |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose state you want to know; nil, to use parameter EnvelopeStateChunk instead |
optional string EnvelopeStateChunk |
if TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameter, to get that armed state |
array TrackEnvelopeArray, integer number_of_tracks, integer FirstEnvelopeTrackNumber, integer FirstEnvelopeMaster = ultraschall.GetAllTrackEnvelopes()
array TrackEnvelopeArray |
a table with all envelopes of the current project the table works as follows: TrackEnvelopeArray[Tracknumber][0] - number of envelopes for track Tracknumber TrackEnvelopeArray[Tracknumber][1][Envelopenumber] - the envelope Envelopenumber of track Tracknumber tracknumber of 0 is for the master track |
integer number_of_tracks |
the number of tracks, covered in the TrackEnvelopeArray |
integer FirstEnvelopeTrackNumber |
the number of the first track to have an envelope; -1 if theres none |
integer FirstEnvelopeMaster |
0, if the master-track has an envelope, -1 if not. |
integer idxpre, array EnvelopePointObjectPre, integer idxpost, array EnvelopePointObjectPost = ultraschall.GetClosestEnvelopePointIDX_ByTime(integer Tracknumber, string EnvelopeName, number CheckTime)
integer idxpre |
the idx of the closest envelopepoint at or before CheckTime |
array EnvelopePointObjectPre |
an EnvelopePointObject of idxpre |
integer idxpost |
the idx of the closest envelopepoint after CheckTime |
array EnvelopePointObjectPost |
an EnvelopePointObject of idxpost |
integer Tracknumber |
the number of the track, beginning with 1. Use 0 for Master Track. |
string EnvelopeName |
the name of the envelope-lane |
number CheckTime |
the time in seconds to check for the closest envelope-points |
number time, number value, integer shape, number tension, boolean selected, number dBVal, array EnvelopePointObject = ultraschall.GetEnvelopePoint(integer Tracknumber, string EnvelopeName, integer idx)
number time |
the time of the envelope point |
number value |
the raw-value of the envelope point |
integer shape |
the shape of this envelope 0 - Linear 1 - Square 2 - Slow start/end 3 - Fast start 4 - Fast end 5 - Bezier |
number tension |
the intensity of the tension of the shape |
boolean selected |
true, if this point is selected; false if not |
number dBVal |
the envelopevalue converted to dB |
array EnvelopePointObject |
an array with all elements of an envelopepoint [1] - TrackEnvelope-object [2] - Envelope-idx, beginning with 0 for the first one [3] - time [4] - value [5] - shape [6] - tension [7] - selected [8] - dBValue converted from value |
integer Tracknumber |
the number of the track, beginning with 1. Use 0 for Master Track. |
string EnvelopeName |
the name of the envelope-lane |
integer idx |
the number of the envelope-point, beginning with 0 |
string EnvelopeString, array EnvelopePointArray = ultraschall.GetEnvelopePointIDX_Between(integer Tracknumber, string EnvelopeName, number startposition, number endposition)
string EnvelopeString |
a string with all envelope-point-idx in the selection, separated by commas. |
array EnvelopePointArray |
an array with all EnvelopePointObjects of all envelope-points in selection. |
integer Tracknumber |
the number of the track. 1 for track 1, 2 for track 2, etc. 0 for Master-track. |
string EnvelopeName |
the name of the envelope-lane, where you want to have the envelope-points of. |
number startposition |
the startposition of the selection in seconds. Must be bigger than or equal 0. |
number endposition |
the endposition of the selection in seconds. Must be bigger than startposition. |
boolean retval, optional integer envpointidx, optional number time, optional number value, optional integer shape, optional number tension, optional boolean selected = ultraschall.GetLastEnvelopePoint_TrackEnvelope(TrackEnvelope Envelope)
boolean retval |
true, getting the envelopepoint was successful; false, in case of an error |
optional integer envpointidx |
the idx of the found envelope-point; with 0 for the first one on the Envelope |
optional number time |
the time of the envelope-point in seconds |
optional number value |
the value of the envelope-point |
optional integer shape |
the shape of the envelope-point 0 - Linear 1 - Square 2 - Slow start/end 3 - Fast start 4 - Fast end 5 - Bezier |
optional number tension |
the intensity of the tension of the shape |
optional boolean selected |
true, envelope-point is selected; false, it is not selected |
TrackEnvelope Envelope |
the Trackenvelope/MediaItemenvelope, whose last point you want |
boolean retval = ultraschall.ActivateEnvelope(TrackEnvelope env, optional boolean visible, optional boolean bypass)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
TrackEnvelope Envelope |
the envelope, which you want to activate |
optional boolean visible |
true or nil, show envelope; false, don't show envelope |
optional boolean bypass |
true or nil, don't bypass envelope; false, bypass envelope |
boolean retval = ultraschall.ActivateTrackPanEnv(integer track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
integer track |
the track, whose pan-envelope you want to activate; 1, for the first track |
boolean retval = ultraschall.ActivateTrackPanEnv_TrackObject(MediaTrack track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
MediaTrack track |
the track, whose pan-envelope you want to activate |
boolean retval = ultraschall.ActivateTrackPreFXPanEnv(integer track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
integer track |
the track, whose preFX-pan-envelope you want to activate; 1, for the first track |
boolean retval = ultraschall.ActivateTrackPreFXPanEnv_TrackObject(MediaTrack track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
MediaTrack track |
the track, whose prefx-pan-envelope you want to activate |
boolean retval = ultraschall.ActivateTrackPreFXVolumeEnv(integer track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
integer track |
the track, whose preFX-volume-envelope you want to activate; 1, for the first track |
boolean retval = ultraschall.ActivateTrackPreFXVolumeEnv_TrackObject(MediaTrack track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
MediaTrack track |
the track, whose prefx-volume-envelope you want to activate |
boolean retval = ultraschall.ActivateTrackTrimVolumeEnv(integer track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
integer track |
the track, whose trim-volume-envelope you want to activate; 1, for the first track |
boolean retval = ultraschall.ActivateTrackTrimVolumeEnv_TrackObject(MediaTrack track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
MediaTrack track |
the track, whose trim-volume-envelope you want to activate |
boolean retval = ultraschall.ActivateTrackVolumeEnv(integer track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
integer track |
the track, whose volume-envelope you want to activate; 1, for the first track |
boolean retval = ultraschall.ActivateTrackVolumeEnv_TrackObject(MediaTrack track)
boolean retval |
true, activating was successful; false, activating was unsuccessful |
MediaTrack track |
the track, whose volume-envelope you want to activate |
boolean retval = ultraschall.CheckEnvelopePointObject(array EnvelopePointObject)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointObject |
an array with all information of an envelope point |
integer envpoint_count = ultraschall.CountEnvelopePoints(integer Tracknumber, string EnvelopeName)
integer envpoint_count |
the number of envelope-points in requested track+envelope-lane |
integer Tracknumber |
the number of the track, beginning with 1. Use 0 for Master Track. |
string EnvelopeName |
the name of the envelope-lane |
boolean retval, array EnvelopePointObject = ultraschall.CreateEnvelopePointObject(TrackEnvelope TrackEnvelope, integer idx, number time, number value, integer shape, number tension, boolean selected)
boolean retval |
false in case of error, true in case of success. |
array EnvelopePointObject |
an array with all elements of the envelopepoint [1] - TrackEnvelope-object [2] - Envelope-idx, beginning with 0 for the first one [3] - time [4] - value [5] - shape [6] - tension [7] - selected [8] - dBValue converted from value |
TrackEnvelope env |
the track-envelope, in which this EnvelopePointObject shall be |
integer idx |
the number of the envelope-point, beginning with 0 |
number time |
the time of the envelope point in seconds |
number value |
the raw-value of the envelope point |
integer shape |
the shape of this envelope 0 - Linear 1 - Square 2 - Slow start/end 3 - Fast start 4 - Fast end 5 - Bezier |
number tension |
the intensity of the tension of the shape |
boolean selected |
true, if this point is selected; false if not |
integer number_of_active_envelopes, table found_envelopes = ultraschall.GetAllActiveEnvelopes_Take(MediaItem_Take take)
integer number_of_active_envelopes |
the number of active envelopes; -1, in case of an error |
table found_envelopes |
the found envelopes(see description for more details) |
MediaItem_Take take |
the take, whose active envelopes you want to get |
integer number_of_active_envelopes, table found_envelopes = ultraschall.GetAllActiveEnvelopes_Track(MediaTrack track)
integer number_of_active_envelopes |
the number of active envelopes; -1, in case of an error |
table found_envelopes |
the found envelopes(see description for more details) |
MediaTrack track |
the track, whose active envelopes you want to get |
TrackEnvelope envelope = ultraschall.GetTrackEnvelopeFromPoint(integer x, integer y)
TrackEnvelope envelope |
the envelope found at position x and y |
integer x |
the x-position in pixels, at which to look for envelopes |
integer y |
the y-position in pixels, at which to look for envelopes |
boolean clickstate, number position, MediaTrack track, TrackEnvelope envelope, integer EnvelopePointIDX = ultraschall.GetTrackEnvelope_ClickState(integer mouse_button)
boolean clickstate |
true, an envelopepoint has been clicked; false, no envelopepoint has been clicked |
number position |
the position, at which the mouse has clicked |
MediaTrack track |
the track, from which the envelope and it's corresponding point is taken from |
TrackEnvelope envelope |
the TrackEnvelope, in which the clicked envelope-point lies |
integer EnvelopePointIDX |
the id of the clicked EnvelopePoint |
integer mouse_button |
the mousebutton, that shall be clicked at the envelope; you can combine them as flags -1, get all states &1, only left mouse button &2, only right mouse button &4, Ctrl/Cmd-key &8, Shift-key &16, Alt key &32, Windows key &64, Middle mouse button |
boolean valid = ultraschall.IsValidEnvStateChunk(string EnvelopeStateChunk)
boolean valid |
true, if the string is a valid statechunk; false, if not a valid statechunk |
string EnvelopeStateChunk |
a string to check, if it's a valid EnvelopeStateChunk |
boolean retval = ultraschall.IsValidEnvelopePointArray(EnvelopePointArray EnvelopePointArray)
boolean retval |
true, EnvelopePointArray is a valid one; false, EnvelopePointArray isn't valid |
EnvelopePointArray EnvelopePointArray |
the EnvelopePointArray to check for it's validity |
boolean retval = ultraschall.IsValidEnvelopePointObject(array EnvelopePointObject)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointObject |
an array with all information of an envelope point |
boolean retval, optional string EnvelopeStateChunk = ultraschall.SetArmState_Envelope(TrackEnvelope TrackEnvelope, integer state, optional string EnvelopeStateChunk)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
optional string EnvelopeStateChunk |
the altered EnvelopeStateChunk, when parameter TrackEnvelope is set to nil |
TrackEnvelope TrackEnvelope |
the TrackEnvelope, whose armed-state you want to change |
integer state |
0, unarmed; 1, armed |
optional string EnvelopeStateChunk |
if parameter TrackEnvelope is set to nil, you can pass an EnvelopeStateChunk into this parameters and change its arm-state |
boolean retval = ultraschall.SetEnvelopeState_Act(TrackEnvelope env, integer act, integer automation_settings, optional string EnvelopeStateChunk)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string EnvelopeStateChunk |
the altered EnvelopeStateChunk |
TrackEnvelope env |
the envelope, in whose envelope you want set the bypass and automation-item-states; nil, to use parameter EnvelopeStateChunk instead |
integer act |
bypass-setting; 0, bypass on 1, no bypass |
integer automation_settings |
automation item-options for this envelope -1, project default behavior, outside of automation items 0, automation items do not attach underlying envelope 1, automation items attach to the underlying envelope on the right side 2, automation items attach to the underlying envelope on both sides 3, no automation item-options for this envelope 4, bypass underlying envelope outside of automation items |
optional string EnvelopeStateChunk |
an EnvelopeStateChunk, in which you want to set these settings |
boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_DefShape(TrackEnvelope env, integer shape, integer pitch_custom_envelope_range, integer pitch_snap_values, optional string EnvelopeStateChunk)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string EnvelopeStateChunk |
the altered EnvelopeStateChunk |
TrackEnvelope env |
the envelope, in whose envelope you want set the default shape and pitch-snap states; nil, to use parameter EnvelopeStateChunk instead |
integer shape |
the default shape of envelope-points 0, linear 1, square 2, slow start/end 3, fast start 4, fast end 5, bezier |
integer pitch_custom_envelope_range_takes |
the custom envelope range as set in the Pitch Envelope Settings; only available in take-fx-envelope "Pitch" -1, if unset or for non pitch-envelopes 0, Custom envelope range-checkbox unchecked 1-2147483647, the actual semitones |
integer pitch_snap_values |
the snap values-dropdownlist as set in the Pitch Envelope Settings-dialog; only available in take-fx-envelope "Pitch" -1, unset/Follow global default 0, Off 1, 1 Semitone 2, 50 cent 3, 25 cent 4, 10 cent 5, 5 cent 6, 1 cent |
optional string EnvelopeStateChunk |
an EnvelopeStateChunk, in which you want to set these settings |
boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_LaneHeight(TrackEnvelope env, integer height, integer compacted, optional string EnvelopeStateChunk)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string EnvelopeStateChunk |
the altered EnvelopeStateChunk |
TrackEnvelope env |
the envelope, whose envelope you want set the height and compacted-states; nil, to us parameter EnvelopeStateChunk instead |
integer height |
the height of the laneheight; the height of this envelope in pixels; 24 - 263 pixels |
integer compacted |
1, envelope-lane is compacted("normal" height is not shown but still stored in height); 0, envelope-lane is "normal" height |
optional string EnvelopeStateChunk |
an EnvelopeStateChunk, in which you want to set these settings |
boolean retval, string EnvelopeStateChunk = ultraschall.SetEnvelopeState_Vis(TrackEnvelope env, integer visibility, integer lane, integer unknown, optional string EnvelopeStateChunk)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string EnvelopeStateChunk |
the altered EnvelopeStateChunk |
TrackEnvelope env |
the envelope, in whose envelope you want set the visibility states; nil, to us parameter EnvelopeStateChunk instead |
integer visibility |
the visibility of the envelope; 0, invisible; 1, visible |
integer lane |
the position of the envelope in the lane; 0, envelope is in media-lane; 1, envelope is in it's own lane |
integer unknown |
unknown; default=1 |
optional string EnvelopeStateChunk |
an EnvelopeStateChunk, in which you want to set these settings |
boolean retval = ultraschall.AddEnvelopePoints_EnvelopePointArray(array EnvelopePointArray, boolean sort_in)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointArray |
an array with all EnvelopePointObjects you want to insert |
boolean sort_in |
set true, if setting multiple points at once and call Envelope_SortPoints when done. |
boolean retval = ultraschall.AddEnvelopePoints_EnvelopePointObject(array EnvelopePointObject, boolean sort_in)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointObject |
an array with all information of an envelope point |
boolean sort_in |
set true, if setting multiple points at once and call Envelope_SortPoints when done. |
boolean retval = ultraschall.DeleteEnvelopePoints_EnvelopePointArray(array EnvelopePointArray)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointArray |
an array with all EnvelopePointObjects you want to insert |
boolean retval = ultraschall.DeleteEnvelopePoints_EnvelopePointObject(array EnvelopePointObject)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointObject |
an array with all information of an envelope point |
integer retval = ultraschall.DeleteTrackEnvelopePointsBetween(number startposition, number endposition, MediaTrack MediaTrack)
integer retval |
-1 in case of failure |
number startposition |
the startposition in seconds |
number endposition |
the endposition in seconds |
MediaTrack MediaTrack |
the MediaTrack object of the track, where the EnvelopsPoints shall be moved |
integer retval = ultraschall.MoveTrackEnvelopePointsBy(number startposition, number endposition, number moveby, MediaTrack MediaTrack, boolean cut_at_border)
integer retval |
-1 in case of failure |
number startposition |
the startposition in seconds |
number endposition |
the endposition in seconds |
number moveby |
in seconds, negative values: move toward beginning of project, positive values: move toward the end of project |
MediaTrack MediaTrack |
the MediaTrack object of the track, where the EnvelopsPoints shall be moved |
boolean cut_at_border |
true, cut envelope-points, that would move outside section between startposition and endposition |
boolean retval, string TrackEnvelopeStateChunk = ultraschall.SetEnvelopeHeight(integer Height, boolean Compacted, TrackEnvelope TrackEnvelope, string TrackEnvelopeStateChunk)
boolean retval |
true in case of success; false in case of error |
string TrackEnvelopeStateChunk |
the altered TrackEnvelopeStateChunk |
integer Height |
the height of the envelopelane in pixels when not compacted. Reaper accepts 24-443 currently. Nil keeps old value. |
boolean Compacted |
shall the envelopelane be compacted(true) or not(false). Nil keeps old value. |
TrackEnvelope TrackEnvelope |
the TrackEnvelope to alter, or nil to use the TrackEnvelopeStateChunk instead |
optional string TrackEnvelopeStateChunk |
the TrackEnvelopeStateChunk you want to alter. Will be used only, if TrackEnvelope is set to nil |
boolean retval = ultraschall.SetEnvelopePoints_EnvelopePointArray(array EnvelopePointArray, boolean sort_in)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointArray |
an array with all EnvelopePointObjects you want to insert |
boolean sort_in |
set true, if setting multiple points at once and call Envelope_SortPoints when done. |
boolean retval = ultraschall.SetEnvelopePoints_EnvelopePointObject(array EnvelopePointObject, boolean sort_in)
boolean retval |
true, if it's a valid EnvelopePointObject; false if not |
array EnvelopePointObject |
an array with all information of an envelope point |
boolean sort_in |
set true, if setting multiple points at once and call Envelope_SortPoints when done. |
string event_identifier = ultraschall.EventManager_AddEvent(string EventName, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, table Actions)
string event_identifier |
the unique identifier for this registered event, which can be used later for setting, deleting, etc |
string EventName |
a name for the event, which you can choose freely; duplicated eventnames are allowed |
integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again |
boolean EventPaused |
false, register the event and check for it immediately; true, register the event but don't check for it yet |
function CheckFunction |
the function, which shall check if the event occurred this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to it as first parameter a table which can be used for storing information |
table Actions |
a table which holds all actions and their accompanying sections, who shall be run when the event occurred each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! |
string event_identifier = ultraschall.EventManager_AddStartupEvent(string EventName, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, table Actions)
string event_identifier |
the unique identifier for this registered event, which can be used later for setting, deleting, etc |
string EventName |
a name for the event, which you can choose freely; duplicated eventnames are allowed |
integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again |
boolean EventPaused |
false, register the event and check for it immediately; true, register the event but don't check for it yet |
function CheckFunction |
the function, which shall check if the event occurred this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information |
table Actions |
a table which holds all actions and their accompanying sections, who shall be run when the event occurred each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! |
integer count_of_registered_events = ultraschall.EventManager_CountRegisteredEvents()
integer count_of_registered_events |
the number of currently registered events |
integer count_startup_events = ultraschall.EventManager_CountStartupEvents()
integer count_startup_events |
the number of currently available start-up-events for the EventManager |
ultraschall.EventManager_DebugMode(boolean toggle)
Starts Debugmode of the EventManager, which returns additional internal states.
Allows you to get the contents of the UserSpace of a certain checkfunction of a registered event, see EventManager_DebugMode_UserSpace.
Note: Debugmode is not for productive usecases, as it costs resources. Please turn it off again, after you've finished debugging.
boolean toggle |
true, turn debugmode on; false, turn debugmode off |
integer userspace_count, table userspace = ultraschall.EventManager_DebugMode_UserSpace(integer index)
Returns the current contents of the UserSpace, as stored by the checkfunction of a registered event in the EventManager.
The table is of the format:
userspace[index]["index"] - the name of the index
userspace[index]["datatype"] - the datatype of the value in this userspace-index
userspace[index]["value"] - the value in this userspace-index
Note: Debugmode is not for productive usecases, as it costs resources. Please turn it off again, after you've finished debugging. See EventManager_DebugMode for more details on stopping DebugMode.
returns nil in case of an error
integer userspace_count |
the number of values within the userspace |
table userspace |
the contents of the userspace as a handy table |
integer index |
the index of the event, whose UserSpace you want to retrieve |
table runstates = ultraschall.EventManager_Debug_GetAllActionRunStates()
table runstates |
a table with all runstates of the actions of events, if they were run the last time(true) or not(false) |
number seconds_eventcheck_functions, number seconds_between_eventcheck_cycles = ultraschall.EventManager_Debug_GetExecutionTime()
number seconds_eventcheck_functions |
the number of seconds it took, for all event-check functions to check in the last event-check-cycle |
number seconds_between_eventcheck_cycles |
the time between two event-check-cycles, usually when other actions are run |
string EventIdentifier, string EventName, string CallerScriptIdentifier, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, integer NumberOfActions, table Actions = ultraschall.EventManager_EnumerateEvents(integer id)
string EventIdentifier |
the EventIdentifier of the registered event |
string EventName |
the name of the event |
string CallerScriptIdentifier |
the ScriptIdentifier of the script, who registered the event |
integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once false, run until the CheckFunction returns false again |
boolean EventPaused |
true, eventcheck is currently paused; false, eventcheck is currently running |
function CheckFunction |
the function, which shall check if the event occurred |
integer NumberOfActions |
the number of actions currently registered with this event |
table Actions |
a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" |
integer id |
the id of the currently registered event, of which you want to have the attributes; starting with 1 for the first |
string EventIdentifier, string EventName, string CallerScriptIdentifier, integer CheckAllXSeconds, integer CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean EventPaused, function CheckFunction, integer NumberOfActions, table Actions = ultraschall.EventManager_EnumerateEvents2(string EventIdentifier)
string EventIdentifier |
the EventIdentifier of the registered event |
string EventName |
the name of the event |
string CallerScriptIdentifier |
the ScriptIdentifier of the script, who registered the event |
integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once false, run until the CheckFunction returns false again |
boolean EventPaused |
true, eventcheck is currently paused; false, eventcheck is currently running |
function CheckFunction |
the function, which shall check if the event occurred |
integer NumberOfActions |
the number of actions currently registered with this event |
table Actions |
a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" |
string Eventidentifier |
the EventIdentifier of the currently registered event, of which you want to have the attributes |
string EventIdentifier, string Eventname, string CallerScriptIdentifier, number CheckAllXSeconds, number CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean Paused, function CheckFunction, number NumberOfActions, table Actions = ultraschall.EventManager_EnumerateStartupEvents(integer index)
string EventIdentifier |
the EventIdentifier of the startup-event |
string EventName |
a name for the startupevent |
string CallerScriptIdentifier |
the ScriptIdentifier of the script, which added this event to the StartUpEvents |
integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again |
boolean Paused |
true, the event shall be started as paused; false, the event shall be run immediately |
function CheckFunction |
the function, which shall check if the event occurred |
integer NumberOfActions |
the number of actions currently registered with this event |
table Actions |
a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" |
integer index |
the index of the StartUp-event, whose attributes you want to get; 1 for the first, etc |
integer index, string EventIdentifier, string Eventname, string CallerScriptIdentifier, number CheckAllXSeconds, number CheckForXSeconds, boolean StartActionsOnceDuringTrue, boolean Paused, function CheckFunction, number NumberOfActions, table Actions = ultraschall.EventManager_EnumerateStartupEvents2(string EventIdentifier)
integer index |
the index of the StartupEvent within all StartUpEvents |
string EventIdentifier |
the EventIdentifier of the startup-event |
string EventName |
a name for the startupevent |
string CallerScriptIdentifier |
the ScriptIdentifier of the script, which added this event to the StartUpEvents |
integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again |
boolean Paused |
true, the event shall be started as paused; false, the event shall be run immediately |
function CheckFunction |
the function, which shall check if the event occurred |
integer NumberOfActions |
the number of actions currently registered with this event |
table Actions |
a table which holds all actions and their accompanying sections, who are run when the event occurred each entry of the table is of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" |
string EventIdentifier |
the identifier of the StartupEvent, that you want to enumerate |
table eventidentifier = ultraschall.EventManager_GetAllEventIdentifier()
table eventidentifier |
a table with all existing event-identifiers in order of registration |
table eventidentifier = ultraschall.EventManager_GetAllEventIdentifier()
table eventidentifier |
a table with all existing event-identifiers in order of registration |
table eventnames = ultraschall.EventManager_GetAllEventNames()
table eventidentifier |
a table with all existing event-names |
string event_identifier = ultraschall.EventManager_GetEventIdentifier(integer id)
integer id |
the id of the event, whose EventIdenrifier you want to retrieve; 1, the first event; 2, the second event, etc |
boolean check_state, number last_statechange_precise_time = ultraschall.EventManager_GetLastCheckfunctionState(integer id)
integer id |
the id of the event, whose eventcheckfunction-retval you want to retrieve; 1, the first event; 2, the second event, etc |
boolean check_state, number last_statechange_precise_time = ultraschall.EventManager_GetLastCheckfunctionState2(string EventIdentifier)
string EventIdentifier |
the EventIdentifier of the event, whose last checkfunction-state you want to retrieve |
string datetime, number precise_time = ultraschall.EventManager_GetLastUpdateTime()
string datetime |
the date and time of the last update, as returned by os.date() |
number precise_time |
the last update time as number, as returned by reaper.time_precise() |
boolean paused_state = ultraschall.EventManager_GetPausedState(integer id)
integer id |
the id of the event, whose paused-state you want to retrieve; 1, the first event; 2, the second event, etc |
boolean paused_state = ultraschall.EventManager_GetPausedState2(string EventIdentifier)
string EventIdentifier |
the identifier of the registered event, whose pause state you want to retrieve |
integer id = ultraschall.EventManager_GetRegisteredEventID(string EventIdentifier)
string EventIdentifier |
the EventIdentifier of the event, whose id you want to retrieve |
boolean valid, boolean valid_inuse = ultraschall.EventManager_IsValidEventIdentifier(string event_identifier)
boolean valid |
true, valid EventIdentifier; false, no valid EventIdentifier |
boolean valid_inuse |
true, valid EventIdentifier, which is currently registered and in use by the EventManager; false, no currently registered EventIdentifier |
string event_identifier |
the unique identifier of the registered event, that you want to check |
boolean retval = ultraschall.EventManager_PauseEvent(string event_identifier)
boolean retval |
true, pausing was successful; false, pausing was unsuccessful |
string event_identifier |
the unique identifier of the registered event, which you want to pause in the EventManager |
boolean retval = ultraschall.EventManager_RemoveAllEvents_Script(string ScriptIdentifier)
boolean retval |
true, removing was successful; false, removing was unsuccessful |
string ScriptIdentifier |
the unique identifier of the registered event, which you want to remove from the EventManager |
boolean retval = ultraschall.EventManager_RemoveEvent(string event_identifier)
boolean retval |
true, removing was successful; false, removing was unsuccessful |
string event_identifier |
the unique identifier of the registered event, which you want to remove from the EventManager |
boolean retval = ultraschall.EventManager_RemoveStartupEvent(string event_identifier)
boolean retval |
true, removing was successful; false, removing was unsuccessful |
string event_identifier |
the unique identifier of the startup event, which you want to remove from the EventManager-startup-procedure |
boolean retval = ultraschall.EventManager_RemoveStartupEvent2(integer id)
boolean retval |
true, removing was successful; false, removing was unsuccessful |
string event_identifier |
the unique identifier of the startup event, which you want to remove from the EventManager-startup-procedure |
boolean retval = ultraschall.EventManager_ResumeEvent(string event_identifier)
boolean retval |
true, resuming was successful; false, resuming was unsuccessful |
string event_identifier |
the unique identifier of the registered event, which you want to resume in the EventManager |
boolean retval = ultraschall.EventManager_SetEvent(string EventIdentifier, optional string EventName, optional integer CheckAllXSeconds, optional integer CheckForXSeconds, optional boolean StartActionsOnceDuringTrue, optional boolean EventPaused, optional function CheckFunction, optional table Actions)
boolean retval |
true, setting was successful; false, setting wasn't successful |
string EventIdentifier |
the EventIdentifier of the registered event, which you want to set |
optional string EventName |
a name for the event, which you can choose freely; duplicated eventnames are allowed; nil, keep the old name |
optional integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking; nil, keep the old value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
optional integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed; nil, keep the old value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
optional boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again nil, keep the old value |
optional boolean EventPaused |
false, register the event and check for it immediately; true, register the event but don't check for it yet; nil, keep the old value |
optional function CheckFunction |
the function, which shall check if the event occurred; nil, keep the old function this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information |
optional table Actions |
a table which holds all actions and their accompanying sections, who shall be run when the event occurred; nil, keep the old actionlist each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! |
string event_identifier = ultraschall.EventManager_SetStartupEvent(string EventIdentifier, optional string EventName, optional integer CheckAllXSeconds, optional integer CheckForXSeconds, optional boolean StartActionsOnceDuringTrue, optional boolean EventPaused, optional function CheckFunction, optional table Actions)
string event_identifier |
the unique identifier for this registered event, which can be used later for setting, deleting, etc |
string EventIdentifier |
the EventIdentifier of the startup-event, which you want to set |
optional string EventName |
a name for the event, which you can choose freely; duplicated eventnames are allowed; nil, to keep current name |
optional integer CheckAllXSeconds |
only check all x seconds; 0, for constant checking; nil, to keep current value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
optional integer CheckForXSeconds |
only check for x seconds; 0, check until the event is removed; nil, to keep current value this value will be used as approximate time, not necessarily exact. That means, 2 seconds given may be 2.5 in some cases! This is due general limitations with backgroundscripts. |
optional boolean StartActionsOnceDuringTrue |
if the event occurred: true, run the actions only once; false, run until the CheckFunction returns false again nil, to keep current value |
optional boolean EventPaused |
false, register the event and check for it immediately; true, register the event but don't check for it yet; nil, to keep current value |
optional function CheckFunction |
the function, which shall check if the event occurred; nil, to keep current function this function must return true if the event occurred and false, if not No global variables allowed! Instead, the eventmanager will pass to the function as first parameter a table which can be used for storing information |
optional table Actions |
a table which holds all actions and their accompanying sections, who shall be run when the event occurred; nil, to keep current actionlist each entry of the table must be of the format "actioncommandid,section", e.g.: Actions[1]="1007,0" Actions[2]="1012,0" You can have as many actions as you like, but be aware, that running too many actions may delay further eventchecking! |
boolean retval = ultraschall.EventManager_Start()
boolean retval |
true, EventManager has been started successfully; false, EventManager couldn't be started |
ultraschall.EventManager_Stop(optional boolean force, optional string ScriptIdentifier)
optional boolean force |
true, stops the EventManager, even if other scripts have registered events to it; false or nil, don't force stop |
optional string ScriptIdentifier |
if you want to unregister events from a different script, pass here the ScriptIdentifier of this script; nil, use the ScriptIdentifier of the current script |
integer count_of_fx= ultraschall.CountFXFromFXStateChunk(string FXStateChunk)
integer count_of_fx |
the number of fx within the FXStateChunk |
string FXStateChunk |
the FXStateChunk in which you want to count the fx |
integer count_of_takefx_statechunks, integer count_of_trackfx_statechunks = ultraschall.CountFXStateChunksInStateChunk(string StateChunk)
integer count_of_takefx_statechunks |
the number of take-fx-StateChunks within the StateChunk. When passing Track/ProjectStateChunks, it returns number of all FXStateChunks from all Takes within the StateChunk |
integer count_of_trackfx_statechunks |
the number of TrackFX-StateChunks; each track alawys has a single one, so it should match the number of tracks within the StateChunk; 0, if you pass a ItemStateChunk |
string StateChunk |
the StateChunk, whose count of FXStateChunks you want to retrieve |
integer count_of_RFXChainfiles, array RFXChainfiles = ultraschall.GetAllRFXChainfilenames()
integer count_of_RFXChainfiles |
the number of available RFXChainFiles |
array RFXChainfiles |
the filenames of the RFXChainfiles |
string FXStateChunk = ultraschall.GetBatchConverter_FXStateChunk()
string FXStateChunk |
the FXStateChunk of the BatchConverter |
string FXStateChunk = ultraschall.GetBatchConverter_FXStateChunk()
string FXStateChunk |
the FXStateChunk of the BatchConverter |
string FXStateChunk, integer linenumber = ultraschall.GetFXStateChunk(string StateChunk, optional integer TakeFXChain_id)
string FXStateChunk |
the FXStateChunk, stored in the StateChunk |
integer linenumber |
returns the first linenumber, at which the found FXStateChunk starts in the StateChunk |
string StateChunk |
the StateChunk, from which you want to retrieve the FXStateChunk |
optional integer TakeFXChain_id |
when using MediaItemStateChunks, this allows you to choose the take of which you want the FXChain; default is 1 |
boolean retval = ultraschall.IsValidFXStateChunk(string StateChunk)
boolean retval |
true, it is a valid FXStateChunk; false, it is not |
string StateChunk |
the StateChunk, which you want to check, whether it's a valid FXStateChunk |
string FXStateChunk = ultraschall.LoadFXStateChunkFromRFXChainFile(string filename, integer trackfx_or_takefx)
string FXStateChunk |
the loaded FXStateChunk; nil, in case of an error |
string filename |
the filename of the RFXChain-file(must include ".RfxChain"); omit the path to load it from the folder ResourcePath/FXChains |
integer trackfx_or_takefx |
0, return the FXStateChunk as Track-FXStateChunk; 1, return the FXStateChunk as Take-FXStateChunk |
string alteredItemStateChunk = ultraschall.RemoveFXStateChunkFromItemStateChunk(string ItemStateChunk, integer take_id)
string alteredItemStateChunk |
the StateChunk, from which the FXStateChunk was removed |
string ItemStateChunk |
the ItemStateChunk, from which you want to remove an FXStateChunk |
integer take_id |
the take, whose FXStateChunk you want to remove |
string altered_TrackStateChunk = ultraschall.RemoveFXStateChunkFromTrackStateChunk(string TrackStateChunk)
string altered_TrackStateChunk |
the TrackStateChunk, cleared of the Track-FXStateChunk |
string TrackStateChunk |
the TrackStateChunk, whose FXStateChunk you want to remove |
integer retval = ultraschall.SaveFXStateChunkAsRFXChainfile(string filename, string FXStateChunk)
integer retval |
-1 in case of failure, 1 in case of success |
string filename |
the filename of the output-RFXChain-file(must include ".RfxChain"); omit the path to save it into the folder ResourcePath/FXChains |
string FXStateChunk |
the FXStateChunk, which you want to set into the TrackStateChunk |
boolean retval, optional string alteredStateChunk = ultraschall.SetFXStateChunk(string StateChunk, string FXStateChunk, optional integer TakeFXChain_id)
boolean retval |
true, if setting fxstatechunk was successful; false, if setting was unsuccessful |
optional string alteredStateChunk |
the altered StateChunk |
string StateChunk |
the TrackStateChunk, into which you want to set the FXChain |
string FXStateChunk |
the FXStateChunk, which you want to set into the TrackStateChunk |
optional integer TakeFXChain_id |
when using MediaItemStateChunks, this allows you to choose the take of which you want the FXChain; default is 1 |
integer dockstate = ultraschall.GetDocked_FXStateChunk(string FXStateChunk)
integer dockstate |
0, undocked; 1, docked |
string FXStateChunk |
the FXStateChunk, whose dockstate you want to get |
boolean reduce_cpu, boolean autobypass_when_fx_open, boolean disable_autobypass_when_offline = ultraschall.GetFXAutoBypassSettings()
boolean reduce_cpu |
true, reduce CPU use of silent tracks during playback; false, don't reduce cpu use of silent tracks during playback |
boolean autobypass_when_fx_open |
true, Auto-bypass FX (when set via project or manual setting) even when FX configuration is open; false, don't auto-bypass fx |
boolean disable_autobypass_when_offline |
true, Disable FX auto-bypass when using offline render/apply FX/render stems; false, don't disable FX auto-bypass when using offline render/apply FX/render stems |
boolean auto_bypass_report_tail |
true, Auto-bypass FX that report tail length or have auto-tail set; false, don't auto-bypass FX that report tail length or have auto-tail set |
integer auto_bypass_report_tail_thresh |
Auto-bypass FX that report tail length or have auto-tail set, threshold in dB; always negative |
integer state = ultraschall.GetFXAutoBypass_FXStateChunk(string FXStateChunk, integer fxid)
integer state |
0, autobypass is disabled; 1, autobypass is enabled |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return the autobypass-state |
integer fxid |
the fx, whose autobypass-state you want to retrieve |
integer bypass, integer offline, integer unknown = ultraschall.GetFXBypass_FXStateChunk(string FXStateChunk, integer fxid)
integer bypass |
0, non-bypassed; 1, bypassed |
integer offline |
0, online; 1, offline |
integer unknown |
unknown; default is 0 |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return the BYPASS-entry |
integer fxid |
the fx, whose BYPASS-entryvalues you want to return |
string comment = ultraschall.GetFXComment_FXStateChunk(string FXStateChunk, integer fxid)
string comment |
the comment as stored for this specific fx; "", if no comment exists |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return a specific fx-comment |
integer fxid |
the fx, whose comment you want to return |
boolean floating, integer x, integer y, integer width, integer height = ultraschall.GetFXFloatPos_FXStateChunk(string FXStateChunk, integer fxid)
boolean floating |
true, fx-window is floating; false, fx-window isn't floating |
integer x |
the x-position of the floating window; 0, if it hasn't been floating yet |
integer y |
the y-position of the floating window; 0, if it hasn't been floating yet |
integer width |
the width of the floating window; 0, if it hasn't been floating yet |
integer height |
the height of the floating window; 0, if it hasn't been floating yet |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return the FLOAT/FLOATPOS-entry |
integer fxid |
the fx, whose FLOAT/FLOATPOS-entryvalues you want to return |
string fx_lines, integer startoffset, integer endoffset = ultraschall.GetFXFromFXStateChunk(string FXStateChunk, integer fxindex)
string fx_lines |
the statechunk-lines associated with this fx |
integer startoffset |
the startoffset in bytes of these lines within the FXStateChunk |
integer endoffset |
the endoffset in bytes of these lines within the FXStateChunk |
string FXStateChunk |
the FXStateChunk from which you want to retrieve the fx's-lines |
integer fxindex |
the index of the fx, whose statechunk lines you want to retrieve; with 1 for the first |
string guid = ultraschall.GetFXGuid_FXStateChunk(string FXStateChunk, integer fxid)
string guid |
the guid of the fx |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return the guid-entry |
integer fxid |
the fx, whose guid you want to return |
integer midi_preset = ultraschall.GetFXMidiPreset_FXStateChunk(string FXStateChunk, integer fxid)
integer midi_preset |
0, No Link; 17, Link all channels sequentially; 1-16, MIDI-channel 1-16 |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return the MIDIPRESET-entry |
integer fxid |
the fx, whose MIDIPRESET-entryvalues you want to return |
string fx_statestring_base64, string fx_statestring = ultraschall.GetFXSettingsString_FXLines(string fx_lines)
Returns the fx-states-string of a fx, as stored as an base64-string.byte It returns its decoded and encoded version of it.
Use GetFXFromFXStateChunk to get the requested parameter "fx_lines"
returns nil in case of an error
string fx_statestring_base64 |
the base64-version of the state-string, which holds all fx-settings of the fx |
string fx_statestring |
the decoded binary-version of the state-string, which holds all fx-settings of the fx |
string fx_lines |
the statechunk-lines of an fx, as returned by the function GetFXFromFXStateChunk() |
integer keyboard_input_2_plugin, integer fx_embed_state = ultraschall.GetFXWak_FXStateChunk(string FXStateChunk, integer fxid)
integer keyboard_input_2_plugin |
0, don't send all the keyboard-input to plugin; 1, send all keyboard-input to plugin |
integer fx_embed_state |
set embedding of the fx; &1=TCP, &2=MCP |
string FXStateChunk |
the FXStateChunk, from whose fx you want to return the WAK-entry |
integer fxid |
the fx, whose WAK-entryvalues you want to return |
integer last_selected_fx = ultraschall.GetLastSel_FXStateChunk(string FXStateChunk)
integer last_selected_fx |
the last selected fx; 1, the first fx; 2, the second fx; 3, the third fx |
string FXStateChunk |
the FXStateChunk, whose last-selected-fx you want to get |
integer showstate = ultraschall.GetShow_FXStateChunk(string FXStateChunk)
integer shownstate |
0, the fx-chain is not shown; 1, first fx is shown; 2, second fx is shown, etc |
string FXStateChunk |
the FXStateChunk, whose show-state you want to get |
string comment = ultraschall.GetTakeFXComment(MediaItem item, integer takeid, integer fxid)
string comment |
the comment of a track-fx |
MediaItem item |
the mediaitem, whose takefx-comment you want to request |
integer take_id |
the id of the take, whose takefx-comment you want to request |
integer fxid |
the id of the fx, whose comment you want to have |
string alternative_fx_name = ultraschall.GetTakeFX_AlternativeName(integer tracknumber, integer take_id, integer fx_id)
string alternative_fx_name |
the alternative fx-name set for this fx |
string comment = ultraschall.GetTrackFXComment(MediaTrack track, integer fxid)
string comment |
the comment of a track-fx |
MediaTrack track |
the mediatrack, of which you want to request a trackfx's comment |
integer fxid |
the id of the fx, whose comment you want to have |
string alternative_fx_name = ultraschall.GetTrackFX_AlternativeName(integer tracknumber, integer fx_id)
string alternative_fx_name |
the alternative fx-name set for this fx |
integer x, integer y, integer width, integer height = ultraschall.GetWndRect_FXStateChunk(string FXStateChunk)
integer x |
the x-position of the floating window; 0, if it hasn't been floating yet |
integer y |
the y-position of the floating window; 0, if it hasn't been floating yet |
integer width |
the width of the floating window; 0, if it hasn't been floating yet |
integer height |
the height of the floating window; 0, if it hasn't been floating yet |
string FXStateChunk |
the FXStateChunk, whose floating-window-position you want to get |
table found_fx = ultraschall.GetFXByGuid()
table found_fx |
the found fx with guid |
integer retval, integer tracknumber, integer fxidx, integer itemnumber, integer takeidx, MediaTrack track, optional MediaItem item, optional MediaItemTake take = ultraschall.GetFocusedFX()
integer retval |
0, if no FX window has focus 1, if a track FX window has focus or was the last focused and still open 2, if an item FX window has focus or was the last focused and still open &4, if fx is not focused anymore but is still opened |
integer tracknumber |
tracknumber; 0, master track; 1, track 1; etc. |
integer fxidx |
the index of the FX; 1-based |
integer itemnumber |
-1, if it's a track-fx; 1 and higher, the mediaitem-number |
integer takeidx |
-1, if it's a track-fx; 1 and higher, the take-number |
MediaTrack track |
the MediaTrack-object |
optional MediaItem item |
the MediaItem, if take-fx |
optional MediaItemTake take |
the MediaItem-Take, if take-fx |
boolean retval, integer sourcetype, integer track_take_number, integer fxnumber, integer paramnumber, integer takeID, optional MediaTrack track, optional MediaItemTake take = ultraschall.GetLastTouchedFX()
boolean retval |
true, valid FX; false, no valid FX |
integer sourcetype |
0, takeFX; 1, trackFX |
integer track_take_number |
the track or takenumber(see sourcetype-retval); 1-based |
integer fxnumber |
the number of the fx; 1-based |
integer paramnumber |
the number of the parameter; 1-based |
integer takeID |
the number of the take; 1-based; -1, if takeFX |
optional MediaTrack track |
the track of the TrackFX |
optional MediaItemTake take |
the take of the TakeFX |
integer count_of_RecentFX, array RecentFX = ultraschall.GetRecentFX()
integer count_of_RecentFX |
the number of available recent fx |
array RecentFX |
the names of the recent fx |
boolean retval = ultraschall.InputFX_JSFX_Reload(MediaTrack track, integer fxindex)
boolean retval |
true, fx has been updated; false, fx has not been updated |
MediaTrack track |
the track, whose rec-inputfx-jsfx you want to update; use master track to update within input-monitoring-fx |
integer fxindex |
the index of the track-jsfx, that you want to refresh |
table found_guids = ultraschall.TakeFX_GetAllGuidsFromAllTakes()
table found_guids |
the found guids of all take-fx in the project |
boolean retval = ultraschall.TakeFX_JSFX_Reload(MediaItem_take take, integer fxindex)
boolean retval |
true, fx has been updated; false, fx has not been updated |
MediaItem_take |
the take, whose jsfx you want to update |
integer fxindex |
the index of the take-jsfx, that you want to refresh |
table found_guids = ultraschall.TrackFX_GetAllGuidsFromAllTracks()
table found_guids |
the found guids of all track-fx in the project |
boolean retval = ultraschall.TrackFX_JSFX_Reload(MediaTrack track, integer fxindex)
boolean retval |
true, fx has been updated; false, fx has not been updated |
MediaTrack track |
the track, whose jsfx you want to update |
integer fxindex |
the index of the track-jsfx, that you want to refresh |
integer retval = ultraschall.InputFX_AddByName(string fxname, boolean always_new_instance, optional integer tracknumber)
integer retval |
the index of the newly inserted fx or the index of the already existing fx; -1, in case of an error |
string fxname |
the name of the fx to be inserted |
boolean always_new_instance |
true, always add a new instance of the fx; false, only add if there's none yet |
optional integer tracknumber |
the tracknumber, to whose inputFX the fx shall be added; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_CopyFX(integer old_fxindex, integer new_fxindex, optional integer tracknumber_source, optional integer tracknumber_target)
integer retval |
the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error; 1-based |
integer old_fxindex |
the index of the input-fx to be copied; 1-based |
integer new_fxindex |
the position of the newly inserted input-fx; 1-based |
optional integer tracknumber_source |
the tracknumber of the track, from whose inputFX you want to move the fx; 1-based; nil, master-track |
optional integer tracknumber_target |
the tracknumber of the track, to which you want to move the inputFX; 1-based; nil, master-track |
integer dest_fx = ultraschall.InputFX_CopyFXFromTakeFX(MediaItem_Take take, integer src_fx, integer dest_fx, optional integer dest_tracknumber)
integer dest_fx |
the index of the inserted FX, just in case it differs; 1-based |
MediaItem_Take take |
the take, from which you want to copy the takeFX |
integer src_fx |
the index takeFX that shall be copied; 1-based |
integer dest_fx |
the index, at which you want to insert the fx into the monitoring FXChain; 1-based |
optional integer dest_tracknumber |
the tracknumber, to which you want to copy a new inputFX; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer retval = ultraschall.InputFX_CopyFXFromTrackFX(MediaTrack track, integer old_fxindex, integer new_fxindex, optional integer tracknumberInputFX)
integer retval |
the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error; 1-based |
MediaTrack track |
the track from which you want to copy a trackfx |
integer old_fxindex |
the index of the track-fx to be copied; 1-based |
integer new_fxindex |
the position of the newly inserted input-fx; 1-based |
optional integer tracknumberInputFX |
the tracknumber, to whose inputFX the fx shall be copied; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer dest_fx = ultraschall.InputFX_CopyFXToTakeFX(integer src_fx, MediaItem_Take take, integer dest_fx, optional integer src_tracknumber)
integer dest_fx |
the index of the inserted FX, just in case it differs; 1-based |
integer src_fx |
the index inputFX that shall be copied; 1-based |
MediaItem_Take take |
the take, into which you want to insert the fx as takeFX |
integer dest_fx |
the index, at which you want to insert the fx; 1-based |
optional integer src_tracknumber |
the tracknumber, whose inputFX you want to copy; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer retval = ultraschall.InputFX_CopyFXToTrackFX(integer old_fxindex, MediaTrack track, integer new_fxindex, optional integer tracknumberInputFX)
integer retval |
the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error |
integer old_fxindex |
the index of the monitoring-fx to be copied; 1-based |
MediaTrack track |
the track into which you want to insert the trackFX |
integer new_fxindex |
the position of the newly inserted track-fx; 1-based |
optional integer tracknumberInputFX |
the tracknumber, from whose inputFX the fx shall be copied from; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_Delete(integer fxindex, optional integer tracknumber)
boolean retval |
true, removing was successful; false, removing was unsuccessful |
integer fxindex |
the index of the monitoring-fx to be deleted; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX shall be deleted; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_EndParamEdit(integer fxindex, integer paramindex, optional integer tracknumber)
boolean retval |
true, unknown; false, unknown |
integer fxindex |
the index of the monitoring-fx |
integer paramindex |
the index of the parameter of the monitoring-fx |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter shall be ended in editing; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string formatted_value = ultraschall.InputFX_FormatParamValue(integer fxindex, integer paramindex, number value, optional integer tracknumber)
boolean retval |
true, formatting was successful; false, formatting was unsuccessful(no such fx, parameter, no support for Cockos VST extension |
string formatted_value |
the value in the format of the parameter; "", if not available |
integer fxindex |
the index of the fx; 1-based |
integer paramindex |
the parameter, whose formatting-style you want to applied to value; 1-based |
number value |
the value you want to have formatted in the style of the parameter |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter you want to format; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string formatted_value = ultraschall.InputFX_FormatParamValueNormalized(integer fxindex, integer paramindex, number value, optional integer tracknumber)
boolean retval |
true, formatting was successful; false, formatting was unsuccessful(no such fx, parameter, no support for Cockos VST extension |
string formatted_value |
the value in the format of the parameter; "", if not available |
integer fxindex |
the index of the fx; 1-based |
integer paramindex |
the parameter, whose formatting-style you want to applied to value; 1-based |
number value |
the value you want to have formatted in the style of the parameter |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter you want to get formatted and normalized; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean inputfx_chain_visible, integer visible_inputfx = ultraschall.InputFX_GetChainVisible(optional integer tracknumber)
boolean inputfx_chain_visible |
true, fxchain is visible; false, fxchain is not visible |
integer visible_inputfx |
the index of the currently visible monitoring-fx; -1, if nothing is visible; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-chain-visibility you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
string comment = ultraschall.InputFX_GetComment(integer fxid)
string comment |
the comment of a track-fx |
integer fxid |
the id of the fx, whose comment you want to have |
integer monitoring_fx_count = ultraschall.InputFX_GetCount(optional integer tracknumber)
integer monitoring_fx_count |
the number of available monitoring-fx |
optional integer tracknumber |
the tracknumber, whose inputFX you want to count; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer index = ultraschall.InputFX_GetEQ(boolean instantiate, optional integer tracknumber)
integer index_of_reaeq |
the index of the first instance of ReaEQ in the monitoringFX; 0, if no ReaEQ is in the monitoringFX; -1, in case of an error |
boolean instantiate |
true, add ReaEQ into monitoring-fx if not existing yet; false, don't add a ReaEQ-instance if not existing in monitoring-FXChain yet |
optional integer tracknumber |
the tracknumber, whose inputFX-eq-position you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean enabled = ultraschall.InputFX_GetEQBandEnabled(integer fxindex, integer bandtype, integer bandidx, optional integer tracknumber)
boolean enabled |
true, band is enabled; false, band is disabled |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer bandtype |
the bandtype of the band to change; -1, master gain 0, hipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass 6, bandpass |
integer bandidx |
0, first band matching bandtype; 1, 2nd band matching bandtype, etc. |
optional integer tracknumber |
the tracknumber, whose inputFX-EQ-Band-enabled-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, number bandtype, number bandidx, number paramtype, number normval = ultraschall.InputFX_GetEQParam(integer fxindex, integer paramidx, optional integer tracknumber)
boolean retval |
true, if it's a ReaEQ-instance; false, is not a ReaEQ-instance or in case of an error |
integer bandtype |
the bandtype of the band to change; -1, master gain 0, hipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass 6, bandpass |
integer bandidx |
0, first band matching bandtype; 1, 2nd band matching bandtype, etc. |
number paramtype |
0, freq; 1, gain; 2, Q |
number normval |
the normalized value |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer paramidx |
the parameter whose eq-states you want to retrieve; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-eq-param you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean inputfx_enabled = ultraschall.InputFX_GetEnabled(integer fxindex, optional integer tracknumber)
boolean inputfx_enabled |
true, fx is enabled; false, fxchain is not enabled |
integer fxindex |
the index of the monitoring-fx, whose enabled state you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-enabledness you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
string FXStateChunk = ultraschall.InputFX_GetFXChain(integer fxstatechunk_type, optional integer tracknumber)
string FXStateChunk |
the loaded FXStateChunk; nil, in case of an error |
integer fxstatechunk_type |
0, return the FXStateChunk as Track-FXStateChunk 1, return the FXStateChunk as Take-FXStateChunk 2, return the FXStateChunk as Track-InputFX-FXStateChunk |
optional integer tracknumber |
the tracknumber of the track, whose fxinput-chain you want to get nil or 0, global monitoring-fx; 1 and higher, the inputFX-chain from track 1 and higher |
string fxguid = ultraschall.InputFX_GetFXGUID(integer fxindex, optional integer tracknumber)
string fxguid |
the guid of the monitoring-fx |
integer fxindex |
the index of the monitoring-fx, whose guid you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-fx-guid you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string fxname = ultraschall.InputFX_GetFXName(integer fxindex, optional integer tracknumber)
boolean retval |
true, monitoring fx exists; false, no such monitoring-fx exists |
string fxname |
the name of the monitoring-fx |
integer fxindex |
the index of the monitoring-fx, whose name you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-fxname you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
HWND inputfx_floating_hwnd = ultraschall.InputFX_GetFloatingWindow(integer fxindex, optional integer tracknumber)
HWND inputfx_floating_hwnd |
the hwnd of the floating montitoring fx; nil, if not available |
integer fxindex |
the index of the monitoring-fx, whose floating-monitoring-fx-hwnd you want to get; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-floating-window-hwnd you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string formatted_value = ultraschall.InputFX_GetFormattedParamValue(integer fxindex, integer paramindex, optional integer tracknumber)
boolean retval |
true, getting was successful; false, getting was unsuccessful |
string formatted_value |
the value of the formatted parameter; "", if not available |
integer fxindex |
the index of the fx; 1-based |
integer paramindex |
the parameter, whose formatted value you want to get; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter-value you want to get as formatted; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer retval, optional number inputPins, optional number outputPins = ultraschall.InputFX_GetIOSize(integer fxindex, optional integer tracknumber)
integer retval |
the plugin-type -1, no such plugin 0, VSTi 2, JSFX 3, VST 5, Mac AU 6, Video Processor |
optional number inputPins |
the number of input-pins available |
optional number outputPins |
the number of output-pins available |
integer fxindex |
the index of the fx; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-plugintype/in-out-pins you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string config_parm_name = ultraschall.InputFX_GetNamedConfigParm(integer fxindex, string parmname, optional integer tracknumber)
boolean retval |
true, name is available; false, name is not available |
string config_parm_name |
the name of the config parameter |
integer fxindex |
the index of the fx; 1-based |
string parmname |
the value of the named config parm you want to get |
optional integer tracknumber |
the tracknumber, whose inputFX-named-config-parameter-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer count_params = ultraschall.InputFX_GetNumParams(integer fxindex, optional integer tracknumber)
integer count_params |
the number of parameters of the monitoring-fx |
integer fxindex |
the index of the monitoring-fx, whose number of parameters you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-fxname you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean is_offline = ultraschall.InputFX_GetOffline(integer fxindex, optional integer tracknumber)
boolean is_offline |
true, fx is offline; false, fx is not offline |
integer fxindex |
the index of the monitoring-fx, whose offline-state you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-offline-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean is_open = ultraschall.InputFX_GetOpen(integer fxindex, optional integer tracknumber)
boolean is_open |
true, fx is visible; false, fx is not visible |
integer fxindex |
the index of the monitoring-fx, whose visibility-state you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-visibility-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
number curval, number minval, number maxval = ultraschall.InputFX_GetParam(integer fxindex, integer paramindex, optional integer tracknumber)
number curval |
the current value of the parameter |
number minval |
the minimum value of this parameter |
number maxval |
the maximum value of this parameter |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer paramindex |
the parameter, whose value you want to retrieve; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter-states you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
number curval, number minval, number maxval, number midval = ultraschall.InputFX_GetParamEx(integer fxindex, integer paramindex, optional integer tracknumber)
number curval |
the current value of the parameter |
number minval |
the minimum value of this parameter |
number maxval |
the maximum value of this parameter |
number midval |
the mid-value of this parameter |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer paramindex |
the parameter, whose value you want to retrieve; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-param-states you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string paramname = ultraschall.InputFX_GetParamName(integer fxindex, integer paramindex, optional integer tracknumber)
boolean retval |
true, name can be returned; false, name cannot be returned |
string paramname |
the name of the parameter |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer paramindex |
the parameter, whose name you want to retrieve; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter-name you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer normalized_value = ultraschall.InputFX_GetParamNormalized(integer fxindex, integer paramindex, optional integer tracknumber)
integer normalized_value |
the normalized version of the current value |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer paramindex |
the parameter, whose normalized value you want to retrieve; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-param-normalized-state you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, number step, number smallstep, number largestep, boolean istoggle = ultraschall.InputFX_GetParameterStepSizes(integer fxindex, integer paramindex, optional integer tracknumber)
boolean retval |
true, stepsize is available; false; stepsize is not available; nil, in case of an error |
number step |
the stepsize of this parameter |
number smallstep |
the stepsize of a small step of this parameter |
number largestep |
the stepsize of a large step of this parameter |
boolean istoggle |
true, this parameter is a toggle parameter; false, this parameter is not a togle parameter |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer paramindex |
the parameter, whose values you want to retrieve; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter-stepsizes you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer pinmappings_Lo32Bit, integer pinmappings_Hi32Bit = ultraschall.InputFX_GetPinMappings(integer fxindex, integer isoutput, integer pin, optional integer tracknumber)
integer pinmappings_Lo32Bit |
a bitmask for the first 32 connectors, where each bit represents, if this pin is connected(1) or not(0) |
integer pinmappings_Hi32Bit |
a bitmask for the second 32 connectors, where each bit represents, if this pin is connected(1) or not(0) |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer isoutput |
0, for querying input pins; 1, for querying output pins |
integer pin |
the pin requested, like 0(left), 1(right), etc. |
optional integer tracknumber |
the tracknumber, whose inputFX-pinmappings you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, string preset = ultraschall.InputFX_GetPreset(integer fxindex, optional integer tracknumber)
boolean retval |
true, fx exists; false, fx does not exist |
string preset |
the name of the currently selected preset; "", if no preset is selected |
integer fxindex |
the index of the monitoring-fx, whose currently selected presetname-state you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-preset you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer selected_preset, integer number_of_presets = ultraschall.InputFX_GetPresetIndex(integer fxindex, optional integer tracknumber)
integer selected_preset |
the index of the currently selected preset; 0, if no preset is selected |
integer number_of_presets |
the number of presets available |
integer fxindex |
the index of the monitoring-fx, whose currently selected preset-index you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-preset you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
string preset_filename = ultraschall.InputFX_GetUserPresetFilename(integer fxindex, optional integer tracknumber)
string preset_filename |
the filename of the preset-file; nil, of not existing |
integer fxindex |
the index of the monitoring-fx, whose preset's-filename you want to query; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-preset-filename you want to get; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_MoveFX(integer old_fxindex, integer new_fxindex, optional integer tracknumber_source, optional integer tracknumber_target)
boolean retval |
true, moving was successful; false, moving was unsuccessful |
integer old_fxindex |
the index of the input-fx to be moved; 1-based |
integer new_fxindex |
the new position of the input-fx; 1-based |
optional integer tracknumber_source |
the tracknumber of the track, from whose inputFX you want to move the fx; 1-based; nil, master-track |
optional integer tracknumber_target |
the tracknumber of the track, to which you want to move the inputFX; 1-based; nil, master-track |
integer dest_fx = ultraschall.InputFX_MoveFXFromTakeFX(MediaItem_Take take, integer src_fx, integer dest_fx, optional integer dest_tracknumber)
integer dest_fx |
the index of the inserted FX, just in case it differs; 1-based |
MediaItem_Take take |
the take, from which you want to move the takeFX |
integer src_fx |
the index takeFX that shall be movd; 1-based |
integer dest_fx |
the index, at which you want to insert the fx into the monitoring FXChain; 1-based |
optional integer dest_tracknumber |
the tracknumber, to which you want to move a new inputFX; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer retval = ultraschall.InputFX_MoveFXFromTrackFX(MediaTrack track, integer old_fxindex, integer new_fxindex, optional integer tracknumberInputFX)
integer retval |
the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error |
MediaTrack track |
the track from which you want to copy a trackfx to monitoring-fx |
integer old_fxindex |
the index of the monitoring-fx to be moved; 1-based |
integer new_fxindex |
the position of the newly inserted input-fx; 1-based |
optional integer tracknumberInputFX |
the tracknumber, to whose inputFX the fx shall be moved to; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer dest_fx = ultraschall.InputFX_MoveFXToTakeFX(integer src_fx, MediaItem_Take take, integer dest_fx)
integer dest_fx |
the index of the inserted FX, just in case it differs; 1-based |
integer src_fx |
the index inputFX that shall be moved; 1-based |
MediaItem_Take take |
the take, into which you want to insert the fx as takeFX |
integer dest_fx |
the index, at which you want to insert the fx; 1-based |
optional integer src_tracknumber |
the tracknumber, whose inputFX you want to move; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer retval = ultraschall.InputFX_MoveFXToTrackFX(integer old_fxindex, MediaTrack track, integer new_fxindex)
integer retval |
the index of the inserted fx(in case of being different from new_fxindex); -1, in case of an error |
integer old_fxindex |
the index of the monitoring-fx to be moved; 1-based |
MediaTrack track |
the track into which you want to insert the trackFX |
integer new_fxindex |
the position of the newly inserted track-fx; 1-based |
boolean retval = ultraschall.InputFX_NavigatePresets(integer fxindex, integer presetmove, optional integer tracknumber)
boolean retval |
true, altering was successful; false, altering was unsuccessful |
integer fxindex |
the index of the monitoring-fx, whose preset you want to switch through; 1-based |
integer presetmove |
positive, move forward by value of presetmove; negative, move backwards by value of presetmove |
optional integer tracknumber |
the tracknumber, whose inputFX-preset you want to navigate; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
integer fxindex = ultraschall.InputFX_QueryFirstFXIndex(string fxname, optional integer tracknumber)
integer fxindex |
the index of the queried fx; 1-based; -1, in case of an error |
string fxname |
the name of the fx to be queried |
optional integer tracknumber |
the tracknumber, to whose inputFX the fx shall be added; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetEQBandEnabled(integer fxindex, integer bandtype, integer bandidx, boolean enable, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer bandtype |
the bandtype of the band to change; -1, master gain 0, hipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass 6, bandpass |
integer bandidx |
0, first band matching bandtype; 1, 2nd band matching bandtype, etc. |
boolean enable |
true, enable band; false, disable band |
optional integer tracknumber |
the tracknumber, whose inputFX-eq-band-enabled-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetEQParam(integer fxindex, integer bandtype, integer bandidx, integer paramtype, number val, boolean isnorm)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer bandtype |
the bandtype of the band to change; -1, master gain 0, hipass 1, loshelf 2, band 3, notch 4, hishelf 5, lopass 6, bandpass |
integer bandidx |
(ignored for master gain): 0, target first band matching bandtype; 1, target 2nd band matching bandtype, etc. |
integer paramtype |
0, freq; 1, gain; 2, Q |
number val |
the new value for the paramtype of a bandidx |
boolean isnorm |
true, value is normalized; false, value is not normalized |
optional integer tracknumber |
the tracknumber, whose inputFX-eq-param-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetEnabled(integer fxindex, boolean enabled, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx which you want to disable/enable; 1-based |
boolean enabled |
true, enable the monitoring-fx; false, disable the monitoring-fx |
optional integer tracknumber |
the tracknumber, whose inputFX-enabled-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetFXChain(string FXStateChunk, boolean replacefx, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
string FXStateChunk |
the FXStateChunk that shall be set as monitoring fx-chain |
boolean replacefx |
true, replace the current monitoring-fx-chain with the new one; false, only insert the new fx at the end of the FXChain |
optional integer tracknumber |
the track, whose inputFX-chain you want to set; 0 or nil, global monitoring fx |
boolean retval = ultraschall.InputFX_SetOffline(integer fxindex, boolean offline, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx which you want to set offline/online; 1-based |
boolean offline |
true, set the monitoring-fx offline; false, set the monitoring-fx online |
optional integer tracknumber |
the tracknumber, whose inputFX-offline-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetOpen(integer fxindex, boolean open, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx which you want to visible/invisible; 1-based |
boolean open |
true, set the monitoring-fx visible; false, set the monitoring-fx invisible |
optional integer tracknumber |
the tracknumber, whose inputFX-visibility-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetParam(integer fxindex, index parameterindex, number val, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx; 1-based |
index parameterindex |
the index of the parameter to be set; 1-based |
number val |
the new value to set |
optional integer tracknumber |
the tracknumber, whose inputFX-param-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetParamNormalized(integer fxindex, index parameterindex, number val, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx; 1-based |
index parameterindex |
the index of the parameter to be set; 1-based |
number val |
the new value to set |
optional integer tracknumber |
the tracknumber, whose inputFX-parameter you want to set normalized; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetPinMappings(integer fxindex, integer isoutput, integer pin, integer low32bits, integer hi32bits, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx; 1-based |
integer isoutput |
0, for querying input pins; 1, for querying output pins |
integer pin |
the pin requested, like 0(left), 1(right), etc. |
integer pinmappings_Lo32Bit |
a bitmask for the first 32 connectors, where each bit represents, if this pin is connected(1) or not(0) |
integer pinmappings_Hi32Bit |
a bitmask for the second 32 connectors, where each bit represents, if this pin is connected(1) or not(0) |
optional integer tracknumber |
the tracknumber, whose inputFX-pinmappings you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetPreset(integer fxindex, string presetname)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx of which you want to set the preset; 1-based |
string presetname |
the name of the preset, that you want to select |
optional integer tracknumber |
the tracknumber, whose inputFX-preset you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_SetPresetByIndex(integer fxindex, integer presetindex, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx which you want to set the preset; 1-based |
integer presetindex |
the index of the preset, that you want to select; 0, for default; -1, for no preset; 1-based |
optional integer tracknumber |
the tracknumber, whose inputFX-preset you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval = ultraschall.InputFX_Show(integer fxindex, integer showflag, optional integer tracknumber)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer fxindex |
the index of the monitoring-fx which you want to set the preset; 1-based |
integer showflag |
0, for hidechain 1, for show chain(index valid) 2, for hide floating window (index valid) 3, for show floating window (index valid) |
optional integer tracknumber |
the tracknumber, whose inputFX-shown-state you want to set; 0 or nil, global monitoring fx; 1 and higher, track 1 and higher |
boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmalias)
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Alias-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1 |
integer parmidx |
the parameter, whose alias you want to add |
string parmalias |
the new aliasname of the parameter |
integer count = ultraschall.CountParmAlias_FXStateChunk(string FXStateChunk, integer fxid)
integer count |
the number of ParmAliases found |
string FXStateChunk |
the FXStateChunk, in which you want to count a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-count-Parm-Learn-entry; beginning with 1 |
boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx)
boolean retval |
true, if deletion was successful; false, if the function couldn't delete anything |
string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, which you want to delete a ParmAlias from |
integer fxid |
the id of the fx, which holds the to-delete-ParmAlias-entry; beginning with 1 |
integer parmidx |
the id of the parameter, whose parmalias you want to delete; beginning with 1 |
boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id)
Deletes a ParmAlias-entry from an FXStateChunk.
It's the PARMALIAS-entry
See GetParmAliasID_by_FXParam_FXStateChunk to get the parameter id by fx-parameter-index instead.
returns false in case of an error
boolean retval |
true, if deletion was successful; false, if the function couldn't delete anything |
string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, which you want to delete a ParmAlias from |
integer fxid |
the id of the fx, which holds the to-delete-ParmAlias-entry; beginning with 1 |
integer id |
the id of the ParmAlias-entry to delete; beginning with 1 |
integer count_aliasnames, array parameteridx, array parameter_aliasnames = ultraschall.GetAllParmAliasNames_FXStateChunk(string FXStateChunk, integer fxid)
integer count_aliasnames |
the number of parameter-aliases found for this fx |
array parameteridx |
an array, which holds all parameter-index-numbers of all fx with parameter-aliasnames |
array parameter_aliasnames |
an array with all parameter-aliasnames found |
string FXStateChunk |
the FXStateChunk, from which you want to get all Parm-Aliases |
integer fxid |
the id of the fx, whose Parm-Aliases you want to get |
integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parm_aliasname |
the alias-name of the parameter |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the ParmAlias-settings |
integer fxid |
the fx, of which you want to get the parameter-alias-settings |
integer parmidx |
the id of the parameter whose aliasname you want to have, starting with 1 for the first |
integer parmalias_id, = ultraschall.GetParmAliasID_by_FXParam_FXStateChunk(string FXStateChunk, integer fxid, integer param_id)
integer parmalias_id |
the idx of the parmalias, that you can use for Add/Get/Set/DeleteParmAlias-functions; -1, if parameter has no ParmAlias associated |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the parmalias_id |
integer fxid |
the fx, of which you want to get the parmalias_id |
integer param_id |
the parameter, whose parmalias_id you want to get |
integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id)
Returns a parameter-alias-setting from an FXStateChunk An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.
Parameter-aliases are only stored for MediaTracks.
It is the PARMALIAS-entry
See GetParmAliasID_by_FXParam_FXStateChunk to get the parameter id by fx-parameter-index instead.
Returns nil in case of an error
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parm_aliasname |
the alias-name of the parameter |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the ParmAlias-settings |
integer fxid |
the fx, of which you want to get the parameter-alias-settings |
integer id |
the id of the ParmAlias-settings you want to have, starting with 1 for the first |
integer parm_idx, string parm_aliasname = ultraschall.GetParmAlias_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parm_aliasname |
the alias-name of the parameter |
MediaTrack MediaTrack |
the MediaTrack, whose ParmAlias-setting you want to get |
integer fxid |
the fx, of which you want to get the parameter-alias-settings |
integer id |
the id of the ParmAlias-settings you want to have, starting with 1 for the first |
boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmAlias2_FXStateChunk(string FXStateChunk, integer fxid, integer id, string parmalias)
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Alias-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1 |
integer id |
the index of the parameter, whose Parm-Alias-entry you want to to set; beginning with 1 |
string parmalias |
the new aliasname of the parameter |
boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmAlias_FXStateChunk(string FXStateChunk, integer fxid, integer id, string parmalias)
Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.
It's the PARMALIAS-entry
The parameter id counts with the first aliasname found in the FXStateChunk for this fx, regardless, if the first found aliasname is for parameter 1 or 23, etc. If you want to adress it by parameter-index, use SetParmAlias2_FXStateChunk instead.
returns false in case of an error
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Alias-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Alias-entry; beginning with 1 |
integer id |
the id of the Parm-Alias-entry to set; beginning with 1 |
string parmalias |
the new aliasname of the parameter |
boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message)
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 |
integer parmidx |
the parameter, whose alias you want to add |
string parmname |
the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give! |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLFOLearn, only when midi_note is set to 0! |
integer count = ultraschall.CountParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid)
integer count |
the number of LFOLearn-entries found |
string FXStateChunk |
the FXStateChunk, in which you want to count a Parm-LFOLearn-entry |
integer fxid |
the id of the fx, which holds the to-count-Parm-LFOLearn-entry; beginning with 1 |
boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)
Deletes a ParmLFO-Learn-entry from an FXStateChunk.
It's the LFOLEARN-entry
See GetParmLFOLearnID_by_FXParam_FXStateChunk to get the parameter id by fx-parameter-index instead.
returns false in case of an error
boolean retval |
true, if deletion was successful; false, if the function couldn't delete anything |
string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, which you want to delete a ParmLFO-Learn-entry from |
integer fxid |
the id of the fx, which holds the to-delete-ParmLFO-Learn-entry; beginning with 1 |
integer id |
the id of the ParmLFO-Learn-entry to delete; beginning with 1 |
integer parm_lfolearn_id, = ultraschall.GetParmLFOLearnID_by_FXParam_FXStateChunk(string FXStateChunk, integer fxid, integer param_id)
integer parm_lfolearn_id |
the idx of the parm_lfolearn, that you can use for Add/Get/Set/DeleteParmLFOLearn-functions; -1, if parameter has no ParmLFOLearn associated |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the parm_lfolearn_id |
integer fxid |
the fx, of which you want to get the parameter-lfo_learn-settings |
integer param_id |
the parameter, whose parm_lfolearn_id you want to get |
integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id)
Returns a parameter-lfo-learn-setting from an FXStateChunk An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.
It is the LFOLEARN-entry
See GetParmLFOLearnID_by_FXParam_FXStateChunk to get the parameter id by fx-parameter-index instead.
Returns nil in case of an error
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only wet or bypass |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLFOLearn |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the ParmLFOLearn-settings |
integer fxid |
the fx, of which you want to get the parameter-lfo-learn-settings |
integer id |
the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first |
integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_MediaItem(MediaItem MediaItem, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only wet or bypass |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLFOLearn |
MediaItem MediaItem |
the MediaItem, whose ParmLFOLearn-setting you want to get |
integer fxid |
the fx, of which you want to get the parameter-lfo-learn-settings |
integer id |
the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first |
integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLFOLearn_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only wet or bypass |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLFOLearn |
MediaTrack MediaTrack |
the MediaTrack, whose ParmLFOLearn-setting you want to get |
integer fxid |
the fx, of which you want to get the parameter-lfo-learn-settings |
integer id |
the id of the ParmLFOLearn-settings you want to have, starting with 1 for the first |
boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLFOLearn_FXStateChunk(string FXStateChunk, integer fxid, integer id, integer midi_note, integer checkboxflags, optional string osc_message)
Sets an already existing ParmLFO-Learn-entry of an FX-plugin from an FXStateChunk.
It's the LFOLEARN-entry
See GetParmLFOLearnID_by_FXParam_FXStateChunk to get the parameter id by fx-parameter-index instead.
returns false in case of an error
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLFO) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a ParmLFO-Learn-entry |
integer fxid |
the id of the fx, which holds the to-set-ParmLFO-Learn-entry; beginning with 1 |
integer id |
the id of the ParmLFO-Learn-entry to set; beginning with 1 |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLFOLearn, only when midi_note is set to 0! |
boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message)
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 |
integer parmidx |
the parameter, whose Parameter Learn you want to add |
string parmname |
the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give, otherwise just pass "" |
integer midi_note |
an integer representation of the MIDI-note, which is set as command; 0, in case of an OSC-message examples: 0, OSC is used 176, MIDI Chan 1 CC 0 ... 432, MIDI Chan 1 CC 1 ... 9360, MIDI Chan 1 Note 36 9616, MIDI Chan 1 Note 37 9872, MIDI Chan 1 Note 38 ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn, only when midi_note is set to 0! |
boolean retval, optional string alteredFXStateChunk = ultraschall.AddParmLearn_FXStateChunk2(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer input_mode, integer channel, integer cc_note, integer cc_mode, integer checkboxflags, optional string osc_message)
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 |
integer parmidx |
the parameter, whose Parameter Learn you want to add; 0-based |
string parmname |
the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give, otherwise just pass "" |
integer input_mode |
the input mode of this ParmLearn-entry 0, OSC 1, MIDI Note 2, MIDI CC 3, MIDI PC 4, MIDI Pitch |
integer channel |
the midi-channel used; 1-16 |
integer cc_note |
the midi/cc-note used; 0-127 |
integer cc_mode |
the cc-mode-dropdownlist 0, Absolute 1, Relative 1(127=-1, 1=+1) 2, Relative 2(63=-1, 65=+1) 3, Relative 3(65=-1, 1=+1) 4, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn, only when midi_note is set to 0! |
integer count = ultraschall.CountParmLearn_FXStateChunk(string FXStateChunk, integer fxid)
integer count |
the number of ParmLearn-entries found |
string FXStateChunk |
the FXStateChunk, in which you want to count a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-count-Parm-Learn-entry; beginning with 1 |
boolean retval, string alteredFXStateChunk = ultraschall.DeleteParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmlearn_id)
Deletes a ParmLearn-entry from an FXStateChunk.
Unlike DeleteParmLearn2_FXStateChunk, this indexes by the already existing parmlearns and not by parameters.
See GetParmLearnID_by_FXParam_FXStateChunk to get the parmlearnid by fx-parameter-index instead of parmid.
returns false in case of an error
boolean retval |
true, if deletion was successful; false, if the function couldn't delete anything |
string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, which you want to delete a ParmLearn from |
integer fxid |
the id of the fx, which holds the to-delete-ParmLearn-entry; beginning with 1 |
integer parmlearn_id |
the id of the ParmLearn-entry to delete; beginning with 1 |
integer parmlearn_id, = ultraschall.GetParmLearnID_by_FXParam_FXStateChunk(string FXStateChunk, integer fxid, integer param_id)
integer parmlearn_id |
the idx of the parmlearn, that you can use for Add/Get/Set/DeleteParmLearn-functions; -1, if parameter has no ParmLearn associated |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the parmlearn |
integer fxid |
the fx, of which you want to get the parmlearn_id |
integer param_id |
the parameter, whose parmlearn_id you want to get |
integer enable_state, boolean softtakeover, integer ccmode = ultraschall.GetParmLearn_Default()
integer enable_state |
the radiobuttons in the parmlearn-dialog 0, no option selected 1, enable only when track or item is selected 2, enable only when effect configuration is focused 3, enable only when effect configuration is visible |
boolean softtakeover |
true, set softtakeover checkbox checked; false, set softtakeover checkbox unchecked |
integer ccmode |
the ccmode-dropdownlist 0, Absolute 1, Relative 1 (127=-1, 1=+1) 2, Relative 2 (63=-1, 65=+1) 3, Relative 3 (65=-1, 1=+1) 4, Toggle (>0=Toggle) |
integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmlearn_id)
Returns a parameter-learn-setting from an FXStateChunk An FXStateChunk holds all FX-plugin-settings for a specific MediaTrack or MediaItem.
It is the PARMLEARN-entry
See GetParmLearnID_by_FXParam_FXStateChunk to get the parmlearnid by fx-parameter-index instead of parmid.
Returns nil in case of an error
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only "wet" or "byp" or "" to get the actual displayed parametername, you need to use the reaper.TrackFX_GetParamName-function |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the ParmLearn-settings |
integer fxid |
the fx, of which you want to get the parameter-learn-settings |
integer parmlearn_id |
the id of the ParmLearn-settings you want to have, starting with 1 for the first |
integer parm_idx, string parmname, integer input_mode, integer channel, integer cc_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_FXStateChunk2(string FXStateChunk, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only "wet" or "byp" or "" to get the actual displayed parametername, you need to use the reaper.TrackFX_GetParamName-function |
integer input_mode |
the input mode of this ParmLearn-entry 0, OSC 1, MIDI Note 2, MIDI CC 3, MIDI PC 4, MIDI Pitch |
integer channel |
the midi-channel used; 1-16 |
integer cc_note |
the midi/cc-note used; 0-127 |
integer cc_mode |
the cc-mode-dropdownlist 0, Absolute 1, Relative 1(127=-1, 1=+1) 2, Relative 2(63=-1, 65=+1) 3, Relative 3(65=-1, 1=+1) 4, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the ParmLearn-settings |
integer fxid |
the fx, of which you want to get the parameter-learn-settings |
integer id |
the id of the ParmLearn-settings you want to have, starting with 1 for the first |
integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_MediaItem(MediaItem MediaItem, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only wet or bypass |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn |
MediaItem MediaItem |
the MediaItem, whose ParmLearn-setting you want to get |
integer fxid |
the fx, of which you want to get the parameter-learn-settings |
integer id |
the id of the ParmLearn-settings you want to have, starting with 1 for the first |
integer parm_idx, string parmname, integer midi_note, integer checkboxflags, optional string osc_message = ultraschall.GetParmLearn_MediaTrack(MediaTrack MediaTrack, integer fxid, integer id)
integer parm_idx |
the idx of the parameter; order is exactly like the order in the contextmenu of Parameter List -> Learn |
string parmname |
the name of the parameter, though usually only wet or bypass |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn |
MediaTrack MediaTrack |
the MediaTrack, whose ParmLearn-setting you want to get |
integer fxid |
the fx, of which you want to get the parameter-learn-settings |
integer id |
the id of the ParmLearn-settings you want to have, starting with 1 for the first |
boolean retval = ultraschall.SetParmLearn_Default(integer enable_state, boolean softtakeover, integer ccmode)
boolean retval |
true, setting was successful; false, setting was unsuccessful |
integer enable_state |
the radiobuttons in the parmlearn-dialog 0, no option selected 1, enable only when track or item is selected 2, enable only when effect configuration is focused 3, enable only when effect configuration is visible |
boolean softtakeover |
true, set softtakeover checkbox checked; false, set softtakeover checkbox unchecked |
integer ccmode |
the ccmode-dropdownlist 0, Absolute 1, Relative 1 (127=-1, 1=+1) 2, Relative 2 (63=-1, 65=+1) 3, Relative 3 (65=-1, 1=+1) 4, Toggle (>0=Toggle) |
boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLearn_FXStateChunk(string FXStateChunk, integer fxid, integer parmlearn_id, integer midi_note, integer checkboxflags, optional string osc_message)
Sets an already existing Parm-Learn-entry of an FX-plugin from an FXStateChunk.
It's the PARMLEARN-entry
See GetParmLearnID_by_FXParam_FXStateChunk to get the parmlearnid by fx-parameter-index instead of parmid.
returns false in case of an error
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 |
integer parmlearn_id |
the id of the Parm-Learn-entry to set; beginning with 1 |
integer midi_note |
the midinote, that is assigned to this; this is a multibyte value, with the first byte being the MIDI-mode, and the second byte the MIDI/CC-note 0, OSC is used 176, MIDI Chan 1 CC 0 (Byte1=176, Byte2=0) ... 432, MIDI Chan 1 CC 1 (Byte1=176, Byte2=1) ... 144, MIDI Chan 1 Note 1 (Byte1=144, Byte2=0) 400, MIDI Chan 1 Note 1 (Byte1=144, Byte2=1) ... 9360, MIDI Chan 1 Note 36 (Byte1=144, Byte2=36) 9616, MIDI Chan 1 Note 37 (Byte1=144, Byte2=37) 9872, MIDI Chan 1 Note 38 (Byte1=144, Byte2=38) ... CC Mode-dropdownlist: set the following flags to their specific values (0=0, 1=the value beginning &, like &65536 or &131072 or &262144) &65536 &131072 &262144 0 0 0, Absolute 1 0 0, Relative 1(127=-1, 1=+1) 0 1 0, Relative 2(63=-1, 65=+1) 1 1 0, Relative 3(65=-1, 1=+1) 0 0 1, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn, only when midi_note is set to 0! |
boolean retval, optional string alteredFXStateChunk = ultraschall.SetParmLearn_FXStateChunk2(string FXStateChunk, integer fxid, integer parmidx, string parmname, integer input_mode, integer channel, integer cc_note, integer cc_mode, integer checkboxflags, optional string osc_message)
boolean retval |
true, if setting new values was successful; false, if setting was unsuccessful(e.g. no such ParmLearn) |
optional string alteredFXStateChunk |
the altered FXStateChunk |
string FXStateChunk |
the FXStateChunk, in which you want to set a Parm-Learn-entry |
integer fxid |
the id of the fx, which holds the to-set-Parm-Learn-entry; beginning with 1 |
integer parmidx |
the parameter, whose Parameter Learn you want to add; 0-based |
string parmname |
the name of the parameter, usually \"\" or \"byp\" for bypass or \"wet\" for wet; when using wet or bypass, these are essential to give, otherwise just pass "" |
integer input_mode |
the input mode of this ParmLearn-entry 0, OSC 1, MIDI Note 2, MIDI CC 3, MIDI PC 4, MIDI Pitch |
integer channel |
the midi-channel used; 1-16 |
integer cc_note |
the midi/cc-note used; 0-127 |
integer cc_mode |
the cc-mode-dropdownlist 0, Absolute 1, Relative 1(127=-1, 1=+1) 2, Relative 2(63=-1, 65=+1) 3, Relative 3(65=-1, 1=+1) 4, Toggle (>0=toggle) |
integer checkboxflags |
the checkboxes checked in the MIDI/OSC-learn dialog 0, no checkboxes 1, enable only when track or item is selected 2, Soft takeover (absolute mode only) 3, Soft takeover (absolute mode only)+enable only when track or item is selected 4, enable only when effect configuration is focused 20, enable only when effect configuration is visible |
optional string osc_message |
the osc-message, that triggers the ParmLearn, only when midi_note is set to 0! |
string FXStateChunk = ultraschall.AddParmMod_ParmModTable(string FXStateChunk, integer fxindex, table ParmModTable)
Takes a ParmModTable and adds with its values a new Parameter Modulation of a specific fx within an FXStateChunk.
The expected table's format is as follows:
ParmModTable["PARAM_NR"] - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
ParmModTable["PARAM_TYPE"] - the type of the parameter, usually "", "wet" or "bypass"
ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
- Enable parameter modulation, baseline value(envelope overrides)-checkbox;
true, checked; false, unchecked
ParmModTable["PARAMOD_BASELINE"] - Enable parameter modulation, baseline value(envelope overrides)-slider;
0.000 to 1.000
ParmModTable["AUDIOCONTROL"] - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
Note: if true, this needs all AUDIOCONTROL_-entries to be set
ParmModTable["AUDIOCONTROL_CHAN"] - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
nil, if not available
ParmModTable["AUDIOCONTROL_STEREO"] - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
AUDIOCONTROL_CHAN+1; nil, if not available
ParmModTable["AUDIOCONTROL_ATTACK"] - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
ParmModTable["AUDIOCONTROL_RELEASE"] - the Release-slider; 0-1000ms; nil, if not available
ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
nil, if not available
ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
nil, if not available
ParmModTable["AUDIOCONTROL_STRENGTH"] - the Strength-slider; 0(0%) to 1000(100%)
ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
ParmModTable["X2"]=0.5 - the audiocontrol signal shaping-x-coordinate
ParmModTable["Y2"]=0.5 - the audiocontrol signal shaping-y-coordinate
ParmModTable["LFO"] - if the LFO-checkbox checked; true, checked; false, unchecked
Note: if true, this needs all LFO_-entries to be set
ParmModTable["LFO_SHAPE"] - the LFO Shape-dropdownlist;
0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
nil, if not available
ParmModTable["LFO_SHAPEOLD"] - use the old-style of the LFO_SHAPE;
0, use current style of LFO_SHAPE;
1, use old style of LFO_SHAPE;
nil, if not available
ParmModTable["LFO_TEMPOSYNC"] - the Tempo sync-checkbox; true, checked; false, unchecked
ParmModTable["LFO_SPEED"] - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
ParmModTable["LFO_STRENGTH"] - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
ParmModTable["LFO_PHASE"] - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
ParmModTable["LFO_DIRECTION"] - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
ParmModTable["LFO_PHASERESET"] - the LFO Phase reset-dropdownlist;
0, On seek/loop(deterministic output)
1, Free-running(non-deterministic output)
nil, if not available
ParmModTable["MIDIPLINK"] - true, if any parameter-linking with MIDI-stuff; false, if not
Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
ParmModTable["PARMLINK"] - the Link from MIDI or FX parameter-checkbox
true, checked; false, unchecked
ParmModTable["PARMLINK_LINKEDPLUGIN"] - the selected plugin; nil, if not available
- will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
-1, nothing selected yet
-100, MIDI-parameter-settings
1 - the first fx-plugin
2 - the second fx-plugin
3 - the third fx-plugin, etc
ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
- 0, use parameter of the current fx-plugin
- negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
- positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
- nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
When MIDI, this is irrelevant.
When FX-parameter:
0 to n; 0 for the first; 1, for the second, etc
ParmModTable["PARMLINK_OFFSET"] - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
ParmModTable["PARMLINK_SCALE"] - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
ParmModTable["MIDIPLINK"] - true, if any parameter-linking with MIDI-stuff; false, if not
Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
ParmModTable["MIDIPLINK_BUS"] - the MIDI-bus selected in the button-menu;
0 to 15 for bus 1 to 16;
nil, if not available
ParmModTable["MIDIPLINK_CHANNEL"] - the MIDI-channel selected in the button-menu;
0, omni; 1 to 16 for channel 1 to 16;
nil, if not available
ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
144, MIDI note
160, Aftertouch
176, CC 14Bit and CC
192, Program Change
208, Channel Pressure
224, Pitch
ParmModTable["MIDIPLINK_MIDINOTE"] - the MIDI-note selected in the button-menu; nil, if not available
When MIDI note:
0(C-2) to 127(G8)
When Aftertouch:
0(C-2) to 127(G8)
When CC14 Bit:
128 to 159; see dropdownlist for the commands(the order of the list
is the same as this numbering)
When CC:
0 to 119; see dropdownlist for the commands(the order of the list
is the same as this numbering)
When Program Change:
0
When Channel Pressure:
0
When Pitch:
0
ParmModTable["WINDOW_ALTERED"] - false, if the windowposition hasn't been altered yet; true, if the window has been altered
Note: if true, this needs all WINDOW_-entries to be set
ParmModTable["WINDOW_ALTEREDOPEN"] - if the position of the ParmMod-window is altered and currently open;
nil, unchanged; 0, unopened; 1, open
ParmModTable["WINDOW_XPOS"] - the x-position of the altered ParmMod-window in pixels; nil, default position
ParmModTable["WINDOW_YPOS"] - the y-position of the altered ParmMod-window in pixels; nil, default position
ParmModTable["WINDOW_RIGHT"] - the right-position of the altered ParmMod-window in pixels;
nil, default position; only readable
ParmModTable["WINDOW_BOTTOM"] - the bottom-position of the altered ParmMod-window in pixels;
nil, default position; only readable
This function does not check, if the values are within valid value-ranges, only if the datatypes are valid.
returns nil in case of an error
string FXStateChunk |
the altered FXStateChunk, where the ParameterModulation shall be added |
string FXStateChunk |
an FXStateChunk, of which you want to add the values of a specific parameter-modulation |
integer fxindex |
the index of the fx, of which you want to add specific parameter-modulation-values |
table ParmModTable |
the table which holds all parameter-modulation-values to be added |
integer number_of_parmmodulations = ultraschall.CountParmModFromFXStateChunk(string FXStateChunk, integer fxindex)
integer number_of_parmmodulations |
the number of parameter-modulations available for this fx within this FXStateChunk |
string FXStateChunk |
the FXStateChunk from which you want to count the parameter-modulations available for a specific fx |
integer fxindex |
the index of the fx, whose number of parameter-modulations you want to know |
table ParmModTable = ultraschall.CreateDefaultParmModTable()
returns a parameter-modulation-table with default settings set. You can alter these settings to your needs before committing it to an FXStateChunk.
The checkboxes for "Audio control signal (sidechain)", "LFO", "Link from MIDI or FX parameter" are unchecked and the fx-parameter is set to 1(the first parameter of the plugin). To enable and change them, you need to alter the following entries accordingly, or applying the ParmModTable has no effect:
ParmModTable["AUDIOCONTROL"] - the checkbox for "Audio control signal (sidechain)"
ParmModTable["LFO"] - the checkbox for "LFO"
ParmModTable["PARMLINK"] - the checkbox for "Link from MIDI or FX parameter"
ParmModTable["PARAM_NR"] - the index of the fx-parameter for which the parameter-modulation-table is intended
The table's format and its default-values is as follows:
ParmModTable["PARAM_NR"] - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
ParmModTable["PARAM_TYPE"] - the type of the parameter, usually "", "wet" or "bypass"
ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
- Enable parameter modulation, baseline value(envelope overrides)-checkbox;
true, checked; false, unchecked
ParmModTable["PARAMOD_BASELINE"] - Enable parameter modulation, baseline value(envelope overrides)-slider;
0.000 to 1.000
ParmModTable["AUDIOCONTROL"] - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
Note: if true, this needs all AUDIOCONTROL_-entries to be set
ParmModTable["AUDIOCONTROL_CHAN"] - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
nil, if not available
ParmModTable["AUDIOCONTROL_STEREO"] - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
AUDIOCONTROL_CHAN+1; nil, if not available
ParmModTable["AUDIOCONTROL_ATTACK"] - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
ParmModTable["AUDIOCONTROL_RELEASE"] - the Release-slider; 0-1000ms; nil, if not available
ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
nil, if not available
ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
nil, if not available
ParmModTable["AUDIOCONTROL_STRENGTH"] - the Strength-slider; 0(0%) to 1000(100%)
ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
ParmModTable["X2"]=0.5 - the audiocontrol signal shaping-x-coordinate
ParmModTable["Y2"]=0.5 - the audiocontrol signal shaping-y-coordinate
ParmModTable["LFO"] - if the LFO-checkbox checked; true, checked; false, unchecked
Note: if true, this needs all LFO_-entries to be set
ParmModTable["LFO_SHAPE"] - the LFO Shape-dropdownlist;
0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
nil, if not available
ParmModTable["LFO_SHAPEOLD"] - use the old-style of the LFO_SHAPE;
0, use current style of LFO_SHAPE;
1, use old style of LFO_SHAPE;
nil, if not available
ParmModTable["LFO_TEMPOSYNC"] - the Tempo sync-checkbox; true, checked; false, unchecked
ParmModTable["LFO_SPEED"] - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
ParmModTable["LFO_STRENGTH"] - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
ParmModTable["LFO_PHASE"] - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
ParmModTable["LFO_DIRECTION"] - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
ParmModTable["LFO_PHASERESET"] - the LFO Phase reset-dropdownlist;
0, On seek/loop(deterministic output)
1, Free-running(non-deterministic output)
nil, if not available
ParmModTable["MIDIPLINK"] - true, if any parameter-linking with MIDI-stuff; false, if not
Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
ParmModTable["PARMLINK"] - the Link from MIDI or FX parameter-checkbox
true, checked; false, unchecked
ParmModTable["PARMLINK_LINKEDPLUGIN"] - the selected plugin; nil, if not available
- will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
-1, nothing selected yet
-100, MIDI-parameter-settings
1 - the first fx-plugin
2 - the second fx-plugin
3 - the third fx-plugin, etc
ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
- 0, use parameter of the current fx-plugin
- negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
- positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
- nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
When MIDI, this is irrelevant.
When FX-parameter:
0 to n; 0 for the first; 1, for the second, etc
ParmModTable["PARMLINK_OFFSET"] - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
ParmModTable["PARMLINK_SCALE"] - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
ParmModTable["MIDIPLINK"] - true, if any parameter-linking with MIDI-stuff; false, if not
Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
ParmModTable["MIDIPLINK_BUS"] - the MIDI-bus selected in the button-menu;
0 to 15 for bus 1 to 16;
nil, if not available
ParmModTable["MIDIPLINK_CHANNEL"] - the MIDI-channel selected in the button-menu;
0, omni; 1 to 16 for channel 1 to 16;
nil, if not available
ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
144, MIDI note
160, Aftertouch
176, CC 14Bit and CC
192, Program Change
208, Channel Pressure
224, Pitch
ParmModTable["MIDIPLINK_MIDINOTE"] - the MIDI-note selected in the button-menu; nil, if not available
When MIDI note:
0(C-2) to 127(G8)
When Aftertouch:
0(C-2) to 127(G8)
When CC14 Bit:
128 to 159; see dropdownlist for the commands(the order of the list
is the same as this numbering)
When CC:
0 to 119; see dropdownlist for the commands(the order of the list
is the same as this numbering)
When Program Change:
0
When Channel Pressure:
0
When Pitch:
0
ParmModTable["WINDOW_ALTERED"] - false, if the windowposition hasn't been altered yet; true, if the window has been altered
Note: if true, this needs all WINDOW_-entries to be set
ParmModTable["WINDOW_ALTEREDOPEN"] - if the position of the ParmMod-window is altered and currently open;
nil, unchanged; 0, unopened; 1, open
ParmModTable["WINDOW_XPOS"] - the x-position of the altered ParmMod-window in pixels; nil, default position
ParmModTable["WINDOW_YPOS"] - the y-position of the altered ParmMod-window in pixels; nil, default position
ParmModTable["WINDOW_RIGHT"] - the right-position of the altered ParmMod-window in pixels;
nil, default position; only readable
ParmModTable["WINDOW_BOTTOM"] - the bottom-position of the altered ParmMod-window in pixels;
nil, default position; only readable
table ParmModTable |
a ParmModTable with all settings set to Reaper's defaults |
string altered_FXStateChunk, boolean altered = ultraschall.DeleteParmModFromFXStateChunk(string FXStateChunk, integer fxindex, integer parmidx)
string altered_FXStateChunk |
the FXStateChunk, from which the |
boolean altered |
true, deleting was successful; false, deleting was unsuccessful |
string FXStateChunk |
the FXStateChunk from which you want to delete a parameter-modulation of a specific fx |
integer fxindex |
the index of the fx, whose parameter-modulations you want to delete |
integer parmmodidx |
the parameter-index, whose parameter-modulation you want to delete |
table ParmModulationTable = ultraschall.GetParmModTable_FXStateChunk(string FXStateChunk, integer fxindex, integer parmodindex)
Returns a table with all values of a specific Parameter-Modulation from an FXStateChunk.
The table's format is as follows:
ParmModTable["PARAM_NR"] - the parameter that you want to modulate; 1 for the first, 2 for the second, etc
ParmModTable["PARAM_TYPE"] - the type of the parameter, usually "", "wet" or "bypass"
ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"]
- Enable parameter modulation, baseline value(envelope overrides)-checkbox;
true, checked; false, unchecked
ParmModTable["PARAMOD_BASELINE"] - Enable parameter modulation, baseline value(envelope overrides)-slider;
0.000 to 1.000
ParmModTable["AUDIOCONTROL"] - is the Audio control signal(sidechain)-checkbox checked; true, checked; false, unchecked
Note: if true, this needs all AUDIOCONTROL_-entries to be set
ParmModTable["AUDIOCONTROL_CHAN"] - the Track audio channel-dropdownlist; When stereo, the first stereo-channel;
nil, if not available
ParmModTable["AUDIOCONTROL_STEREO"] - 0, just use mono-channels; 1, use the channel AUDIOCONTROL_CHAN plus
AUDIOCONTROL_CHAN+1; nil, if not available
ParmModTable["AUDIOCONTROL_ATTACK"] - the Attack-slider of Audio Control Signal; 0-1000 ms; nil, if not available
ParmModTable["AUDIOCONTROL_RELEASE"] - the Release-slider; 0-1000ms; nil, if not available
ParmModTable["AUDIOCONTROL_MINVOLUME"] - the Min volume-slider; -60dB to 11.9dB; must be smaller than AUDIOCONTROL_MAXVOLUME;
nil, if not available
ParmModTable["AUDIOCONTROL_MAXVOLUME"] - the Max volume-slider; -59.9dB to 12dB; must be bigger than AUDIOCONTROL_MINVOLUME;
nil, if not available
ParmModTable["AUDIOCONTROL_STRENGTH"] - the Strength-slider; 0(0%) to 1000(100%)
ParmModTable["AUDIOCONTROL_DIRECTION"] - the direction-radiobuttons; -1, negative; 0, centered; 1, positive
ParmModTable["X2"]=0.5 - the audiocontrol signal shaping-x-coordinate
ParmModTable["Y2"]=0.5 - the audiocontrol signal shaping-y-coordinate
ParmModTable["LFO"] - if the LFO-checkbox checked; true, checked; false, unchecked
Note: if true, this needs all LFO_-entries to be set
ParmModTable["LFO_SHAPE"] - the LFO Shape-dropdownlist;
0, sine; 1, square; 2, saw L; 3, saw R; 4, triangle; 5, random
nil, if not available
ParmModTable["LFO_SHAPEOLD"] - use the old-style of the LFO_SHAPE;
0, use current style of LFO_SHAPE;
1, use old style of LFO_SHAPE;
nil, if not available
ParmModTable["LFO_TEMPOSYNC"] - the Tempo sync-checkbox; true, checked; false, unchecked
ParmModTable["LFO_SPEED"] - the LFO Speed-slider; 0(0.0039Hz) to 1(8.0000Hz); nil, if not available
ParmModTable["LFO_STRENGTH"] - the LFO Strength-slider; 0.000(0.0%) to 1.000(100.0%)
ParmModTable["LFO_PHASE"] - the LFO Phase-slider; 0.000 to 1.000; nil, if not available
ParmModTable["LFO_DIRECTION"] - the LFO Direction-radiobuttons; -1, Negative; 0, Centered; 1, Positive
ParmModTable["LFO_PHASERESET"] - the LFO Phase reset-dropdownlist;
0, On seek/loop(deterministic output)
1, Free-running(non-deterministic output)
nil, if not available
ParmModTable["MIDIPLINK"] - true, if any parameter-linking with MIDI-stuff; false, if not
Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
ParmModTable["PARMLINK"] - the Link from MIDI or FX parameter-checkbox
true, checked; false, unchecked
ParmModTable["PARMLINK_LINKEDPLUGIN"] - the selected plugin; nil, if not available
- will be ignored, when PARMLINK_LINKEDPLUGIN_RELATIVE is set
-1, nothing selected yet
-100, MIDI-parameter-settings
1 - the first fx-plugin
2 - the second fx-plugin
3 - the third fx-plugin, etc
ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] - the linked plugin relative to the current one in the FXChain
- 0, use parameter of the current fx-plugin
- negative, use parameter of a plugin above of the current plugin(-1, the one above; -2, two above, etc)
- positive, use parameter of a plugin below the current plugin(1, the one below; 2, two below, etc)
- nil, use only the plugin linked absolute(the one linked with PARMLINK_LINKEDPARMIDX)
ParmModTable["PARMLINK_LINKEDPARMIDX"] - the id of the linked parameter; -1, if none is linked yet; nil, if not available
When MIDI, this is irrelevant.
When FX-parameter:
0 to n; 0 for the first; 1, for the second, etc
ParmModTable["PARMLINK_OFFSET"] - the Offset-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
ParmModTable["PARMLINK_SCALE"] - the Scale-slider; -1.00(-100%) to 1.00(+100%); nil, if not available
ParmModTable["MIDIPLINK"] - true, if any parameter-linking with MIDI-stuff; false, if not
Note: if true, this needs all MIDIPLINK_-entries and PARMLINK_LINKEDPLUGIN=-100 to be set
ParmModTable["MIDIPLINK_BUS"] - the MIDI-bus selected in the button-menu;
0 to 15 for bus 1 to 16;
nil, if not available
ParmModTable["MIDIPLINK_CHANNEL"] - the MIDI-channel selected in the button-menu;
0, omni; 1 to 16 for channel 1 to 16;
nil, if not available
ParmModTable["MIDIPLINK_MIDICATEGORY"] - the MIDI_Category selected in the button-menu; nil, if not available
144, MIDI note
160, Aftertouch
176, CC 14Bit and CC
192, Program Change
208, Channel Pressure
224, Pitch
ParmModTable["MIDIPLINK_MIDINOTE"] - the MIDI-note selected in the button-menu; nil, if not available
When MIDI note:
0(C-2) to 127(G8)
When Aftertouch:
0(C-2) to 127(G8)
When CC14 Bit:
128 to 159; see dropdownlist for the commands(the order of the list
is the same as this numbering)
When CC:
0 to 119; see dropdownlist for the commands(the order of the list
is the same as this numbering)
When Program Change:
0
When Channel Pressure:
0
When Pitch:
0
ParmModTable["WINDOW_ALTERED"] - false, if the windowposition hasn't been altered yet; true, if the window has been altered
Note: if true, this needs all WINDOW_-entries to be set
ParmModTable["WINDOW_ALTEREDOPEN"] - if the position of the ParmMod-window is altered and currently open;
nil, unchanged; 0, unopened; 1, open
ParmModTable["WINDOW_XPOS"] - the x-position of the altered ParmMod-window in pixels; nil, default position
ParmModTable["WINDOW_YPOS"] - the y-position of the altered ParmMod-window in pixels; nil, default position
ParmModTable["WINDOW_RIGHT"] - the right-position of the altered ParmMod-window in pixels;
nil, default position; only readable
ParmModTable["WINDOW_BOTTOM"] - the bottom-position of the altered ParmMod-window in pixels;
nil, default position; only readable
returns nil in case of an error
table ParmModulationTable |
a table which holds all values of a specfic parameter-modulation |
string FXStateChunk |
an FXStateChunk, of which you want to get the values of a specific parameter-modulation |
integer fxindex |
the index if the fx, of which you want to get specific parameter-modulation-values |
integer parmodindex |
the parameter-modulation, whose values you want to get; 1, for the first; 2, for the second, etc |
string parm_modulation_chunk = ultraschall.GetParmModulationChunk_FXStateChunk(string FXStateChunk, integer fxid, integer id)
string parm_modulation_chunk |
a chunk of the parameter-modulation settings |
string FXStateChunk |
the FXStateChunk, from which you want to retrieve the Parameter-modulation-settings |
integer fxid |
the fx, of which you want to get the parameter-modulation-chunk-settings |
integer id |
the id of the Parameter-modulation you want to have, starting with 1 for the first |
boolean retval = ultraschall.IsValidParmModTable(table ParmModTable)
boolean retval |
true, ParmModTable is a valid one; false, ParmModTable has errors(use SLEM() to get which one) |
table ParmModTable |
the table to check, if it's a valid ParmModTable |
string FXStateChunk = ultraschall.SetParmMod_ParmModTable(string FXStateChunk, integer fxindex, table ParmModTable)