From 1f6c946af7eaca2985e89afb2a7d4d01d95a0e6f Mon Sep 17 00:00:00 2001 From: Meo-Ada Mespotine Date: Fri, 24 Dec 2021 17:25:53 +0100 Subject: [PATCH] Bugfix --- .../ultraschall_functions_Render_Module.lua | 4 +- .../ultraschall_functions_engine_beta.lua | 721 -- ultraschall_api4.2_006.zip | Bin 8322578 -> 8317186 bytes ultraschall_api_prerelease_index.xml | 8644 ++--------------- 4 files changed, 637 insertions(+), 8732 deletions(-) diff --git a/ultraschall_api/Modules/ultraschall_functions_Render_Module.lua b/ultraschall_api/Modules/ultraschall_functions_Render_Module.lua index 6d3ab40f..be33c14f 100644 --- a/ultraschall_api/Modules/ultraschall_functions_Render_Module.lua +++ b/ultraschall_api/Modules/ultraschall_functions_Render_Module.lua @@ -5528,8 +5528,8 @@ function ultraschall.RenderProject_RenderTable(projectfilename_with_path, Render local Filearray={} if aborted~=true then for i=1, Count do - --print2(MediaItemStateChunkArray[i]:match("% - Docs_GetUSDocBloc_Changelog - - Ultraschall=4.2 - Reaper=5.978 - Lua=5.3 - - integer changelogscount, table changelogs = ultraschall.Docs_GetUSDocBloc_Changelog(string String, boolean unindent_description, integer index) - - returns the changelog-entries of an US_DocBloc-entry - - this returns the version-number of the software and the changes introduced in that version inside a table. - - returns nil in case of an error - - - integer changelogscount - the number of changelog-entries found - array changelogs - all changelogs found, as an array - - changelogs[index][1] - software-version of the introduction of the change, like "Reaper 6.23" or "US_API 4.2.006" - - changelogs[index][2] - a description of the change - - - string String - a string which hold a US_DocBloc to retrieve the changelog-entry from - boolean unindent_description - true, will remove indentation as given in the changelog-tag; false, return the text as it is - integer index - the index of the changelog-entries, starting with 1 for the first - - - Ultraschall DocML - - US_Api_DOC - ultraschall_doc_engine.lua - doc engine, get, changelog, usdocbloc - -]] - if type(String)~="string" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_Changelog", "String", "must be a string", -1) return nil end - if math.type(index)~="integer" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_Changelog", "index", "must be an integer", -2) return nil end - if index<1 then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_Changelog", "index", "must be >0", -3) return nil end - if type(unindent_description)~="boolean" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_Changelog", "unindent_description", "must be a boolean", -4) return nil end - - local counter=0 - local title, spok_lang, found - for k in string.gmatch(String, "(.-)") do - counter=counter+1 - if counter==index then String=k found=true end - end - - if found~=true then return 0 end - - local parms=String:match("(.-)") - local count, split_string = ultraschall.SplitStringAtLineFeedToArray(parms) - local Parmcount=0 - local Params={} - - for i=1, count do - split_string[i]=split_string[i]:match("%s*(.*)") - end - for i=2, count do - if split_string[i]:match("%-")==nil then - elseif split_string[i]:sub(1,1)~="-" then - Parmcount=Parmcount+1 - Params[Parmcount]={} - Params[Parmcount][1], Params[Parmcount][2]=split_string[i]:match("(.-)%-(.*)") - Params[Parmcount][1]=Params[Parmcount][1].."\0" - Params[Parmcount][1]=Params[Parmcount][1]:match("(.*) %s*\0") - else - Params[Parmcount][2]=Params[Parmcount][2].."\n"..split_string[i]:sub(2,-1) - end - end - - if indent==nil then indent="default" end - - if unindent_description~=false then - for i=1, Parmcount do - Params[i][2]=ultraschall.Docs_RemoveIndent(Params[i][2], indent) - end - end - - return Parmcount, Params -end -function ultraschall.Docs_GetUSDocBloc_LinkedTo(String, unindent_description, index) ---[[ - - Docs_GetUSDocBloc_LinkedTo - - Ultraschall=4.2 - Reaper=5.978 - Lua=5.3 - - integer linked_to_count, table links, string description = ultraschall.Docs_GetUSDocBloc_LinkedTo(string String, boolean unindent_description, integer index) - - returns the linked_to-tags of an US_DocBloc-entry - - returns nil in case of an error - - - integer linked_to_count - the number of linked_to-entries found - array links - all links found, as an array - - links[index]["location"] - the location of the link, either inline(for slugs inside the same document) or url(for links/urls/uris outside of it) - - links[index]["link"] - the slug to the element inside the document/the url or uri linking outside of the document - - links[index]["description"] - a description for this link - string description - a description for this linked_to-tag - - - string String - a string which hold a US_DocBloc to retrieve the linked_to-entry from - boolean unindent_description - true, will remove indentation as given in the changelog-tag; false, return the text as it is - integer index - the index of the linked_to-entries, starting with 1 for the first - - - Ultraschall DocML - - US_Api_DOC - ultraschall_doc_engine.lua - doc engine, get, linked_to, usdocbloc - -]] ---[[ - linked_to tags work as follows: - - inline: slug - description - optional second line of description - optional third line of description - etc - url: actual-url.com - description - optional second line of description - optional third line of description - etc - - - There can be multiple link-tags inside a usdocml-tag! ---]] - if type(String)~="string" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_LinkedTo", "String", "must be a string", -1) return nil end - if math.type(index)~="integer" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_LinkedTo", "index", "must be an integer", -2) return nil end - if index<1 then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_LinkedTo", "index", "must be >0", -3) return nil end - if type(unindent_description)~="boolean" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_LinkedTo", "unindent_description", "must be a boolean", -4) return nil end - - local counter=0 - local title, spok_lang, found - for k in string.gmatch(String, "(.-)") do - counter=counter+1 - if counter==index then String=k found=true end - end - - if found~=true then return 0 end - - local parms=String:match("(.-)") - local desc=parms:match("") - if desc==nil then desc="" end - local count, split_string = ultraschall.SplitStringAtLineFeedToArray(parms) - local Linkedcount=0 - local LinkedTo={} - - for i=1, count do - split_string[i]=split_string[i]:match("%s*(.*)") - end - for i=2, count-1 do - if split_string[i]:match(":") then - Linkedcount=Linkedcount+1 - LinkedTo[Linkedcount]={} - LinkedTo[Linkedcount]["location"], LinkedTo[Linkedcount]["link"] = split_string[i]:match("(.-):(.*)") - else - if LinkedTo[Linkedcount]["description"]==nil then LinkedTo[Linkedcount]["description"]="" end - LinkedTo[Linkedcount]["description"]=LinkedTo[Linkedcount]["description"]..split_string[i].."\n" - end - end - - if unindent_description~=false then - for i=1, Linkedcount do - LinkedTo[i]["description"]=ultraschall.Docs_RemoveIndent(LinkedTo[i]["description"]:sub(1,-2), "default") - end - end - - return Linkedcount, LinkedTo, desc -end -function ultraschall.ReturnReaperExeFile_With_Path() ---[[ - - ReturnReaperExeFile_With_Path - - Ultraschall=4.2 - Reaper=6.33 - Lua=5.3 - - string exefile_with_path = ultraschall.ReturnReaperExeFile_With_Path() - - returns the reaper-exe-file with file-path - - - string exefile_with_path - the filename and path of the reaper-executable - - - API-Helper functions - Various - - US_Api_Functions - Modules/ultraschall_functions_HelperFunctions_Module.lua - helper functions, get, exe, filename, path - ---]] - if ultraschall.IsOS_Windows()==true then - -- On Windows - ExeFile=reaper.GetExePath().."\\reaper.exe" - elseif ultraschall.IsOS_Mac()==true then - -- On Mac - ExeFile=reaper.GetExePath().."/Reaper64.app/Contents/MacOS/reaper" - if reaper.file_exists(ExeFile)==false then - ExeFile=reaper.GetExePath().."/Reaper.app/Contents/MacOS/reaper" - end - else - -- On Linux - ExeFile=reaper.GetExePath().."/reaper" - end - return ExeFile -end -function ultraschall.GetParmLearnID_by_FXParam_FXStateChunk(FXStateChunk, fxid, param_id) ---[[ - - GetParmLearnID_by_FXParam_FXStateChunk - - Ultraschall=4.2 - Reaper=5.975 - Lua=5.3 - - integer parmlearn_id, = ultraschall.GetParmLearnID_by_FXParam_FXStateChunk(string FXStateChunk, integer fxid, integer param_id) - - Returns the parmlearn_id by parameter. - This can be used as parameter parm_learn_id for Get/Set/DeleteParmLearn-functions - - Returns -1, if the parameter has no ParmLearn associated. - - Returns nil in case of an error - - - 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 - - - FX-Management - Parameter Mapping Learn - - US_Api_Functions - Modules/ultraschall_functions_FXManagement_Module.lua - fxmanagement, get, parameter, learn, fxstatechunk, osc, midi - -]] - if ultraschall.IsValidFXStateChunk(FXStateChunk)==false then ultraschall.AddErrorMessage("GetParmLearnID_by_FXParam_FXStateChunk", "StateChunk", "Not a valid FXStateChunk", -1) return nil end - if math.type(param_id)~="integer" then ultraschall.AddErrorMessage("GetParmLearnID_by_FXParam_FXStateChunk", "param_id", "must be an integer", -2) return nil end - if math.type(fxid)~="integer" then ultraschall.AddErrorMessage("GetParmLearnID_by_FXParam_FXStateChunk", "fxid", "must be an integer", -3) return nil end - if string.find(FXStateChunk, "\n ")==nil then - FXStateChunk=ultraschall.StateChunkLayouter(FXStateChunk) - end - FXStateChunk=ultraschall.GetFXFromFXStateChunk(FXStateChunk, fxid) - if FXStateChunk==nil then ultraschall.AddErrorMessage("GetParmLearnID_by_FXParam_FXStateChunk", "fxid", "no such fx", -4) return nil end - local count=0 - local name="" - local idx, midi_note, checkboxes - for w in string.gmatch(FXStateChunk, "PARMLEARN.-\n") do - w=w:sub(1,-2).." " - idx = w:match(" (.-) ") - if tonumber(idx)==nil then - idx, name = w:match(" (.-):(.-) ") - end - - if tonumber(idx)==param_id then - return count - end - count=count+1 - end - return -1 -end - - -function ultraschall.GetParmAliasID_by_FXParam_FXStateChunk(FXStateChunk, fxid, param_id) ---[[ - - GetParmAliasID_by_FXParam_FXStateChunk - - Ultraschall=4.2 - Reaper=5.975 - Lua=5.3 - - integer parmalias_id, = ultraschall.GetParmAliasID_by_FXParam_FXStateChunk(string FXStateChunk, integer fxid, integer param_id) - - Returns the parmalias_id by parameter. - - This can be used as parameter parm_alias_id for Get/Set/DeleteParmAlias-functions - - Returns -1, if the parameter has no ParmAlias associated. - - Returns nil in case of an error - - - 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 - - - FX-Management - Parameter Mapping Alias - - US_Api_Functions - Modules/ultraschall_functions_FXManagement_Module.lua - fxmanagement, get, parameter, alias, fxstatechunk, osc, midi - -]] - if ultraschall.IsValidFXStateChunk(FXStateChunk)==false then ultraschall.AddErrorMessage("GetParmAliasID_by_FXParam_FXStateChunk", "StateChunk", "Not a valid FXStateChunk", -1) return nil end - if math.type(param_id)~="integer" then ultraschall.AddErrorMessage("GetParmAliasID_by_FXParam_FXStateChunk", "param_id", "must be an integer", -2) return nil end - if math.type(fxid)~="integer" then ultraschall.AddErrorMessage("GetParmAliasID_by_FXParam_FXStateChunk", "fxid", "must be an integer", -3) return nil end - if string.find(FXStateChunk, "\n ")==nil then - FXStateChunk=ultraschall.StateChunkLayouter(FXStateChunk) - end - FXStateChunk=ultraschall.GetFXFromFXStateChunk(FXStateChunk, fxid) - if FXStateChunk==nil then ultraschall.AddErrorMessage("GetParmAliasID_by_FXParam_FXStateChunk", "fxid", "no such fx", -4) return nil end - local count=0 - local name="" - local idx, midi_note, checkboxes - for w in string.gmatch(FXStateChunk, "PARMALIAS.-\n") do - w=w:sub(1,-2).." " - idx = w:match(" (.-) ") - if tonumber(idx)==nil then - idx, name = w:match(" (.-):(.-) ") - end - - if tonumber(idx)==param_id then - return count - end - count=count+1 - end - return -1 -end - - -function ultraschall.GetParmLFOLearnID_by_FXParam_FXStateChunk(FXStateChunk, fxid, param_id) ---[[ - - GetParmLFOLearnID_by_FXParam_FXStateChunk - - Ultraschall=4.2 - Reaper=5.975 - Lua=5.3 - - integer parm_lfolearn_id, = ultraschall.GetParmLFOLearnID_by_FXParam_FXStateChunk(string FXStateChunk, integer fxid, integer param_id) - - Returns the parmlfolearn_id by parameter. - - This can be used as parameter parm_lfolearn_id for Get/Set/DeleteLFOLearn-functions - - Returns -1, if the parameter has no ParmLFOLearn associated. - - Returns nil in case of an error - - - 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 - - - FX-Management - Parameter Mapping LFOLearn - - US_Api_Functions - Modules/ultraschall_functions_FXManagement_Module.lua - fxmanagement, get, parameter, lfolearn, fxstatechunk, osc, midi - -]] - if ultraschall.IsValidFXStateChunk(FXStateChunk)==false then ultraschall.AddErrorMessage("GetParmLFOLearnID_by_FXParam_FXStateChunk", "StateChunk", "Not a valid FXStateChunk", -1) return nil end - if math.type(param_id)~="integer" then ultraschall.AddErrorMessage("GetParmLFOLearnID_by_FXParam_FXStateChunk", "param_id", "must be an integer", -2) return nil end - if math.type(fxid)~="integer" then ultraschall.AddErrorMessage("GetParmLFOLearnID_by_FXParam_FXStateChunk", "fxid", "must be an integer", -3) return nil end - if string.find(FXStateChunk, "\n ")==nil then - FXStateChunk=ultraschall.StateChunkLayouter(FXStateChunk) - end - FXStateChunk=ultraschall.GetFXFromFXStateChunk(FXStateChunk, fxid) - if FXStateChunk==nil then ultraschall.AddErrorMessage("GetParmLFOLearnID_by_FXParam_FXStateChunk", "fxid", "no such fx", -4) return nil end - local count=0 - local name="" - local idx, midi_note, checkboxes - for w in string.gmatch(FXStateChunk, "LFOLEARN.-\n") do - w=w:sub(1,-2).." " - idx = w:match(" (.-) ") - if tonumber(idx)==nil then - idx, name = w:match(" (.-):(.-) ") - end - - if tonumber(idx)==param_id then - return count - end - count=count+1 - end - return -1 -end - -function ultraschall.GetRenderCFG_Settings_CAF(rendercfg) - --[[ - - GetRenderCFG_Settings_CAF - - Ultraschall=4.2 - Reaper=6.43 - Lua=5.3 - - integer bitdepth, boolean EmbedTempo, integer include_markers = ultraschall.GetRenderCFG_Settings_CAF(string rendercfg) - - Returns the settings stored in a render-cfg-string for CAF. - - You can get this from the current RENDER\_FORMAT using reaper.GetSetProjectInfo_String or from ProjectStateChunks, RPP-Projectfiles and reaper-render.ini - - Returns -1 in case of an error - - - integer bitdepth - the bitdepth of the CAF-file(8, 16, 24, 32(fp), 33(pcm), 64) - boolean EmbedTempo - Embed tempo-checkbox; true, checked; false, unchecked - integer include_markers - the include markers and regions dropdownlist - - 0, Do not include markers or regions - - 1, Markers + Regions - - 2, Markers + Regions starting with # - - 3, Markers only - - 4, Markers starting with # only - - 5, Regions only - - 6, Regions starting with # only - - - string render_cfg - the render-cfg-string, that contains the caf-settings - - nil, get the current new-project-default render-settings for caf - - - Rendering Projects - Analyzing Renderstrings - - US_Api_Functions - Modules/ultraschall_functions_Render_Module.lua - render management, get, settings, rendercfg, renderstring, caff, caf, bitdepth, beat length - - ]] - if rendercfg~=nil and type(rendercfg)~="string" then ultraschall.AddErrorMessage("GetRenderCFG_Settings_CAF", "rendercfg", "must be a string", -1) return -1 end - if rendercfg==nil then - local retval - retval, rendercfg = reaper.BR_Win32_GetPrivateProfileString("caff sink defaults", "default", "", reaper.get_ini_file()) - if retval==0 then rendercfg="6666616340B80088" end - rendercfg = ultraschall.ConvertHex2Ascii(rendercfg) - rendercfg=ultraschall.Base64_Encoder(rendercfg) - end - local Decoded_string = ultraschall.Base64_Decoder(rendercfg) - if Decoded_string==nil or Decoded_string:sub(1,4)~="ffac" then ultraschall.AddErrorMessage("GetRenderCFG_Settings_CAF", "rendercfg", "not a render-cfg-string of the format caf", -2) return -1 end - - if Decoded_string:len()==4 then - return 24, false - end - - dropdownlist=tonumber(string.byte(Decoded_string:sub(6,6))) - if dropdownlist&32~=0 then dropdownlist=dropdownlist-32 end - dropdownlist=dropdownlist>>3 - if dropdownlist==0 then dropdownlist=0 - elseif dropdownlist==1 then dropdownlist=1 - elseif dropdownlist==3 then dropdownlist=2 - elseif dropdownlist==9 then dropdownlist=3 - elseif dropdownlist==11 then dropdownlist=4 - elseif dropdownlist==17 then dropdownlist=5 - elseif dropdownlist==19 then dropdownlist=6 - end - - return string.byte(Decoded_string:sub(5,5)), tonumber(string.byte(Decoded_string:sub(6,6)))&32==32, dropdownlist -end - -function ultraschall.CreateRenderCFG_CAF(bits, EmbedTempo, include_markers) ---[[ - - CreateRenderCFG_CAF - - Ultraschall=4.2 - Reaper=6.43 - Lua=5.3 - - string render_cfg_string = ultraschall.CreateRenderCFG_CAF(integer bits, boolean EmbedTempo, integer include_markers) - - Returns the render-cfg-string for the CAF-format. You can use this in ProjectStateChunks, RPP-Projectfiles and reaper-render.ini - - Returns nil in case of an error - - - string render_cfg_string - the render-cfg-string for the selected CAF-settings - - - integer bitdepth - the bitdepth of the CAF-file(8, 16, 24, 32(fp), 33(pcm), 64) - boolean EmbedTempo - Embed tempo-checkbox; true, checked; false, unchecked - integer include_markers - the include markers and regions dropdownlist - - 0, Do not include markers or regions - - 1, Markers + Regions - - 2, Markers + Regions starting with # - - 3, Markers only - - 4, Markers starting with # only - - 5, Regions only - - 6, Regions starting with # only - - - Rendering Projects - Creating Renderstrings - - US_Api_Functions - Modules/ultraschall_functions_Render_Module.lua - projectfiles, create, render, outputformat, caf - -]] - if math.type(bits)~="integer" then ultraschall.AddErrorMessage("CreateRenderCFG_CAF", "bits", "must be an integer", -1) return nil end - if bits~=8 and bits~=16 and bits~=24 and bits~=32 and bits~=33 and bits~=64 then ultraschall.AddErrorMessage("CreateRenderCFG_CAF", "bits", "only 8, 16, 24, 32, 33(32 pcm) and 64 are supported by CAF", -2) return nil end - if EmbedTempo~=nil and type(EmbedTempo)~="boolean" then ultraschall.AddErrorMessage("CreateRenderCFG_CAF", "EmbedTempo", "must be a boolean", -3) return nil end - - if include_markers==2 then include_markers=3 - elseif include_markers==3 then include_markers=9 - elseif include_markers==4 then include_markers=11 - elseif include_markers==5 then include_markers=17 - elseif include_markers==6 then include_markers=19 - end - - include_markers=include_markers<<3 - - if EmbedTempo==true then include_markers=include_markers+32 end - - local renderstring="ffac"..string.char(bits)..string.char(include_markers)..string.char(0) - renderstring=ultraschall.Base64_Encoder(renderstring) - - return renderstring -end - -function ultraschall.GFX_GetChar(character, manage_clipboard, to_clipboard, readable_characters) ---[[ - - GFX_GetChar - - Ultraschall=4.2 - Reaper=6.42 - Lua=5.3 - - integer first_typed_character, integer num_characters, table character_queue = ultraschall.GFX_GetChar(optional integer character, optional boolean manage_clipboard, optional string to_clipboard, optional boolean readable_characters) - - gets all characters from the keyboard-queue of gfx.getchar as a handy table. - - the returned table character_queue is of the following format: - - character_queue[index]["Code"] - the character-code - character_queue[index]["Ansi"] - the character-code converted into Ansi - character_queue[index]["UTF8"] - the character-code converted into UTF8 - - When readable_characters=true, the entries of the character_queue for Ansi and UTF8 will hold readable strings for non-printable characters, like: - "ins ", "del ", "home", "F1 "-"F12 ", "tab ", "esc ", "pgup", "pgdn", "up ", "down", "left", "rght", "bspc", "ente" - - You can optionally let this function manage clipboard. So hitting Ctrl+V will get put the content of the clipboard into the character_queue of Ansi/UTF8 in the specific position of the character-queue, - while hitting Ctrl+C will put the contents of the parameter to_clipboard into the clipboard in this case. - - Retval first_typed_character behaves basically like the returned character of Reaper's native function gfx.getchar() - - returns -2 in case of an error - - - optional integer character - a specific character-code to check for(will ignore all other keys) - - 65536 queries special flags, like: &1 (supported in this script), &2=window has focus, &4=window is visible - optional boolean manage_clipboard - true, when user hits ctrl+v/cmd+v the character-queue will hold clipboard-contents in this position - - false, treat ctrl+v/cmd+v as regular typed character - optional string to_clipboard - if get_paste_from_clipboard=true and user hits ctrl+c/cmd+c, the contents of this variable will be put into the clipboard - optional boolean readable_characters - true, make non-printable characters readable; false, keep them in original state - - - integer first_typed_character - the character-code of the first character found - integer num_characters - the number of characters in the queue - table character_queue - the characters in the queue, within a table(see description for more details) - - - Key-Management - - US_Api_GFX - ultraschall_gfx_engine.lua - gfx, functions, gfx, getchar, character, clipboard - -]] - if character~=nil and math.type(character)~="integer" then ultraschall.AddErrorMessage("GFX_GetChar", "character", "must be an integer", -1) return -2 end - if manage_clipboard~=nil and type(manage_clipboard)~="boolean" then ultraschall.AddErrorMessage("GFX_GetChar", "manage_clipboard", "must be either nil or boolean", -2) return -2 end - if readable_characters~=nil and type(readable_characters)~="boolean" then ultraschall.AddErrorMessage("GFX_GetChar", "readable_characters", "must be either nil or boolean", -3) return -2 end - to_clipboard=tostring(to_clipboard) - - local A=1 - local CharacterTable={} - local CharacterCount=0 - local first=-2 - while A>0 do - A=gfx.getchar(character) - if first==-2 then first=math.tointeger(A) end - if A>0 then - CharacterCount=CharacterCount+1 - CharacterTable[CharacterCount]={} - CharacterTable[CharacterCount]["Code"]=A - if manage_clipboard==true and A==3 then - ToClip(to_clipboard) - elseif manage_clipboard==true and A==22 and gfx.mouse_cap&4==4 then - CharacterTable[CharacterCount]["Ansi"]=FromClip() - else - if A>-1 and A<255 then - CharacterTable[CharacterCount]["Ansi"]=string.char(A) - else - CharacterTable[CharacterCount]["Ansi"]="" - end - if A>-1 and A<1114112 then - CharacterTable[CharacterCount]["UTF8"]=utf8.char(A) - else - CharacterTable[CharacterCount]["UTF8"]="" - end - if readable_characters==false then - if A>1114112 then - CharacterTable[CharacterCount]["UTF8"] = ultraschall.ConvertIntegerIntoString2(4, math.tointeger(A)):reverse() - CharacterTable[CharacterCount]["Ansi"] = CharacterTable[CharacterCount]["UTF8"] - end - - if A==6647396.0 then -- end-key - CharacterTable[CharacterCount]["Ansi"] = "end " - CharacterTable[CharacterCount]["UTF8"] = "end " - end - if A==6909555.0 then -- insert key - CharacterTable[CharacterCount]["Ansi"] = "ins " - CharacterTable[CharacterCount]["UTF8"] = "ins " - end - if A==6579564.0 then -- del key - CharacterTable[CharacterCount]["Ansi"] = "del " - CharacterTable[CharacterCount]["UTF8"] = "del " - end - if A>26160.0 and A<26170.0 then -- F1 through F9 - CharacterTable[CharacterCount]["Ansi"] = "F"..(math.tointeger(A)-26160).." " - CharacterTable[CharacterCount]["UTF8"] = "F"..(math.tointeger(A)-26160).." " - end - if A>=6697264.0 and A<=6697266.0 then -- F10 and higher - CharacterTable[CharacterCount]["Ansi"] = "F"..(math.tointeger(A)-6697254).." " - CharacterTable[CharacterCount]["UTF8"] = "F"..(math.tointeger(A)-6697254).." " - end - if A==8 then -- backspace - CharacterTable[CharacterCount]["Ansi"] = "bspc" - CharacterTable[CharacterCount]["UTF8"] = "bspc" - end - if A==9 then -- backspace - CharacterTable[CharacterCount]["Ansi"] = "tab " - CharacterTable[CharacterCount]["UTF8"] = "tab " - end - if A==13 then -- enter - CharacterTable[CharacterCount]["Ansi"] = "ente" - CharacterTable[CharacterCount]["UTF8"] = "ente" - end - if A==27 then -- escape - CharacterTable[CharacterCount]["Ansi"] = "esc " - CharacterTable[CharacterCount]["UTF8"] = "esc " - end - if A==30064.0 then -- upkey, others are treated with A>1114112 - CharacterTable[CharacterCount]["Ansi"] = "up " - CharacterTable[CharacterCount]["UTF8"] = "up " - end - - end - end - else - break - end - end - - -- local B="" - -- local C="" - -- for i=1, CharacterCount do - -- B=B..CharacterTable[i]["UTF"] - -- C=C..CharacterTable[i]["Ansi"] - -- end - return first, CharacterCount, CharacterTable--, B, C -end - -function ultraschall.Docs_GetUSDocBloc_Deprecated(US_DocBloc) ---[[ - - Docs_GetUSDocBloc_Deprecated - - Ultraschall=4.2 - Reaper=5.978 - Lua=5.3 - - string what, string when, string alternative = ultraschall.Docs_GetUSDocBloc_Deprecated(string US_DocBloc) - - returns the deprecated-tag of an US-DocBloc, which holds the information about, is a function is deprecated and what to use alternatively. - - returns nil in case of an error or if no such deprecated-tag exists for this US_DocBloc - - - string what - which software deprecated the function "Reaper" or "SWS" or "JS", etc - string when - since which version is this function deprecated - string alternative - what is a possible alternative to this function, if existing - string removed - function got removed - - - string US_DocBloc - a string which hold a US_DocBloc to retrieve the deprecated-tag-attributes from - - - Ultraschall DocML - - US_Api_DOC - ultraschall_doc_engine.lua - doc engine, get, deprecated, usdocbloc - -]] - if type(US_DocBloc)~="string" then ultraschall.AddErrorMessage("Docs_GetUSDocBloc_Deprecated", "US_DocBloc", "must be a string", -1) return end - local Deprecated=US_DocBloc:match("") - if Deprecated == nil then return end - local DepreWhat, Depr_SinceWhen=Deprecated:match("since_when=\"(.-) (.-)\"") - local Depr_Alternative=Deprecated:match("alternative=\"(.-)\"") - local Depr_Removed=Deprecated:match("removed=\"(.-)\"") - --print2(Depr_Removed) - return DepreWhat, Depr_SinceWhen, Depr_Alternative, Depr_Removed~=nil -end \ No newline at end of file diff --git a/ultraschall_api4.2_006.zip b/ultraschall_api4.2_006.zip index f4c19607e8419338e49d9f6b39491fb3a71cf138..f0545c76c8b5641bcd60970830a54a9b71246a9b 100644 GIT binary patch delta 31710 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 delta 37138 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 - - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api_readme.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Changelog-Api.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Readme-First.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_datastructures_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_datastructures_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_doc_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_doc_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_functions_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_functions_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_gfx_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_gfx_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_gui_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_gui_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_gui_engine_server.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_ModulatorLoad3000.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_ModulatorLoad3000.zip - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_network_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_network_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_sound_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_sound_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_tag_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_tag_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_video_engine.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/ultraschall_video_engine_beta.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/reaper-apidocs.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/reaper-config_var.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/Reaper-Internals-readme.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/reaper-videoprocessor-docs.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/Reaper_Config_Files.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/Reaper_StateChunk_Docs.USDOCML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/US_Api-Concepts.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/US_Api-Concepts_AUD.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/US_Api-Concepts_DOC.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/US_Api-Concepts_GFX.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/US_Api-Concepts_GUI.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/DocsSourcefiles/US_Api-Concepts_VID.USDocML - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/ChangeLog.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Downloads.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Impressum.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/index.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Lua_5_3_Reference_Manual.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Reaper-Filetype-Descriptions.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Reaper_Api_Documentation.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Reaper_API_Video_Documentation.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Reaper_API_Web_Documentation.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Reaper_Config_Variables.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/render-codes-decoded-base64-strings.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_AUD.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Concepts_AUD.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Concepts_DOC.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Concepts_GFX.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Concepts_GUI.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Concepts_VID.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_DOC.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Functions.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_GFX.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_GUI.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_Introduction_and_Concepts.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/US_Api_VID.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/double_to_int_2.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/double_to_int_24bit.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/Euro.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/Reaper-factory-default-KEY-Codes_for_reaper-kb_ini.aidfile - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/Reaper-factory-default-KEY-Codes_for_reaper-kb_ini.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/Reaper-Gfx.GetKey_Codes_and_their_associated_character.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/Reaper-Menu-Only-Actions.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/StuffMidiMessage-CharacterCodes.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/IniFiles/ultraschall_api.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/Launchpad_functions.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/Markdown_Newspeak-1.0-draft - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/silence.flac - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/tempproject.RPP - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/Ultraschall_Api_List_Of_USDocML-Containing_Files.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/ultraschall_translation_file_format.USLangPack - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/USDocML-Specs1_0.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_AudioManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_AutomationItems_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Clipboard_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Color_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_ConfigurationFiles_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_ConfigurationSettings_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_DeferManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Envelope_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_EventManager.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_FileManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_FXManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_HelperFunctions_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Imagefile_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Localize_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Markers_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_MediaItem_MediaItemStates_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_MediaItem_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_MetaData_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_MIDIManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Muting_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Navigation_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_ProjectManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_ProjectManagement_ProjectFiles_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_RazorEdit_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_ReaMote_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_ReaperUserInterface_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Render_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Themeing_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_TrackManagement_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_TrackManagement_Routing_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_TrackManagement_TrackStates_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_TrackManager_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_Ultraschall_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/ultraschall_functions_WebInterface_Module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/GetUserInputValues_Helper_Script.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/SetMessageBox_Helper_Script.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Add_Developertools_To_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Add_ExampleScripts_To_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Ultraschall_Add_Mute_Action_For_TracknamePatterns.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Ultraschall_Add_Mute_Action_For_Tracknames.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Ultraschall_API_Settings.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Ultraschall_EventManager.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Lokasenna_GuiLib_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Lua_Reference_Manual.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Video_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Web_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Reaper_ConfigVars_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Functions_Reference.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Introduction_and_Concepts.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_OpenFolder_Api_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_OpenFolder_Api_ExampleScripts.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Remove_Developertools_From_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/ultraschall_Remove_ExampleScripts_From_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_ArrangeView_Snapshots_Example.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_A_Simple_EventManager_with_Backgroundhelpers_and_Defer01.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Colors_ColorTables_ColorCycler.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Colors_Example.lua.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_EventManager_HowTo.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_FileManager_example_showcasing_background_copying.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_GFX_SimpleDrawingTool.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Helpers_ProgressBar_Example.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Markers_DisplayMarkersRegions_underneath_Mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_MediaItems_RippleCut_Selected_Tracks.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_MediaItems_Shorten_MediaItems_In_Selection_Example.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_MediaItems_ShowMediaItems_In_Timeselection_and_SelectedTracks.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Projects_Changed_Project_Tab_Example.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Render_Current_Project.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Render_Project.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Render_Region_of_current_Project.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_SetAliasNamesOfFX-Plugins.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_ultraschall_Soundboard.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Visualize_VideoSamplePeekerJSFX.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts_Examples/US_Api_Examples_Working_with_FXStateChunks_and_MediaItems.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_for_everyone/Functions/placeholder.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_for_everyone/Scripts/placeholder.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Lokasenna_GUI library v2-developer tools.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Lokasenna_GUI library v2.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/CHANGELOG.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/LICENSE - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/scythe.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Changelog.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Changelog_Un.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Downloads.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Downloads_Un.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Impressum.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Impressum_Un.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS-Plugin-Big.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.951.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.962.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.963.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.964.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.971.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.972.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.980.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.986.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.988.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.989.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.990.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.991.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.992.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.995.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.997.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.998.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_0.999.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.000.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.001.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.002.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.010.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.215.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.217.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_1.220.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_Logo_0_962.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/JS_Logo_1_002.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/linedance.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/lua5.3.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/ParmModTable.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/ParmModTable.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Reaper-Logo_5_965.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Reaper-Logo_6_16.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.40.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.50.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.52.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.62.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.70.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.77.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.80.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.90.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.91.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.92.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.94.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.941.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.95.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.96.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.961.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.965.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.97.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.972.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.974.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.975.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.976.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.977.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.978.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.979.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.980.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.981.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.982.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.983.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.987.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper5.99.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.00.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.01.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.02.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.04.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.05.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.09.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.10.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.11.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.12.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.13.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.14.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.15.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.16.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.17.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.18.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.19.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.20.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.23.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.24.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.25.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.26.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.27.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/reaper6.29.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Reaper_Button.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Reaper_Button_Un.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Reaper_Internals.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Reaper_Internals.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_after_option_2.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_after_option_nil.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_before.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_before.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.10.0.1.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.11.0.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.12.0.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.12.1.1.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.12.1.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.8.8.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.9.6.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/sws2.9.7.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/SWS_Logo_2_10_0.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/ultraschall4.00.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/ultraschall4.1.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/ultraschall4.2.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US-API-Logo.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US-header.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US-header.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/us-index.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/us-index.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/us-Kopie.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/us.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US_41_beta.pfi - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US_42_beta.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US_Button.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/gfx/US_Button_Un.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Lua 5.3 Reference Manual_files/logo.gif - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Lua 5.3 Reference Manual_files/lua.css - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Documentation/Lua 5.3 Reference Manual_files/manual.css - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Envelope-StateChunk-Doku.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Jumping_FX_Button_in_TCP-demo.zip - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/LiceCap_ini_doku.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/MediaItemStateChunk-Doku.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/ParmLearnDocs.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Reaper-ActionList.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Reaper-ProjectDefault-ConfigSettings.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Reaper-Render-Strings-docs_Jul2018.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Reaper-StuffMidiMessage-docs.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/Reaper-Windows-ChildIDs.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/render-codes-decoded-base64-strings.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/RenderPreset-Configfile.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/misc/misc_docs/ShowVars_Toggle-5_90pre2_formatted.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Modules/Additionals/VideoProcessor-Presets.RPL - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/HelperDeferScripts/ultraschall_track_old_cursorposition.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/HelperDeferScripts/ultraschall_track_old_loopstate.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/HelperDeferScripts/ultraschall_track_old_playstate.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/ApiDocConverter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/CheckReascriptCPP.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Documentation_ValidtyCheckOfDocs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/FindNewActions.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/MarkDownChecker.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/MarkDownChecker2.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Missing-Actions-List.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Reapack-API-xml-generator.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Reaper_Configvar_String_Searcher.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Ultraschall-LiveEdit.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Ultraschall_API-UnitTest.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Ultraschall_Dashboard.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/ultraschall_Find_Valid_ConfigVariables_In_String.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/ultraschall_ModulerLoader_Generator.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NameMuteToggle_template.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NameMute_template.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NamePatternMuteToggle_template.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NamePatternMute_template.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NamePatternUnMute_template.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NameUnMute_template.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Documentation.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Open Lokasenna_GUI v2 Developer Tools folder.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Core.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Set Lokasenna_GUI v2 library path.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/generate-docs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/.nojekyll - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/doc-parser.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/index.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/testing.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/_sidebar.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/.nojekyll - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/doc-parser.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/index.html - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/testing.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/config.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/core.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/element.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/layer.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/theme.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/window.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/buffer.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/color.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/const.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/error.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/file.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/font.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/gfx.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/image.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/math.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/menu.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/message.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/sprite.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/string.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/table.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/public/text.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ActionlistToIni-Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_CheckForNewConfigVars.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Compare_LangPacks.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Display-Altered-Config-Vars.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Display-Altered-ConfigFile-Entries.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_from_Clipboard_envelope_to_under_mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_from_Clipboard_to_selected_envelope.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_to_Clipboard_envelope_under_mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_to_Clipboard_selected_envelope.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Env_State_Diffs_Monitor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_findConfigVarsToggledByActions.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Find_Duplicated_Lines_In_Clipboard.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_GetPitchShiftModes.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_gfx_deltablit_displayer.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_HWND-Displayer.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_from_Clipboard_to_first_selected_item.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_from_Clipboard_to_item_mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_to_Clipboard_first_selected_item.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_to_Clipboard_item_under_mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Item_State_Diffs_Monitor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_LangPack2Developer_langpack_converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_MonitorParmModulation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Project_State_Diffs_Monitor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_SortLinesInClipboardText.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_StateInspector.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Theme_Parameter_Monitor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_from_Clipboard_to_first_selected_track.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_from_Clipboard_to_track_under_mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_to_Clipboard_first_selected_track.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_to_Clipboard_track_under_mouse.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Track_State_Diffs_Monitor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts_InDevelopment/Ultraschall_StateInspectorV3.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_ConfigVarDocConverter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_ReaScriptConverter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_StateChunkDocConverter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_VideoProcessorDocConverter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ApiDownloads_Generator.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ChangelogConverterDoc.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_AUD.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_DOC.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_GFX.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_GUI.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_VID.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_AUD_Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_DOC_Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_Func_Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_GFX_Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_GUI_Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_VID_Converter.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Adding a Main loop working with Z layers and Rewriting Methods.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Creating elements with keyed tables.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - General demonstration.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - GetUserInputs module.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Menubar Listbox and TextEditor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Typical script options.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Template - Blank class.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Template - Blank GUI script.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/Lokasenna_GUI Builder.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Button.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Frame.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Knob.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Label.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Listbox.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Menubar.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Menubox.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Options.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Slider.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Tabs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Textbox.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - TextEditor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Window.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Modules/Window - GetUserInputs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/doc-parser/doc-parser.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/doc-parser/Doc.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/doc-parser/Md.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/metapackage/generate-dev.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/metapackage/generate-lib.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/metapackage/generate-metapackage.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/metapackage/Lokasenna_Scythe library v3 (developer tools).lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/metapackage/Lokasenna_Scythe library v3.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Scythe_Example - Default parameters.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Scythe_Example - General demonstration.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Scythe_Example - Menubar, Listbox, and TextEditor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Scythe_Example - Typical script options.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Scythe_Example - Working with Images.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/gui-testing/preventDefault1.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/gui-testing/preventDefault2.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/gui-testing/textbox-validation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/gui-testing/user-event-hooks.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/Scythe_Test Runner.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/getting-started/basic-script.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/getting-started/installation.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/getting-started/usage.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/element.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/layer.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/window.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/buffer.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/color.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/error.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/file.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/font.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/gfx.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/image.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/math.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/sprite.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/string.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/table.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/public/text.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/getting-started/basic-script.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/getting-started/installation.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/getting-started/usage.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/gui/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs-src/public/README.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Button.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Checklist.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/ColorPicker.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Frame.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Knob.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Label.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Listbox.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Menubar.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Menubox.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Radio.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Slider.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Tabs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/Textbox.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/TextEditor.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/Readme.txt - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/Ultraschall-Inspector.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/Ultraschall_Inspector_Gfx_GetKey_Codes.ini - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/us.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/class_Properties.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/data_Elements.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Elements.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Export.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Menu.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Prefs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Project.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/tab_Properties.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Help.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Prefs.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Project.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Sidebar.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/deployment/doc-parser/templates/sidebar.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/guybrush small.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/lib/core.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/example.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/getContext.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Button.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Checklist.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/ColorPicker.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Frame.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Knob.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Label.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Listbox.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Menubar.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Menubox.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Radio.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Slider.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Tabs.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/Textbox.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/docs/gui/elements/TextEditor.md - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/shared/option.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/gui/elements/shared/text.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_1.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_10.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_100.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_108.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_112.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_116.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_12.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_14.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_18.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_2.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_20.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_22.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_28.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_3.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_32.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_36.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_44.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_48.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_5.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_52.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_6.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_60.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_64.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_68.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_7.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_76.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_80.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_84.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_92.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/grid_96.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/left_10.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/left_20.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/left_30.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/left_40.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/left_50.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/examples/Working with Images/grid/left_60.png - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/color.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/file.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/math.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/menu.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/message.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/string.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004/ultraschall_api/3rd_party_modules/Scythe/development/testing/tests/public/table.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Add_ExampleScripts_To_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Add_Developertools_To_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Video_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Web_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Reaper_ConfigVars_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Functions_Reference.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Introduction_and_Concepts.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Help_Lua_Reference_Manual.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_OpenFolder_Api_Documentation.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_OpenFolder_Api_ExampleScripts.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Remove_ExampleScripts_From_Reaper.lua - https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.004//ultraschall_api/Scripts/ultraschall_Remove_Developertools_From_Reaper.lua + + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api_readme.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_for_everyone/Functions/placeholder.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_for_everyone/Scripts/placeholder.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Documentation.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Adding a Main loop working with Z layers and Rewriting Methods.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Creating elements with keyed tables.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - General demonstration.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - GetUserInputs module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Menubar Listbox and TextEditor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Example - Typical script options.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Template - Blank GUI script.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Examples and Templates/Template - Blank class.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/Lokasenna_GUI Builder.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/class_Properties.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/data_Elements.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Elements.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Export.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Menu.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Prefs.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/func_Project.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/tab_Properties.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Help.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Prefs.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Project.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/GUI Builder/modules/wnd_Sidebar.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Developer Tools/Open Lokasenna_GUI v2 Developer Tools folder.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Button.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Frame.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Knob.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Label.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Listbox.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Menubar.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Menubox.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Options.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Slider.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Tabs.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - TextEditor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Textbox.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Classes/Class - Window.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Core.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Modules/Window - GetUserInputs.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Library/Set Lokasenna_GUI v2 library path.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Lokasenna_GUI library_v2-developer tools.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/Lokasenna_GUI library_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/3rd_party_modules/Lokasenna_GUI v2/README.md + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Changelog-Api.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/Reaper_StateChunk_Docs.USDOCML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/US_Api-Concepts.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/US_Api-Concepts_AUD.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/US_Api-Concepts_DOC.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/US_Api-Concepts_GFX.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/US_Api-Concepts_VID.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/reaper-apidocs.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/reaper-config_var.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/reaper-videoprocessor-docs.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/DocsSourcefiles/reaper-webRC-docs.USDocML + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/ChangeLog.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Downloads.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Impressum.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Lua 5.3 Reference Manual_files/logo.gif + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Lua 5.3 Reference Manual_files/lua.css + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Lua 5.3 Reference Manual_files/manual.css + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Lua_5_3_Reference_Manual.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Reaper-Filetype-Descriptions.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Reaper_API_Video_Documentation.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Reaper_API_Web_Documentation.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Reaper_Api_Documentation.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/Reaper_Config_Variables.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_AUD.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Concepts_AUD.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Concepts_DOC.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Concepts_GFX.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Concepts_GUI.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Concepts_VID.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_DOC.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Functions.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_GFX.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_GUI.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_Introduction_and_Concepts.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/US_Api_VID.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Changelog.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Changelog_Un.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Downloads.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Downloads_Un.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Impressum.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Impressum_Un.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS-Plugin-Big.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.951.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.962.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.963.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.964.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.971.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.972.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.980.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.986.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.988.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.989.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.990.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.991.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.992.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.995.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.997.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.998.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_0.999.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.000.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.001.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.002.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.010.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.215.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.217.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_1.220.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_Logo_0_962.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/JS_Logo_1_002.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Osara2021.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Osara2021.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ParmModTable.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ParmModTable.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ReaBlink.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ReaImgGui.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Reaper_Button.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Reaper_Button_Un.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Reaper_Internals.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Reaper_Internals.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_after_option_2.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_after_option_nil.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_before.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/Routing_004_RoutingMassManipulation_RoutingMatrix_before.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/SWS_Logo_2_10_0.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US-API-Logo.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US-header.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US-header.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US_41_beta.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US_42_beta.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US_Button.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/US_Button_Un.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/js_0.993.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/linedance.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/lua5.3.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reablink0.4.0.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaimgui0.5.2.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaimgui0.5.3.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaimgui0.5.8.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.40.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.50.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.52.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.62.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.70.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.77.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.80.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.90.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.91.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.92.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.94.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.941.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.95.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.96.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.961.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.965.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.97.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.972.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.974.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.975.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.976.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.977.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.978.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.979.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.980.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.981.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.982.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.983.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.987.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper5.99.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.00.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.01.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.02.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.04.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.05.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.09.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.10.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.11.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.12.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.13.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.14.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.15.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.16.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.17.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.18.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.19.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.20.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.22.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.23.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.24.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.25.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.26.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.27.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.29.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.30.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.30.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.32.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.33.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.34.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.35.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.36.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.37.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.38.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.39.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.40.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.41.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.42.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.43.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/reaper6.965.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.10.0.1.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.10.1.1.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.11.0.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.12.0.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.12.1.1.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.12.1.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.8.8.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.9.6.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.9.7.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/sws2.9.8.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ultraschall4.00.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ultraschall4.1.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/ultraschall4.2.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/us-Kopie.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/us-index.pfi + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/us-index.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/gfx/us.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/index.html + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/render-codes-decoded-base64-strings.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/scripts/clipboard.min.js.Download + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/scripts/scripts.js.Download + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Documentation/style.css + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/Euro.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/Reaper-Gfx.GetKey_Codes_and_their_associated_character.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/Reaper-Menu-Only-Actions.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/Reaper-factory-default-KEY-Codes_for_reaper-kb_ini.aidfile + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/Reaper-factory-default-KEY-Codes_for_reaper-kb_ini.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/StuffMidiMessage-CharacterCodes.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/double_to_int_2.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/double_to_int_24bit.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/IniFiles/ultraschall_api.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/Additionals/VideoProcessor-Presets.RPL + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_AudioManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_AutomationItems_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Clipboard_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Color_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_ConfigurationFiles_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_ConfigurationSettings_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_DeferManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Envelope_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_EventManager.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_FXManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_FileManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_HelperFunctions_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Imagefile_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Localize_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_MIDIManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Markers_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_MediaItem_MediaItemStates_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_MediaItem_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_MetaData_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Muting_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Navigation_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_ProjectManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_ProjectManagement_ProjectFiles_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_RazorEdit_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_ReaMote_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_ReaperUserInterface_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Render_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Themeing_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_TrackManagement_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_TrackManagement_Routing_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_TrackManagement_TrackStates_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_TrackManager_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_Ultraschall_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Modules/ultraschall_functions_WebInterface_Module.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Readme-First.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/GetUserInputValues_Helper_Script.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/HelperDeferScripts/ultraschall_track_old_cursorposition.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/HelperDeferScripts/ultraschall_track_old_loopstate.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/HelperDeferScripts/ultraschall_track_old_playstate.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Relaxing_Screensaver.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/SetMessageBox_Helper_Script.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/ApiDocConverter.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/CheckReascriptCPP.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/Readme.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/Ultraschall-Inspector.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/Ultraschall_Inspector_Gfx_GetKey_Codes.ini + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/Ultraschall_StateInspector/us.png + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ActionlistToIni-Converter.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_CheckForNewConfigVars.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Check_scripts_in_folder_for_deprecated_functions.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Compare_LangPacks.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Copy_Descriptions_and_IDs_from_Listview_of_opened_MetaData-Dialog.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Create_New_Script_With_Dialog.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Display-Altered-Config-Vars.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Display-Altered-ConfigFile-Entries.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Env_State_Diffs_Monitor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_from_Clipboard_envelope_to_under_mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_from_Clipboard_to_selected_envelope.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_to_Clipboard_envelope_under_mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_EnvelopeStateChunk_to_Clipboard_selected_envelope.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Find_Duplicated_Lines_In_Clipboard.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_GetPitchShiftModes.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_HWND-Displayer.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_from_Clipboard_to_first_selected_item.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_from_Clipboard_to_item_mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_to_Clipboard_first_selected_item.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_ItemStateChunk_to_Clipboard_item_under_mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Item_State_Diffs_Monitor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_LangPack2Developer_langpack_converter.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_MonitorParmModulation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Project_State_Diffs_Monitor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_SortLinesInClipboardText.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_StateInspector.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Theme_Parameter_Monitor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_from_Clipboard_to_first_selected_track.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_from_Clipboard_to_track_under_mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_to_Clipboard_first_selected_track.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_TrackStateChunk_to_Clipboard_track_under_mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_Track_State_Diffs_Monitor.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_findConfigVarsToggledByActions.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts/ultraschall_developertool_gfx_deltablit_displayer.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/DeveloperScripts_InDevelopment/Ultraschall_StateInspectorV3.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/DocGenerator_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Doc_CreationPipeLine_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_ConfigVarDocConverter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_FileTypeDocConverter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_ReaScriptConverter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_VideoProcessorDocConverter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Reaper_WebRCDocConverter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ApiDownloads_Generator.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ChangelogConverterDoc.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_DOC_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_GFX_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_VID_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_ConceptsDocConverter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_DOC_Converter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_Func_Converter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_GFX_Converter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Docgenerator/Ultraschall_Doc_VID_Converter_v2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Documentation_ValidtyCheckOfDocs.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/FindNewActions.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/MarkDownChecker.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/MarkDownChecker2.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Missing-Actions-List.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Reapack-API-xml-generator.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Reaper_Configvar_String_Searcher.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Ultraschall-LiveEdit.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Ultraschall_API-UnitTest.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/Ultraschall_Dashboard.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/ultraschall_Find_Valid_ConfigVariables_In_String.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Tools/ultraschall_ModulerLoader_Generator.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NameMuteToggle_template.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NameMute_template.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NamePatternMuteToggle_template.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NamePatternMute_template.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NamePatternUnMute_template.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/UltraschallTemplates/Ultraschall_NameUnMute_template.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Ultraschall_API_Settings.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Ultraschall_Add_Mute_Action_For_TracknamePatterns.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/Ultraschall_Add_Mute_Action_For_Tracknames.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Add_Developertools_To_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Add_ExampleScripts_To_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_EventManager.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Lokasenna_GuiLib_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Lua_Reference_Manual.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Video_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Web_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Reaper_ConfigVars_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Functions_Reference.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Introduction_and_Concepts.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_OpenFolder_Api_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_OpenFolder_Api_ExampleScripts.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Remove_Developertools_From_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts/ultraschall_Remove_ExampleScripts_From_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_A_Simple_EventManager_with_Backgroundhelpers_and_Defer01.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_ArrangeView_Snapshots_Example.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Colors_ColorTables_ColorCycler.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Colors_Example.lua.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_EventManager_HowTo.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_FileManager_example_showcasing_background_copying.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_GFX_SimpleDrawingTool.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Helpers_ProgressBar_Example.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Markers_DisplayMarkersRegions_underneath_Mouse.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_MediaItems_RippleCut_Selected_Tracks.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_MediaItems_Shorten_MediaItems_In_Selection_Example.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_MediaItems_ShowMediaItems_In_Timeselection_and_SelectedTracks.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Projects_Changed_Project_Tab_Example.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Render_Current_Project.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Render_Project.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Render_Region_of_current_Project.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_SetAliasNamesOfFX-Plugins.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Visualize_VideoSamplePeekerJSFX.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_Working_with_FXStateChunks_and_MediaItems.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/Scripts_Examples/US_Api_Examples_ultraschall_Soundboard.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/Launchpad_functions.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/Markdown_Newspeak-1.0-draft + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/USDocML-Specs1_0.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/Ultraschall_Api_List_Of_USDocML-Containing_Files.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/metadata-testfile.xml + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Envelope-StateChunk-Doku.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Jumping_FX_Button_in_TCP-demo.zip + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/LiceCap_ini_doku.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/MediaItemStateChunk-Doku.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/ParmLearnDocs.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Reaper-ActionList.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Reaper-ProjectDefault-ConfigSettings.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Reaper-Render-Strings-docs_Jul2018.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Reaper-StuffMidiMessage-docs.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/Reaper-Windows-ChildIDs.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/RenderPreset-Configfile.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/ShowVars_Toggle-5_90pre2_formatted.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/misc_docs/render-codes-decoded-base64-strings.txt + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/silence.flac + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/tempproject.RPP + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/misc/ultraschall_translation_file_format.USLangPack + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_ModulatorLoad3000.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_doc_engine.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_doc_engine_beta.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_functions_engine.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_functions_engine_beta.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_gfx_engine.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_gfx_engine_beta.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_tag_engine.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_tag_engine_beta.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_video_engine.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006/ultraschall_api/ultraschall_video_engine_beta.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Add_ExampleScripts_To_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Add_Developertools_To_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Video_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Reaper_Api_Web_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Reaper_ConfigVars_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Functions_Reference.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Ultraschall_Api_Introduction_and_Concepts.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Help_Lua_Reference_Manual.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_OpenFolder_Api_Documentation.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_OpenFolder_Api_ExampleScripts.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Remove_ExampleScripts_From_Reaper.lua + https://raw.githubusercontent.com/Ultraschall/ultraschall-lua-api-for-reaper/Ultraschall-API-4.2.006//ultraschall_api/Scripts/ultraschall_Remove_Developertools_From_Reaper.lua fixed -- ConfigurationManagement: KB-ini-functions - - parameter/retval-descriptions were missing information -> fixed -- Developer Tools: State Inspector - the show - item/track/envelope-statechunk modes allow now copy’n’pasting of - statechunks from/to clipboard -- Docs: Filetype Descriptions - added missing descriptions and mouse - modifiers for reaper-mouse.ini -- Docs: Reaper Internals - updated to Reaper 6.29 -- File-Management: BatchConvertFiles - added, as I had forgotten to - add it in the last release -> fixed -- FXManagement: InputFX_AddByName - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_CopyFX - couldn’t copy fx to the end of the - fx-chain -> fixed; supports now inputFX of individual tracks as - well(thanks to X-Raym) -- FXManagement: InputFX_CopyFXFromTakeFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_CopyFXFromTrackFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_CopyFXToTakeFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_CopyFXToTrackFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetCount - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_Delete - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_EndParamEdit - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_FormatParamValue - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_FormatParamValueNormalized - supports now - inputFX of individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetChainVisible - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetEnabled - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetEQ - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetEQBandEnabled - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetEQParam - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetFloatingWindow - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetFormattedParamValue - supports now inputFX - of individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetFXChain - readded global - monitoring-fxchain-entries; supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetFXGUID - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetFXName - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetIOSize - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetNamedConfigParm - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetOffline - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetOpen - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetParam - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetParameterStepSizes - supports now inputFX - of individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetParamEx - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetParamName - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetParamNormalized - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetPinMappings - didn’t work due bug -> fixed, - supports now inputFX of individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetPreset - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_GetUserPresetFilename - supports now inputFX - of individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_MoveFX - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_MoveFXFromTakeFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_MoveFXFromTrackFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_MoveFXToTakeFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_MoveFXToTrackFX - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_NavigatePresets - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_QueryFirstFXIndex - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetEnabled - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetEQBandEnabled - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetEQParam - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetFXChain - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetOffline - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetOpen - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetParam - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetParamNormalized - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetPinMappings - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetPreset - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: InputFX_SetPresetByIndex - supports now inputFX of - individual tracks as well(thanks to X-Raym) -- FXManagement: InputFX_Show - supports now inputFX of individual - tracks as well(thanks to X-Raym) -- FXManagement: IsValidFXStateChunk - supports now inputFX-FXChains as - well(thanks to X-Raym) -- Helper functions: IsOS_Mac - didn’t work on arm-macs due stupid typo - -> fixed(thanks to rstockm) -- Helper functions: StateChunkLayouter - corrected edge-case that - could cause missing > at the end -> fixed -- Parameter-Modulation: CountParmModFromFXStateChunk - didn’t return - correct error-retvals -> fixed -- ProjectManagement: GetProjectStateChunk - had trouble with - Razor-Edit-render-options activated in Reaper 6.26 -> fixed -- Rendering: all functions - support now Razor Area rendering -- Rendering: ApplyRenderTable_Project - allows now setting project to - dirty, if RenderTable is different from the current project’s render - settings; changed a value of the provided RenderTable, which - shouldn’t happen -> fixed -- Rendering: ApplyRenderTable_ProjectFile - changed a value of the - provided RenderTable, which shouldn’t happen -> fixed -- TrackManagement: GetTrackGroupFlagsState - returns now the table - with all 23-entries, even if some checkboxes aren’t set in any group -- TrackManagement: GetTrackGroupFlags_HighState - returns now the - table with all 23-entries, even if some checkboxes aren’t set in any - group - ------------------------------------------------------------------------- - -4.2.003 - “Georg Friedrich Handel - Sarabande” - 6th of February 2021 - -Has now 1385 functions, with 26 new ones - -new in this release: - -- BatchConvertFiles - Ever fancied programming the batch-converter? Now you can, with - BatchConvertFiles. No more fiddling around with command-line. - -- GetProjectStateChunk - Is now improved and finally working stable. What a difficult birth, - but now you can access all your project-states available. - -- FXStateChunk-functions - Getting and setting FXStateChunk-entries should be fully supported - now. Some can’t be set at runtime in Reaper, due some quirks with - setting statechunks, but nevertheless. - -- GetActionCommandIDByFilename - So here’s the story: you have this nice filename of a nice ReaScript - and would like to call it for a date or just by Main_OnCommand, but: - you don’t know the ActionCommandID. GetActionCommandIDByFilename - will be your knight in shining armor and give you what you need. - -- M1-Mac support - Now all scripts using Ultraschall-API run smooth on the new Arm-Macs - as well. Dozens of fixes and bugreports made it possible. - -- SetUIScale - Now you can scale your Reaper-window to planet-size, by setting its - UI-scaling-factor. So if 2 isn’t enough for your oldening eyes, set - it to 100. - -- 2nd pass rendering - Also added, so you can use the new 2nd-pass-rendering-feature in - your scripts. Loop Loop! - -- Custom Markers/Regions - They can now be enumerated, set, deleted and count with "" as well. - This will give you all custom-marker/regions instead of a specific - one. - -- GetItem_ClickState and GetTrackEnvelope_ClickState - Stopped working due bugfix in SWS, now returned back to working due - bugfix in Ultraschall-API. So getting the currently clicked/dragged - item/envelope-point is available again. - -- EditReaScript - Open a specific ReaScript with a specific window-position and size. - So arranging your ReaScript-IDE-windows is now real easy. - Under the assumption, you have a taste for a nice IDE-arrangement. - -- Bugfixes, improvements, speedups - The usual cleanup of old functions that usually eliminate bugs and - slow code. - -New features in 4.2.003 - -- Configuration-files: GetActionCommandIDByFilename - get the - actioncommand-id of a registered script -- Docs: misc/USDocML-Specs1_0.txt - describes the USDocML-format I use - for my Reaper/Ultraschall-API documentation -- File-Management: BatchConvertFiles - allows converting files using - the batch-converter of Reaper -- FX-Management: GetDocked_FXStateChunk - gets the docked state of an - fxchain from an FXStateChunk -- FX-Management: GetFXBypass_FXStateChunk - returns the - BYPASS-entry-values of an FXStateChunk(bypass and online/offline - state) -- FX-Management: GetFXFloatPos_FXStateChunk - returns the float state - and position of the fx-window of an fx in an FXStateChunk -- FX-Management: GetFXGuid_FXStateChunk - returns the guid of an fx in - an FXStateChunk -- FX-Management: GetFXMidiPreset_FXStateChunk - returns the - MIDIPRESET-entry-values of an FXStateChunk(link to midi program - change) -- FX-Management: GetFXWak_FXStateChunk - returns the WAK-entry-values - of an FXStateChunk(embed and send keyboardinput to fx) -- FX-Management: GetLastSel_FXStateChunk - returns the last selected - fx of an FXStateChunk -- FX-Management: GetShow_FXStateChunk - gets the state of visibility - of the fxchain-window and a specific fx from an FXStateChunk -- FX-Management: GetWndRect_FXStateChunk - gets the position of the - fxchain-window when floating from an FXStateChunk -- FX-Management: SetDocked_FXStateChunk - sets the docked state of an - fxchain from an FXStateChunk -- FX-Management: SetFXBypass_FXStateChunk - sets the - BYPASS-entry-values of an FXStateChunk(bypass, online/offline-state) -- FX-Management: SetFXFloatPos_FXStateChunk - sets the float state and - position of the fx-window of an fx in an FXStateChunk -- FX-Management: GetFXGuid_FXStateChunk - sets the new guid of an fx - in an FXStateChunk -- FX-Management: SetFXMidiPreset_FXStateChunk - sets the - MIDIPRESET-entry-values of an FXStateChunk(link to midi program - change) -- FX-Management: SetFXWak_FXStateChunk - sets the WAK-entry-values of - an FXStateChunk(embed and send keyboardinput to fx) -- FX-Management: SetLastSel_FXStateChunk - sets the last selected fx - of an FXStateChunk -- FX-Management: SetShow_FXStateChunk - sets the SHOW-entry-values of - an FXStateChunk(the currently shown fx in the fxchain) -- FX-Management: SetWndRect_FXStateChunk - sets the position of the - fxchain-window when floating from an FXStateChunk -- ItemManagement: GetItemImage - gets the image, associated with an - item in the item-notes-dialog -- ItemManagement: SetItemImage - sets the image, associated with an - item in the item-notes-dialog -- MarkerManagement: GetAllCustomMarkerNames - returns all - custom-marker-names available in the current project(requested by - fernsehmuell) -- MarkerManagement: GetAllCustomRegionNames - returns all - custom-region-names available in the current project(requested by - fernsehmuell) -- Misc: Ultraschall_Api_List_Of_USDocML-Containing_Files.txt - a list - of all Lua-files, that contain Ultraschall-API-related - USDocBlocs(requested by gxray) -- User Interface: GetUIScale - gets the scaling of Reaper’s - UI(requested by willpadgett) -- User Interface: SetUIScale - sets the scaling of Reaper’s - UI(requested by willpadgett) - -Changes from 4.2.002 to 4.2.003 - -- Automation Items: AutomationItem_Delete - didn’t work due stupid - bug, completely rewritten -> fixed(thanks to XRaym) -- Configuration-files: CountKBIniActions - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: CountKBIniKeys - setting filename_with_path=nil - uses default reaper-kb.ini -- Configuration-files: CountKBIniScripts - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: DeleteKBIniActions - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: DeleteKBIniKeys - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: DeleteKBIniScripts - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: GetActionCommandIDByFilename - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: GetKBIniActions - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: GetKBIniActionsID_ByActionCommandID - setting - filename_with_path=nil uses default reaper-kb.ini; rewritten and - sped up by magnitudes; returns found indices as table now; didn’t - work with command-id-numbers -> fixed(thanks to Aaron Cendan) -- Configuration-files: GetKBIniFilepath - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: GetKBIniKeys - setting filename_with_path=nil - uses default reaper-kb.ini -- Configuration-files: GetKBIniKeys_ByActionCommandID - setting - filename_with_path=nil uses default reaper-kb.ini; rewritten and - sped up by magnitudes; returns found indices as table now; didn’t - work with command-id-numbers -> fixed(thanks to Aaron Cendan) -- Configuration-files: GetKBIniScripts - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: GetKBIniScripts_ByActionCommandID - setting - filename_with_path=nil uses default reaper-kb.ini; rewritten and - sped up by magnitudes; returns found indices as table now; didn’t - work with command-id-numbers -> fixed(thanks to Aaron Cendan) -- Configuration-files: QueryKeyboardShortcutByKeyID - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: SetKBIniActions - setting - filename_with_path=nil uses default reaper-kb.ini -- Configuration-files: SetKBIniKeys - setting filename_with_path=nil - uses default reaper-kb.ini -- Configuration-files: SetKBIniScripts - setting - filename_with_path=nil uses default reaper-kb.ini -- Developer Tools: - ultraschall_functions_ProjectManagement_ProjectFiles_Module.lua - - uses now the project active at script-start. -- Developer Tools: ultraschall_ShowProjectDiffs.lua - doesn’t need to - save the project anymore to show changes in the projectfile -- Docs: Reaper Internals - update to Reaper 6.20, SWS 2.12.1.3; added - missing retvals and params, removed duplicated ones -- Docs: Render-presetfile-docs - added 2nd pass render-option -- Doc-Engine: Docs_GetUSDocBloc_Params - returns now 0, when no retval - is found -- Doc-Engine: Docs_GetUSDocBloc_Retvals - returns now 0, when no - retval is found -- Developer: EditReaScript - allows now setting position and size of - the to-open-IDE-window -- EnvelopeManagement: GetTrackEnvelope_ClickState - works now again -- File-Management: CountDirectoriesAndFilesInPath - flushes cache on - Reaper 6.20+ to be more reliable -- File-Management: DirectoryExists - flushes cache on Reaper 6.20+ to - be more reliable -- File-Management: GetAllDirectoriesInPath - flushes cache on Reaper - 6.20+ to be more reliable -- File-Management: GetAllFilenamesInPath - flushes cache on Reaper - 6.20+ to be more reliable -- File-Management: GetAllRecursiveFilesAndSubdirectories - flushes - cache on Reaper 6.20+ to be more reliable -- HelperFunctions: CheckActionCommandIDFormat - returns now true, when - the command-id-number is passed over as string as well; fixes some - functions(thanks to Aaron Cendan) -- HelperFunctions: IsOS_Mac - works now on arm-macs as well(thanks to - rstockm) -- MarkerManagement: AddEditMarker - works now on arm-macs as - well(thanks to rstockm) -- MarkerManagement: AddEditRegion - works now on arm-macs as - well(thanks to rstockm) -- MarkerManagement: AddPodRangeRegion - works now on arm-macs as - well(thanks to rstockm) -- MarkerManagement: CountAllCustomMarkers - "" counts now all - custom-markers, regardless of their name -- MarkerManagement: CountAllCustomRegions - "" counts now all - custom-regions, regardless of their name -- MarkerManagement: DeleteCustomMarkers - "" deletes now over all - custom-markers, regardless of their name -- MarkerManagement: DeleteCustomRegions - "" deletes now over all - custom-regions, regardless of their name -- MarkerManagement: EnumerateCustomMarkers - "" enumerates now over - all custom-markers, regardless of their name -- MarkerManagement: EnumerateCustomRegions - "" enumerates now over - all custom-regions, regardless of their name -- MarkerManagement: GetAllCustomMarkers - "" returns now all - custom-markers, regardless of their name(requested by fernsehmuell) -- MarkerManagement: GetAllCustomRegions - "" returns now all - custom-regions, regardless of their name -- MarkerManagement: IsMarkerValidCustomMarker - "" checks now over all - custom-markers, regardless of their name -- MarkerManagement: IsRegionValidCustomRegion - "" checks now over all - custom-regions, regardless of their name -- MarkerManagement: SetCustomMarker - "" sets now over all - custom-markers, regardless of their name -- MarkerManagement: SetCustomRegion - "" sets now over all - custom-regions, regardless of their name -- MarkerManagement: SetEditRegion - works now on arm-macs as - well(thanks to rstockm) -- MediaItem Management: GetItem_ClickState - works now again -- Miscellaneous: OpenURL - works now on arm-macs as well -- ProjectManagement: GetProjectStateChunk - works now reliable in - Reaper 6.20+; fixed some bugs that might improve stability on - earlier Reaper-versions -- ProjectManagement: GetProject_RenderStems - supports now 2nd pass - rendering(Reaper 6.20+) -- ProjectManagement: IsValidProjectStateChunk - sped up by magnitudes, - which is important for checking huge ProjectStateChunks -- ProjectManagement: SetProject_RenderStems - supports now 2nd pass - rendering(Reaper 6.20+) -- RenderManagement: AddRenderPreset - supports now 2nd pass - rendering(Reaper 6.20+) -- RenderManagement: ApplyRenderTable_Project - supports now 2nd pass - rendering(Reaper 6.20+) -- RenderManagement: ApplyRenderTable_ProjectFile - supports now 2nd - pass rendering(Reaper 6.20+) -- RenderManagement: CreateNewRenderTable - all parameters are optional - and when passed nil, will be set with Reaper’s factory defaults -- RenderManagement: GetRenderCFG_Settings_AIFF - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_AVI_Video - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_AudioCD - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_FLAC - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_GIF - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_LCF - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_MKV_Video - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_MP3 - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_MP3ABR - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_MP3CBR - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_MP3MaxQuality - stabilized - some edgecases -- RenderManagement: GetRenderCFG_Settings_MP3VBR - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_MP4Mac_Video - stabilized - some edgecases -- RenderManagement: GetRenderCFG_Settings_OGG - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_OPUS - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_QTMOVMP4_Video - stabilized - some edgecases -- RenderManagement: GetRenderCFG_Settings_WAV - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_WAVPACK - stabilized some - edgecases -- RenderManagement: GetRenderCFG_Settings_WebMVideo - stabilized some - edgecases -- RenderManagement: GetRenderTable_Project - supports now 2nd pass - rendering(Reaper 6.20+) -- RenderManagement: GetRenderTable_ProjectFile - supports now 2nd pass - rendering(Reaper 6.20+); didn’t return render-cfg and render-cfg2 as - empty string when not set in project -> fixed -- RenderManagement: GetRenderPreset_RenderTable - supports now 2nd - pass rendering(Reaper 6.20+) -- RenderManagement: IsValidRenderTable - supports now 2nd pass - rendering(Reaper 6.20+) -- RenderManagement: RenderProject_RenderTable - supports now 2nd pass - rendering(Reaper 6.20+) -- RenderManagement: SetRenderPreset - supports now 2nd pass - rendering(Reaper 6.20+) - ------------------------------------------------------------------------- - -4.2.002 - “Dave Brubeck - Take Five” - 25th of December 2020 - -Has now 1359 functions, with 8 new ones - -new in this release: - -- Get/Set Comment-field of fx - You can now get and set the comment-field of trackfx and takefx - programmatically. Also gave me the chance to fix some bugs as well - ;) - -- Linesorting script for clipboard-content - Sometimes, you would love to sort the lines in the clipboard. Now - you can, using the new developer-tool. - -- bugfixes and docs - various bugfixes and update to Reaper Internals to Reaper 6.19, SWS - 2.12.1.1, JS-extension 1.220 - -New features in 4.2.002 - -- DeveloperTools: - ultraschall_developertool_SortLinesInClipboardText.lua - sorts the - lines of the string in the clipboard -- FX-Management: CountFXFromFXStateChunk - counts the number of fx in - an FXStateChunk -- FX-Management: GetFXComment_FXStateChunk - allows getting the - comment of an fx within an FXStateChunk(requested by en5ca) -- FX-Management: GetTrackFXComment - gets the text in the - comment-field of a trackfx(requested by en5ca) -- FX-Management: GetTakeFXComment - gets the text in the comment-field - of an itemfx(requested by en5ca) -- FX-Management: InputFX_GetComment - gets the text in the - comment-field of an inputfx -- FX-Management: SetFXComment_FXStateChunk - allows setting the - comment of an fx within an FXStateChunk(requested by en5ca) -- FX-Management: SetTrackFXComment - sets the text in the - comment-field of a trackfx(requested by en5ca) -- FX-Management: SetTakeFXComment - sets the text in the comment-field - of an itemfx(requested by en5ca) - -Changes from 4.2.001 to 4.2.002 - -- API: Settings - allows now turning on/off confirmation dialogs in - certain devtools(for streamlined manipulation of strings); had some - bug, when not set a value yet -> fixed -- Docs: Reaper Internals - updated to Reaper 6.19 and SWS 2.12.1.1 and - JS-extension 1.220 -- File-Management: PreviewMediaFile - allows now setting the - output-channel of the preview as well -- FX-Management: GetFXFromFXStateChunk - didn’t return possible - comment-field -> fixed -- FX-Management: GetFXSettingsString_FXLines - didn’t work due stupid - bug on my side; crashed when an fx didn’t have fx-lines available -> - both fixed(thanks to woodslanding) -- Helper functions: EditReaScript - allows now opening the last file - you opened up with this function by passing nil; adding - Ultraschall-API is now supported; optionally add this script to the - actionlist; docs were wrong -> fixed -- Helper functions: Base64_Decoder - fixed off-by-one-error that could - mess up the last character in the Base-64-string under certain - conditions -- Helper functions: Base64_Encoder - had inner variable exposed -> - fixed -- RenderManagement: ApplyRenderTable_Project - didn’t always apply - Mono-Media and Multi-Channel-checkboxes properly -> fixed(thanks to - aurelien) -- RenderManagement: ApplyRenderTable_ProjectFile - didn’t always apply - Mono-Media and Multi-Channel-checkboxes properly -> fixed(thanks to - aurelien) - ------------------------------------------------------------------------- - -4.2.001 - “Pink Floyd - High Hopes” - 1st of December 2020 - -Has now 1351 functions, with 9 new ones - -new in this release: - -- StuffMIDIMessage and KB.ini-functions - You can now convert the KEY-entry-codes of shortcuts(as stored in - the reaper-kb.ini) into their text representation: - CharacterCodes_ReverseLookup_KBIni - This is also possible, if you use StuffMIDIMessage to send - control-messages, as these can be converted now into their - text-representation as well: CharacterCodes_ReverseLookup - Multiple keymaps supported. - Oh, and did I mention, you can now also get all currently set - shortcuts as a handy table? Optionally with factory-default - shortcuts? - Now I did: KBIniGetAllShortcuts - -- Metadata for AIFF, APE and XMP - As of Reaper 6.16, you can add metadata for AIFF, APE and XMP as - well. I also updated the other metadata-functions to feature the - lastest metadata-features Reaper can offer. - And yes, this includes also support for the new Media Explorer-tags. - -- ConfigVars support in StateInspector - That’s right: you can now monitor config-vars in the StateInspector - as well. I also removed the fact that I accidentally deleted your - saved slots with each updated. - How come, you didn’t tell me that, huh? ;) - -- CleanUp and Speedup - I made Ultraschall-API much smaller by removing tons of useless - files and improving storage of other files by magnitude. - To give you a number: Ultraschall-API is 50% smaller compared to the - previous release. - It also loads now 30% faster, so starting scripts using - Ultraschall-API is now close to lightspeed. - -- Various Bugfixes - The render-string-functions didn’t work properly with floats. Mostly - fps-settings were affected. Now it’s working. - Also the StuffMIDIMessage-docs is improved now and more precise. - -New features in 4.2.001 - -- ConfigFile Management: KBIniGetAllShortcuts - returns all shortcuts - of the currently running Reaper-instance as a handy table -- Helper functions: CharacterCodes_ReverseLookup - converts the - StuffMIDIMessage-bytes(with parameter mode=1) into their - character-representation -- Helper functions: CharacterCodes_ReverseLookup_KBIni - converts the - first two bytes of the KEY-entries in reaper-kb.ini into their - character-representation -- Helper functions: RFR - (ReturnFirstRetvals) allows you to get only - the first x return-values of a function -- Helper functions: RLR - (ReturnLastRetvals) allows you to get only - the last x return-values of a function -- Helper functions: RRR - (ReturnRangeRetvals) allows you to get only - a range of all return-values of a function -- Metadata: Metadata_AIFF_GetSet - gets/sets the AIFF-metadata of the - current project -- Metadata: Metadata_APE_GetSet - gets/sets the APE-metadata of the - current project -- Metadata: Metadata_XMP_GetSet - gets/sets the XMP-metadata of the - current project - -Changes from 4.1.007 to 4.2.001 - -- API: Loadspeed - sped up loading-speed of API by 30% -- DeveloperTools: Config Var Displayer - improved layout for - monospaced ReaScript-console-font -- Developer Tools: State Inspector - supports now config-vars; reduced - needed files to save space; ini-file accidentally overwritten when - updating API via ReaPack -> fixed -- Docs: Concepts - split installation and usage of Ultraschall-API - into two chapters; removed the hotfix-chapter(was outdated); - corrected download-link -- Docs: Config-Vars - added mac-only-configvars(thanks to cfillion) -- Docs: Example-videos - removed -- Docs: Reaper Internals - updated to Reaper 6.17 -- Docs: StuffMIDIMessage-docs - rewrote it as it contained many many - errors -- Helper functions: LimitFractionOfFloat - removed - roundit-parameter(if you need it, give me a hint); more stable now. -- IniFiles: Reaper-ActionList_v5_96.ini - removed, can be produced - using developertool - ultraschall_developertool_ActionlistToIni-Converter.lua -- Ini-Files: Reaper-factory-default-KEY-Codes_for_reaper-kb_ini.ini - - corrected some mistakes -- Metadata: Metadata_BWF_GetSet - added new tags as of Reaper 6.16 -- Metadata: Metadata_ID3_GetSet - added new tags as of Reaper 6.16 -- Metadata: Metadata_INFO_GetSet - added new tags as of Reaper 6.16 -- Metadata: Metadata_IXML_GetSet - added new tags as of Reaper 6.16 -- Metadata: Metadata_VORBIS_GetSet - added new tags as of Reaper 6.16 -- Misc: Docs-gfx - removed them from the misc-folder(were redundant) -- Misc: Developer-langpack removed - use - ultraschall_developertool_LangPack2Developer_langpack_converter.lua - to create one -- Misc: Reaper 5 developer translationpack - removed -- Misc: Notifications-sound - removed -- Misc: Reaper-KEY-Codes_for_reaper-kb_ini.ini - removed, use - CharacterCodes_ReverseLookup instead to get the codes -- Misc: ShowVars_Toggle.txt - removed(was redundant) -- Misc: StuffMidiMessage-AllMessages_Englisch_Windows.ini - removed, - use CharacterCodes_ReverseLookup instead to get the codes -- Rendering: CreateRenderCFG_OGG - didn’t allow for 1.0 vbr-setting in - certain edge-cases -> fixed -- Rendering: CreateRenderCFG_Opus - didn’t create correct bitrate in - string -> fixed -- Rendering: various create-render-cfg-function - parameter fps didn’t - always produce the correct fps-values -> fixed -- Rendering: various functions - had parameter fps incorrectly - documented as integer though it’s number -> fixed - ------------------------------------------------------------------------- - -4.1.007 - “Frank Zappa - Carolina Hard-Core Ecstasy” - 21st of October 2020 - -Has now 1342 functions, with 48 new ones - -new in this release: - -- Default v6-Theme-functions - Ever wanted to write scripts that do, what the theme-adjuster can? - Here’s your chance. - 42 functions give you life, themeiverse and all the rest needed. - -- EditReaScript - Create new scripts and open them in the IDE right from a script. Or - edit an existing one. Now possible with EditReaScript(). - -- GetFocusedFX and GetLastTouchedFX - Basically like Reaper’s own ones BUT I improved the - parameter-interface so it is actually useable for regular scripters. - -- SFEM - Sometimes, you want to get the first error-message that has happened - in your script, which signals, what’s the first thing that went - wrong. - SFEM(for Show First Error Message) is your way to go. - -- IsItemVisible and IsTrackVisible - That’s right, you can check now, if an item or track is visible in - the arrangeview. - You can check, whether they are fully in arrangeview or just - partially. - -- Small Fixes and Docs - Small bugfixes here and there as well updates to the docs for Reaper - 6.15 and SWS 2.12.1 - -New features in 4.1.007 - -- Developer: EditReaScript - edits a ReaScript in Reaper’s IDE; - creates it, if not yet existing -- ErrorMessagingSystem: SFEM - returns the first error message from - the current script-run -- FXManagement: GetFocusedFX - returns the focused FX(easier than - Reaper’s own API-function) -- FXManagement: GetLastTouchedFX - returns the last touched fx(easier - than Reaper’s own API-function) -- MediaItem-Management: IsItemVisible - returns, if a MediaItem is - visible or not -- TrackManagement: IsTrackVisible - returns, if a track is visible or - not -- ThemeManagement: Theme_Defaultv6_GetEnvFaderSize - gets the current - size of the faders of envelopes when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_GetEnvNameSize - gets the current - size of the name of envelopes when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_GetEnvSize - gets the current size - of the envelope when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_GetEnvFolderIndent - gets the - current indentation-related-to-trackfolder-setting when using the - default v6-theme -- ThemeManagement: Theme_Defaultv6_GetHideTCPElement - gets the - current hidden-states of tcp-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetMCPAlignControls - gets the - current alignement of controls in tcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetMCPBorderStyle - gets the - current border-style of the mcp when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_GetMCPFolderIndent - gets the - current folder indentation of mcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetMCPMeterExpansion - gets the - current MCP meter expansion when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetMCPSizeAndLayout - gets the - current MCP-size and layout when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetStyleMCPElement - gets the style - of an mcp-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPAlignControls - gets the - current alignement of controls in tcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPInputSize - gets the current - size of the input-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPFolderIndent - gets the new - folder-indent-size of tcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPMeterLocation - gets the - current location of the meter-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPMeterSize - gets the current - size of the meter-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPNameSize - gets the current - size of the track-name-label when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPSizeAndLayout - gets the - current TCP-size and layout when using default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTCPVolumeSize - gets the current - size of the volume-element when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTransPlayRateSize - gets the - current size of the playrate-slider when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_GetTransSize - gets the current - size of the transport when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetEnvFaderSize - sets the current - size of the faders of envelopes when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetEnvNameSize - sets the new size - of the name of envelopes when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetEnvSize - sets the new size of - the envelope when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetEnvFolderIndent - sets the new - indentation-related-to-trackfolder-setting when using the default - v6-theme -- ThemeManagement: Theme_Defaultv6_SetHideTCPElement - sets the - hidden-states of tcp-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetMCPAlignControls - sets the new - alignement of controls in tcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetMCPBorderStyle - sets the new - border-style of the mcp when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetMCPFolderIndent - sets the new - folder indentation of mcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetMCPMeterExpansion - sets the new - MCP meter expansion when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetMCPSizeAndLayout - sets the new - MCP-size and layout when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetStyleMCPElement - sets the style - of an mcp-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPAlignControls - sets the new - alignement of controls in tcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPInputSize - sets the new size - of the input-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPFolderIndent - sets the new - folder-indent-size of tcp when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPMeterLocation - sets the new - location of the meter-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPMeterSize - sets the new size - of the meter-element when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPNameSize - sets the new size - of the track-name-label when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPSizeAndLayout - sets the new - TCP-size and layout when using default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTCPVolumeSize - sets the new - size of the volume-element when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTransPlayRateSize - sets the new - size of the playrate-slider when using the default v6-theme -- ThemeManagement: Theme_Defaultv6_SetTransSize - sets the new size of - the transport when using the default v6-theme - -Changes from 4.1.006 to 4.1.007 - -- Developer Tools: Theme Parameter Monitor - didn’t stop script, when - closed by close-window-button -> fixed -- ThemeManagement: Theme_Defaultv6_SetMCPSize - didn’t work, when no - layout was present already -> fixed -- TrackManagement: GetAllVisibleTracks_Arrange - returns the found - tracks now as MediaTrack-objects as well; didn’t find master-track - under certain circumstances -> fixed -- UserInterface: TCP_SetWidth - errors in the docs -> fixed - ------------------------------------------------------------------------- - -4.1.006 - “Rage against the machine - Renegades of Funk” - 11th of October 2020 - -Has now 1294 functions, with 54 new ones - -new in this release: - -- InputFX/MonitoringFX - You can now code monitoringFX the same as you already could code - TrackFX and TakeFX. Ever wanted to set a full FXChain into - monitoring fx? Now you can. - 54 functions only for that. I must be insane… - -- ParameterModulation - Fixed a bug and therefore added a new feature for parameter linking. - ParmModTables have now two entries to set the index of the linked - plugin: PARMLINK_LINKEDPLUGIN and PARMLINK_LINKEDPLUGIN_RELATIVE. - To set an absolute plugin-index, set - PARMLINK_LINKEDPLUGIN=absolute-index and - PARMLINK_LINKEDPLUGIN_RELATIVE=nil - To set a relative plugin-index, set PARMLINK_LINKEDPLUGIN=any number - and - PARMLINK_LINKEDPLUGIN_RELATIVE=0(current plugin), negative(higher in - the FXChain), positive(lower in the FXChain) - GetFunctions will usually have the linked plugin indexed in a - relative-to-the-current-plugin-index(Reaper’s standard behavior). - -- RenderFixes - Renderfunctions sometimes created peak-files when not necessary. - This is fixed now and speeds up the time between finished render and - returning to the project. - -New features in 4.1.006 - -- FXManagement: InputFX_AddByName - adds an fx as monitoring fx -- FXManagement: InputFX_CopyFX - copies a monitoring fx and inserts it - at a new position -- FXManagement: InputFX_CopyFXFromTakeFX - copies a monitoring fx to a - takeFX -- FXManagement: InputFX_CopyFXFromTrackFX - copies a trackfx into a - monitoring fx -- FXManagement: InputFX_CopyFXToTakeFX - copies a monitoring fx to a - takeFX -- FXManagement: InputFX_CopyFXToTrackFX - copies a monitoring fx into - a track as trackfx -- FXManagement: InputFX_Delete - deletes a certain monitoring-fx -- FXManagement: InputFX_EndParamEdit - no idea what this function - does, but it exists for trackFX and now for monitoring-fx too -- FXManagement: InputFX_GetChainVisible - returns, if the current - monitoring-fx-chain is visible and the index of the currently - visible fx -- FXManagement: InputFX_GetCount - returns the number of available - monitoring-fx -- FXManagement: InputFX_GetEnabled - returns, if a certain - monitoring-fx is enabled or not -- FXManagement: InputFX_GetEQ - returns the index of the first - ReaEQ-instance in monitoring-fx; optionally creates an instance -- FXManagement: InputFX_GetEQBandEnabled - returns the - enabled/disabled state of a band of a ReaEQ-instance in - monitoring-fx -- FXManagement: InputFX_GetEQParam - returns the parameter-value of a - ReaEQ-instance in monitoring-fx -- FXManagement: InputFX_GetFloatingWindow - returns the hwnd of a - floating monitoring-fx-window -- FXManagement: InputFX_GetFormattedParamValue - returns the current - value of a parameter of a monitoring fx formatted -- FXManagement: InputFX_GetFXChain - gets the FXStateChunk of the - current monitoring-fx-chain -- FXManagement: InputFX_GetFXGUID - returns the guid of a - monitoring-fx -- FXManagement: InputFX_GetFXName - returns the name of a - monitoring-fx -- FXManagement: InputFX_GetIOSize - returns the plugin-type and the - number of input/output pins(if available) for a monitoring-fx -- FXManagement: InputFX_GetNamedConfigParm - returns the plug-in - specific named configuration value of a monitoring-fx -- FXManagement: InputFX_GetNumParams - returns the number of - parameters of a monitoring-fx -- FXManagement: InputFX_GetOffline - returns, if a certain - monitoring-fx is offline or not -- FXManagement: InputFX_GetOpen - returns, if a certain monitoring-fx - is visible or not -- FXManagement: InputFX_GetParam - returns the current, maximum and - minimum value of a parameter of a monitoring-fx -- FXManagement: InputFX_GetParamEx - returns the current, maximum, - minimum and mid-values of a parameter of a monitoring-fx -- FXManagement: InputFX_GetParameterStepSizes - returns the stepsizes - of a parameter of a monitoring-fx -- FXManagement: InputFX_GetParamName - returns the name of a parameter - of a monitoring-fx -- FXManagement: InputFX_GetParamNormalized - returns a normalized - version of the current value of a parameter of a monitoring-fx -- FXManagement: InputFX_GetPinMappings - returns the current - pin-mappings of a monitoring-fx -- FXManagement: InputFX_GetPreset - returns the name of the currently - selected preset -- FXManagement: InputFX_GetPresetIndex - returns the index of the - currently selected monitoring-fx plus all available presets -- FXManagement: InputFX_GetUserPresetFilename - gets the - preset’s-filename(which stores the presets) of a certain - monitoring-fx -- FXManagement: InputFX_FormatParamValue - formats a value in the - style of a parameter -- FXManagement: InputFX_FormatParamValueNormalized - formats a value - in the style of a parameter as normalized -- FXManagement: InputFX_MoveFX - moves a monitoring fx to a new - position -- FXManagement: InputFX_MoveFXFromTakeFX - moves a takeFX to the - monitoring-fx-chain -- FXManagement: InputFX_MoveFXToTakeFX - moves a monitoring-fx into - take as takeFX -- FXManagement: InputFX_MoveFXFromTrackFX - moves a trackFX to the - monitoring-fx-chain -- FXManagement: InputFX_MoveFXToTrackFX - moves a monitoring-fx into a - track as trackFX -- FXManagement: InputFX_NavigatePresets - navigates through the - presets of a monitoring-fx -- FXManagement: InputFX_SetEnabled - set a monitoring-fx enabled or - disabled -- FXManagement: InputFX_SetEQBandEnabled - sets a enable-state of a - band of a ReaEQ-instance in monitoring-fx -- FXManagement: InputFX_SetEQParam - sets new values of a band of a - ReaEQ-instance in monitoring-fx -- FXManagement: InputFX_SetFXChain - sets a FXStateChunk into the - monitoring-fx-chain; optionally replaces it -- FXManagement: InputFX_SetOffline - sets a monitoring-fx - offline/online -- FXManagement: InputFX_SetOpen - sets visibility of a monitoring fx - visible/invisible -- FXManagement: InputFX_SetParam - sets a parameter of a monitoring-fx -- FXManagement: InputFX_SetParamNormalized - sets a parameter of a - monitoring-fx as normalized value -- FXManagement: InputFX_SetPinMappings - sets the pinmappings of a - monitoring-fx -- FXManagement: InputFX_SetPreset - sets a preset of a monitoring-fx - by presetname -- FXManagement: InputFX_SetPresetByIndex - sets a preset of a - monitoring-fx by presetindex -- FXManagement: InputFX_Show - sets visibility and floating-state of a - monitoring-fx -- FXManagement: InputFX_QueryFirstFXIndex - queries the first fx - within monitoring fx with a certain fxname -- FXManagement: ParmModTable - new entry - PARMLINK_LINKEDPLUGIN_RELATIVE, which allows indexing linked - parameters relative to current fx(thanks to anton9 and Justin) - -Changes from 4.1.005 to 4.1.006 - -- Docs: ReaperAPIDocs - updated to JS-extension 1.217 -- Docs: VideoProcessor - added default-value-descriptions for param -- FXManagement: AddParmMod_ParmModTable - produced nil-error with - invalid fx-index; didn’t correctly set the linked-parameter - index(thanks to anton9 and Justin) -- FXManagement: CreateDefaultParmModTable - didn’t correctly return - the linked-parameter index(thanks to anton9 and Justin) -- FXManagement: GetParmModTable_FXStateChunk - didn’t correctly return - the linked-parameter index(thanks to anton9 and Justin) -- FXManagement: IsValidParmModTable - didn’t correctly check the - linked-parameter index(thanks to anton9 and Justin) -- FXManagement: SetParmMod_ParmModTable - produced nil-error with - invalid fx-index; didn’t correctly set the linked-parameter - index(thanks to anton9 and Justin) -- Rendering: Render_Loop - created unneeded peakfiles under some - circumstances -> fixed(thanks to pandabot) -- Rendering: RenderProject - created unneeded peakfiles under some - circumstances -> fixed(thanks to pandabot) -- Rendering: RenderProject_Regions - created unneeded peakfiles under - some circumstances -> fixed(thanks to pandabot) -- Rendering: RenderProject_RenderTable - created unneeded peakfiles - under some circumstances -> fixed(thanks to pandabot) - ------------------------------------------------------------------------- - -4.1.005 - “The Beatles - I want you(she’s so heavy)” - 25th of September 2020 - -Has now 1240 functions, with 25 new ones - -new in this release: - -- Parameter Modulation/Learn/Alias/LFOLearn - A long time feature-request finally fulfilled. You have full access - to programmatically get/alter parameter-modulation, parameter - aliases, LFOLearn or Learn in general. - So anything you would want to do with parameter-modulation can now - be scripted. - I’m curious, what will happen because of that feature. Surprise me. - Requested by so many. - Please consider donating, as this was a massive undertaking. Holy - cow! - -- SLEM - Allows now different output-targets, so outputting the last - error-message to the ReaScript-console or even the clipboard is - possible with that. - -- Lua-ReferenceManual - Now included is the Lua 5.3 reference-manual, so it’s always at your - hand when needed. - -- Ultraschall-API settings dialog - There’s now an Ultraschall-API settings dialog. Not much in there - yet, but you can already set, where SLEM() or - ultraschall.ShowLastErrorMessage() shall output their - error-messages. - More to follow. - -- Launchpad_functions - I wrote some launchpad 1st generation-functions, which you can find - in the misc-folder. So if you want to be able to program its - button’s lights, you can do it. - -- Gmem functions - For those of you, who want to use different gmem-names in your - functions, you sometimes run into trouble, that you can’t restore - the old gmem-attachement again, as you can’t get its old name. - Now you can. Gmem_GetCurrentAttachedName returns the last used - gmem-attachname. Keep it to later attach the old gmem back. - This works best, if you add the dofile-line to activate - Ultraschall-API as first code-line in your script. - -- Filemanager demo - To showcase the background-copying-functions, I wrote a small - filemanager demo, which is now available in the example-scripts. - It shows you, how you can copy even large files in the background - and still manage to run the UI of a script without having to code - complex background-copying-routines. - -- MB works again on Windows and Linux - Broke in Reaper 6 but I could fix it so replacing the button-texts - is possible again. Mac-users are out of luck, as the button-texts - can’t be replaced there in the first place. Sorry. - -- GetUserInputs on Mac - Also broke with Reaper 6 due some internal changes of Reaper. I - finally managed to make it work again. - So you can get and set the captions and retvals again of the - GetUserInputs-dialog. - Resizing of caption/retval-fields and the positioning of the - GetUserInput-window doesn’t work on Mac currently, but will return - later. - So you can use these parameters safely on Mac and one of the future - updates will make it work out of a sudden. :) - -New features in 4.1.005 - -- API: requirements - raised required Reaper-version to 6.05 -- API: Settings-Dialog - allows you to set - US-API-default-settings(currently the default output of - ShowLastErrorMessage()/SLEM()) -- Docs: FXManagement - added chapters about Introduction, Manipulating - individual effects, Working with FX-StateChunks, Working with - FX-StateChunk’s functions -- Docs: ParameterMod/Learn/Mapping - added chapters about - Introduction, Parameter Alias, Parameter LFO Learn, Parameter - Mapping Learn -- Docs: Lua Reference Manual - now added for Lua 5.3, so you have its - manual right at hand -- DeveloperTools: MonitorParmModulation.lua - monitors a certain - parameter-modulation and shows the contents of its ParmModTable -- EnvelopeManagement: IsAnyNamedEnvelopeVisible - returns, if there’s - a specific named-envelope set to visible in any track -- EnvelopeManagement: IsEnvelope_Track - returns, if an envelope is a - TrackEnvelope(true) or a TakeEnvelope(false) -- EnvelopeManagement: IsTrackEnvelopeVisible_ArrangeView - returns, if - a TrackEnvelope is currently visible in arrangeview -- Examplescript: - US_Api_Examples_FileManager_example_showcasing_background_copying.lua - - a simple file-manager which showcases background-copying -- FXManagement: AddParmMod_ParmModTable - adds a new - parameter-modulation of a specific FX in an FXStateChunk via a - ParmModTable -- FXManagement: CountParmModFromFXStateChunk - counts the number of - parameter-modulations of a specifix FX in an FXStateChunk -- FXManagement: CreateDefaultParmModTable - creates a - ParameterModulationTable which holds Reaper’s default values and can - be altered -- FXManagement: DeleteParmAlias2_FXStateChunk - like - DeleteParmAlias_FXStateChunk, but allows indexing by - parameter-index, not by number of existing aliasnames -- FXManagement: DeleteParmModFromFXStateChunk - deletes a - parameter-modulation of a specific FX in an FXStateChunk -- FXManagement: GetAllParmAliasNames_FXStateChunk - gets all - parameter-aliasnames of a specific fx from an FXStateChunk -- FXManagement: GetParmAlias2_FXStateChunk - like - GetParmAlias_FXStateChunk but allows indexing by parameter-index - instead -- FXManagement: GetParmModTable_FXStateChunk - returns a table with - all values of a certain parameter-modulation of an fx -- FXManagement: GetFXSettingsString_FXLines - returns the statestring - of an fx as base64 and decoded-binary string -- FXManagement: IsValidParmModTable - returns, if a table is a valid - ParmModTable(used for altering Parameter-Modulations) -- FXManagement: SetParmAlias2_FXStateChunk - like - SetParmAlias_FXStateChunk but indexes by parameterindex, not already - existing aliases -- FXManagement: SetParmMod_ParmModTable - sets a parameter-modulation - of an fx in an FXStateChunk via a ParmModTable -- GFX-Management: GFX_DrawEmbossedSquare - draws an embossed square - with optional background -- GMEM: Gmem_GetCurrentAttachedName - returns the name of the - currently attached gmem -- Helper Functions: ActionsList_GetAllActions - returns all actions - and shortcuts currently visible in the opened actionlist -- Helper Functions: Create2DTable - creates a 2-dimensional table, of - which all fields are indexable right away; optionally set to a - default value -- Helper Functions: Create3DTable - creates a 3-dimensional table, of - which all fields are indexable right away; optionally set to a - default value -- Helper Functions: CreateMultiDimTable - create an up to - 10-dimensional table, of which all fields are indexable right away; - optionally set to a default value -- Misc: Launchpad_functions - if you have a first generation LaunchPad - by Novation, you can program it via a function-library in the - misc-folder -- ProjectManagement: AutoSave_GetMinutes - returns the number of - minutes, at which a new autosaved project shall be saved -- ProjectManagement: AutoSave_GetOptions - gets several - auto-save-options -- ProjectManagement: AutoSave_SetMinutes - sets the number of minutes, - at which a new autosaved project shall be saved -- ProjectManagement: AutoSave_SetOptions - sets several - auto-save-options -- ProjectManagement: GetProject_Author - gets the author of a - projectfile or ProjectStateChunk(requested by dragonetti) - -Changes from 4.1.004 to 4.1.005 - -- API: print - replaces null-characters now with . when displaying - strings containing them -- API: print2 - replaces null-characters now with . when displaying - strings containing them -- API: print_alt - replaces null-characters now with . when displaying - strings containing them -- API: print_update - replaces null-characters now with . when - displaying strings containing them -- Docs: AddParmAlias_FXStateChunk - was missing parameter in - functioncall -> fixed -- Docs: ParmLearn-docs - corrected information and added missing stuff -- Docs: Reaper; GetUserInputs - added information about how to pass - over default-retvals and its limitations -- Docs: Reaper Internals - updated to Reaper 6.14 -- Error Messaging-System: ReadErrorMessage - allows now keeping - error-message readstate as unread -- Error Messaging-System: ShowLastErrorMessage - additional parameters - and retvals for more control of the output-target and messagetype - returned -- Error Messaging-System: SLEM - additional parameters and retvals for - more control of the output-target and messagetype returned -- EventManager: Eventmanager mainscript - always executed the - checks-functions before updating externally sent states which could - lead to race-condition-problems -> fixed(thanks to rstockm) -- File Management: CopyFile_AddFileToQueue - basic check, if the - target-file is the same as the source-file and throws an error in - these cases -- File Management: GetAllDirectoriesInPath - omitted folderseparator - in returned folders, if it hasn’t been passed into parameter path -- File Management: CopyFile_GetRemainingFilesToCopy - returned the - wrong number of remaining files -> fixed -- FXManagement: GetFXFromFXStateChunk - returns now the start and - endoffset of the returned lines, so they could be used for string - substitution; didn’t return anything under some circumstances -> - fixed -- FXManagement: GetParmAudioControl_FXStateChunk - deprecated -- FXManagement: GetParmLFO_FXStateChunk - deprecated -- FXManagement: GetParmMIDIPLink_FXStateChunk - deprecated -- Helper Functions: ActionsList_GetSelectedActions - returns now the - shortcuts of the selected actions as well -- ParmAlias: AddParmLearn_FXStateChunk - did not add aliasnames with - spaces correctly, added it to one parameter higher than requested -> - fixed -- ParmAlias: SetParmLearn_FXStateChunk - did not set aliasnames with - spaces correctly -> fixed -- TrackManagement: SetTrackStateChunk_Tracknumber - had inner variable - exposed -> fixed -- User Interface: GetUserInputs - workaround for Mac, so this should - work again on Mac OS -- User Interface: MB - workaround for Mac, so this should work again - on Mac OS - ------------------------------------------------------------------------- - -4.1.004 - “I, E.T.” - 21st of July 2020 - -Has now 1215 functions, with 15 new ones - -new in this release: - -- Background Copying - You can now copy files in the background(as additional defer-loops) - within your script, while you do other stuff in your main - defer-loops. - You can set a buffer-size, which means, how much shall be copied per - defer-cycle to balance between transfer-speed and possible - Reaper-GUI-lags. - -- TimeToMeasures - This allows you to convert a time in seconds to measures. I’ve used - it in one script to set pre-roll(which only accepts measures) to a - length in seconds. - -- RenderCodes for FFMPEG 4.1.3 on Windows - If you’ve installed FFMPEG 4.1.3 in your Reaper-installation, you - have additional output-render-formats available. I’ve added docs for - these renderstring-settings now as well. - -- Updated docs, examplescripts and bugfixes - -New features in 4.1.004 - -- Docs: Concepts: Background Copying - decribes, how to program the - background-copying-queue -- FileManagement: CopyFile_AddFileToQueue - add files to the - background-copying-queue -- FileManagement: CopyFile_FlushCopiedFiles - flush the files from the - copied list of the background-copying-queue -- FileManagement: CopyFile_GetBufferSize - get the current - copying-buffer size of the background-copying-queue -- FileManagement: CopyFile_GetCopiedStatus - returns the current - copy-status of a file in the background-copying-queue -- FileManagement: CopyFile_GetCurrentlyCopiedFile - get the currently - copied file in the background-copying-queue -- FileManagement: CopyFile_GetCurrentlyRunningCopyInstances - get - amount of currently running background-copying-instances -- FileManagement: CopyFile_GetPausedState - get paused state of the - background-copying-queue -- FileManagement: CopyFile_GetRemainingFilesToCopy - get the remaining - files in the background-copying-queue -- FileManagement: CopyFile_IsCurrentlyCopying - returns, if - background-copying is currently copying -- FileManagement: CopyFile_Pause - toggle pausing of the - background-copying-instances -- FileManagement: CopyFile_SetBufferSize - set the new - copying-buffer-size of the background-copying-queue -- FileManagement: CopyFile_StartCopying - start copying all files in - the background-copying-queue -- FileManagement: CopyFile_StopCopying - stop copying the files in the - background-copying-queue -- Helper Functions: TimeToMeasures - converts a time to measures -- Project Management: GetProject_MetaDataStateChunk - gets the - statechunk from a project, which holds all metadata - -Changes from 4.1.003 to 4.1.004 - -- Docs: Reaper Internals - updated to Reaper 6.13 -- Docs: render-codes - added codes, who are available after having - FFMPEG 4.1.3 installed -- Docs: VideoProcessor-docs - added detailed description for @param - and reworked code-examples, as they didn’t work previously(thanks to - Eliseat) -- Examplescripts: US_Api_Examples_Render_Current_Project.lua - updated - to the more recent rendering-functions(used the first and outdated - ones) -- Examplescripts: US_Api_Examples_Render_Project.lua - updated to the - more recent rendering-functions(used the first and outdated ones) -- Examplescripts: - US_Api_Examples_Render_Region_of_current_Project.lua - updated to - the more recent rendering-functions(used the first and outdated - ones) -- File Management: ReadBinaryFile_Offset - produced nil-error, when - offset was after file’s end; returned false in case of an error, - even though it should return integer -> fixed -- File Management: ReadBinaryFileFromPattern - returned false in case - of an error, even though it should return integer -> fixed -- File Management: ReadBinaryFileUntilPattern - returned false in case - of an error, even though it should return integer -> fixed -- MediaItems: RippleCut - moving of markers didn’t work; added - optional parameter which allows optionally moving markers as well -- Rendering: CreateNewRenderTable - did not allow EmbedMetadata being - optional -> fixed(thanks to aurelien) -- Rendering: RenderProject - produced error, when a project’s - timeselection start&end where stored “backwards”; rendercfg for - secondary rendering didn’t work and caused havoc in numerous - functions -> fixed (thanks to elzoido) - ------------------------------------------------------------------------- - -4.1.003 - “Premier” - 1st of July 2020 - -Has now 1200 functions, with 54 new ones - -new in this release: - -- Theme Parameter Access and monitoring script - Since Reaper 6, Cockos added the option of influencing a theme via - so called theme-parameters. One such example is WhiteTie’s Default - Reaper6-Theme, which can be influenced via the theme-adjuster. - And here’s the thing: this can not only be influenced, it can also - be programmed. - So if you wanted to write scripts, who automatically adjust things - without having to use the theme-adjuster, by using - GetAllThemeLayoutParameters, ApplyAllThemeLayoutParameters, - GetAllThemeLayoutParameters, GetThemeParameterIndexByDescription, - GetThemeParameterIndexByName, SetThemeParameterIndexByDescription - and SetThemeParameterIndexByName. - And if you want to know, which theme-parameters can be set and which - values are the right ones, the developer-package includes now a - Theme-Parameter monitoring script. - With that, you can see altered parameters(in Reaper’s default v6 - theme, for instance) and use the aforementioned functions to - influence them accordingly. - Just run the “Script: - ultraschall_Add_Developertools_To_Reaper.lua”-script after - installing the update and there you have it. - One huge step into theme-customization… - -- MetaData - Since Reaper has metadata-export-capabilities now, I’ve added nice - and handy functions to get and set them, including docs and - everything. - The rendering-functions also allow now switching on the - metadata-embedding, so there’s no excuse anymore to not use it. - -- LangPack Compare-script - This is probably useful for translators among you. I wrote a script, - which compares two ReaperLangPack-files and returns the differences - between the two into the clipboard. - That way you can compare the most recent official LangPack with a - former one and can see immediately, what has been added/altered and - into where, so you can update your translation accordingly. - Just run the “Script: - ultraschall_Add_Developertools_To_Reaper.lua”-script after - installing the update and there you have it. - -- Envelope Activation - When working with envelopes, especially when scripting, you can not - really work with envelopes, unless they are activated. Funny enough: - there’s no “Activate”Envelope"-function in Reaper’s own API. - So I tried to find ways around it. - With ActivateEnvelope(good for send-envelopes), ActivateTrackPanEnv, - ActivateTrackPreFXPanEnv, ActivateTrackPreFXVolumeEnv, - ActivateTrackTrimVolumeEnv, ActivateTrackVolumeEnv you can activate - most of the most important envelopes and therefore script them. - Some are still missing, so I hope, I can add the missing ones too… - -- TrackManager - It has been requested in the feature-request subforum and the - general-forum: functions for the trackmanager. - Thing is, it is quite useful, but there are simply no actions - available for it, even though having shortcuts set to some of the - basics can be very handy. - So I added TrackManager_ClearFilter, TrackManager_OpenClose, - TrackManager_ShowAll, TrackManager_SelectionFromProject, - TrackManager_SelectionFromList, TrackManager_SetFilter who allow you - to script many of the ui-elements of the track manager. - -- Lokasenna’s Gui Lib v2 - now part of Ultraschall-API. Just run the function - Lokasenna_LoadGuiLib_v2, which loads the GUI-Lib version deployed - with Ultraschall-API including all its classes and the rest is the - same as you are used to. - There’s nothing to worry, if you’ve already installed Lokasenna’s - GuiLib v2, as the version I deploy is independent of it. - So you can safely use both on one system. - -- Ignore-Audio checkbox of video-items - This is requested from time to time again, so I finally added it: - the possibility to set the “ignore audio”-checkbox of a video-item. - GetItem_Video_IgnoreAudio and SetItem_Video_IgnoreAudio are the - functions of your choice. - -- Setting Aliasnames for FX-plugins - Not available in the regular API, but in Ultraschall-API. This has - been requested shortly before this release, a way to set the - alternative/alias name of track and item-fx. - A demofile US_Api_Examples_SetAliasNamesOfFX-Plugins.lua shows, what - you can do with it… - -- SetTimeUnit - Allows setting the timeunit of the transportfield, the ruler and the - alternative ruler. Good for toggling through-actions… - -- Image Handling - ResizeJPG, ConvertPNG2JPG and ConvertJPG2PNG give you more control - over managing different image-files. - -- Bugfixes and other stuff - For rendering, FXChains(as requested), updated nomenclature of - functions, SLEM allows now getting more than just the last - error-message, etc, etc - -New features in 4.1.003 - -- Developer Tools: Developer LangPack - added developer-langpack for - Reaper 6.12c -- Developer Tools: - ultraschall_developertool_Theme_Parameter_Monitor.lua - monitor and - manipulate theme-parameters(like from the default Reaper6-theme) -- Developer Tools: ultraschall_developertool_Compare_LangPacks.lua - - allows you to select two ReaperLangPack-files and puts - missing/changed entries from each file into the clipboard -- Envelopes: ActivateEnvelope - activates an envelope, so it can be - shown in the arrangeview(thanks to sexan; requested by - daniellumertz) -- Envelopes: ActivateTrackPanEnv - activates the pan-envelope lane of - a track -- Envelopes: ActivateTrackPanEnv_TrackObject - activates the - pan-envelope lane of a trackobject -- Envelopes: ActivateTrackPreFXPanEnv - activates the - pre-fx-pan-envelope lane of a track -- Envelopes: ActivateTrackPreFXPanEnv_TrackObject - activates the - pre-fx-pan-envelope lane of a trackobject -- Envelopes: ActivateTrackPreFXVolumeEnv - activates the - pre-fx-volume-envelope lane of a track -- Envelopes: ActivateTrackPreFXVolumeEnv_TrackObject - activates the - pre-fx-volume-envelope lane of a trackobject -- Envelopes: ActivateTrackTrimVolumeEnv - activates the - trim-volume-envelope lane of a track -- Envelopes: ActivateTrackTrimVolumeEnv_TrackObject - activates the - trim-volume-envelope lane of a trackobject -- Envelopes: ActivateTrackVolumeEnv - activates the volume-envelope - lane of a track -- Envelopes: ActivateTrackVolumeEnv_TrackObject - activates the - volume-envelope lane of a trackobject -- Envelopes: GetTakeEnvelopeUnderMouseCursor - returns the - take-envelope currently under the mouse -- FXManagement: GetTakeFX_AlternativeName - gets the - alternative/aliasname of a takefx(requested by dimtok) -- FXManagement: GetTrackFX_AlternativeName - gets the - alternative/aliasname of a trackfx(requested by dimtok) -- FXManagement: SetTakeFX_AlternativeName - sets the - alternative/aliasname of a takefx(requested by dimtok) -- FXManagement: SetTrackFX_AlternativeName - sets the - alternative/aliasname of a takefx(requested by dimtok) -- GUI: Lokasenna’s Gui Lib v2 - added his Gui-Lib v2 into - Ultraschall-API; will not affect other possible GuiLib-installations - on the current Reaper-installation -- GUI: Lokasenna_LoadGuiLib_v2 - loads Lokasennas Gui-Lib and all - available classes into your script -- Image Handling: ResizeJPG - resizes jpgs to new jpgs -- Image Handling: ConvertPNG2JPG - converts png into jpg -- Image Handling: ConvertJPG2PNG - converts jpg into png -- MediaItem Management: GetItem_Video_IgnoreAudio - gets the current - state of the ignore audio-checkbox of a video-source of a - MediaItem’s take(requested by earhax) -- MediaItem Management: SetItem_Video_IgnoreAudio - sets the state of - the ignore audio-checkbox of a video-source of a MediaItem’s - take(requested by earhax) -- Metadata Management: Metadata_BWF_GetSet - gets, sets - BWF-metadata-tags from/in the current project -- Metadata Management: Metadata_CART_GetSet - gets, sets - CART-metadata-tags from/in the current project -- Metadata Management: Metadata_CUE_GetSet - gets, sets - CUE-metadata-tags from/in the current project -- Metadata Management: Metadata_ID3_GetSet - gets, sets - ID3-metadata-tags from/in the current project -- Metadata Management: Metadata_INFO_GetSet - gets, sets - INFO-metadata-tags from/in the current project -- Metadata Management: Metadata_IXML_GetSet - gets, sets - IXML-metadata-tags from/in the current project -- Metadata Management: Metadata_VORBIS_GetSet - gets, sets - VORBIS-metadata-tags(for Opus/Ogg-files) from/in the current project -- Render Management: GetRender_AddRenderedFilesToProject - gets the - checkbox-state for add rendered items to new tracks in - project-checkbox in the Render to File-dialog -- Render Management: GetRender_EmbedMetaData - gets the checkbox-state - for embed-metadata in the Render to File-dialog -- Render Management: GetRender_NoSilentFiles - gets the checkbox-state - for “Do not render files that are likely silent”-checkbox in the - Render to File-dialog -- Render Management: GetRender_TailLength - gets the current - taillength, as set in the Render to File-dialog -- Render Management: SetRender_AddRenderedFilesToProject - gets the - checkbox-state for add rendered items to new tracks in - project-checkbox in the Render to File-dialog -- Render Management: SetRender_EmbedMetaData - sets the checkbox for - embed-metadata in the Render to File-dialog -- Render Management: SetRender_NoSilentFiles - sets the checkbox-state - for “Do not render files that are likely silent”-checkbox in the - Render to File-dialog -- Render Management: SetRender_TailLength - sets the current - taillength, as set in the Render to File-dialog -- Theme Management: ApplyAllThemeLayoutParameters - applies changes - theme-layout parameters to the current theme; use - GetAllThemeLayoutParameters to get an alterable table -- Theme Management: GetThemeParameterIndexByDescription - gets the - theme parameter’s values by its description -- Theme Management: GetThemeParameterIndexByName - gets the theme - parameter’s values by its name -- Theme Management: SetThemeParameterIndexByDescription - sets the - theme parameter’s values by its description -- Theme Management: SetThemeParameterIndexByName - sets the theme - parameter’s values by its name -- Track Management: GetAllVisibleTracks_Arrange - returns all tracks - currently visible in viewable part of the arrange-view -- Track Manager: TrackManager_ClearFilter - clears the filter of the - opened track manager(requested by Monomirror) -- Track Manager: TrackManager_OpenClose - open, closes and toggles - opening of the track manager(requested by Monomirror) -- Track Manager: TrackManager_ShowAll - shows all tracks of the opened - track manager(requested by Monomirror) -- Track Manager: TrackManager_SelectionFromProject - sets the - selection of the opened track manager to the track-selection of the - project(requested by Monomirror) -- Track Manager: TrackManager_SelectionFromList - sets the - track-selection of the project into the track-selection of the - opened track manager(requested by Monomirror) -- Track Manager: TrackManager_SetFilter - sets the filter of the - opened track manager(requested by Monomirror) -- User Interface: GetTrackManagerHWND - gets the tcp of the - trackmanager, if opened -- User Interface: SetTimeUnit - sets the timeunit for transport, ruler - and secondary ruler -- User Interface: TCP_SetWidth - allows setting a new width of the - tcp(initial code by amagalma, thanks for that :) ) -- Video Management: ProjectSettings_GetVideoFramerate - gets the - currently set project’s video-framerate -- Video Management: ProjectSettings_SetVideoFramerate - sets the - currently set project’s video-framerate and optionally the default - for new projects - -Changes from 4.1.002 to 4.1.003 - -- API: Requirements - requires now JS-extension 1.215 -- API: titles will now be references to FarScape-episode-titles, until - I conquered the farscape of Gui-development -- Docs: GetRender_AutoIncrementFilename - moved in the index to - Rendering Projects -> Render Settings, where I would expect such - functions -- Docs: GetRender_EmbedMetaData - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: GetRender_EmbedStretchMarkers - moved in the index to - Rendering Projects -> Render Settings, where I would expect such - functions -- Docs: GetRender_NoSilentFiles - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: GetRender_OfflineOnlineMode - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: GetRender_ProjectSampleRateForMix - moved in the index to - Rendering Projects -> Render Settings, where I would expect such - functions -- Docs: GetRender_QueueDelay - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: GetRender_ResampleMode - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: GetRender_SaveCopyOfProject - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: Reaper Internals - updated to Reaper 6.12, fixed nonconverted - markdown-links -- Docs: SetRender_AutoIncrementFilename - moved in the index to - Rendering Projects -> Render Settings, where I would expect such - functions -- Docs: SetRender_EmbedMetaData - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: SetRender_EmbedStretchMarkers - moved in the index to - Rendering Projects -> Render Settings, where I would expect such - functions -- Docs: SetRender_NoSilentFiles - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: SetRender_OfflineOnlineMode - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: SetRender_ProjectSampleRateForMix - moved in the index to - Rendering Projects -> Render Settings, where I would expect such - functions -- Docs: SetRender_QueueDelay - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: SetRender_ResampleMode - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- Docs: SetRender_SaveCopyOfProject - moved in the index to Rendering - Projects -> Render Settings, where I would expect such functions -- GFX: GFX_Init - produced nil-error, when the optional-parameters - weren’t set due missing default-values on my side -> fixed -- Error Management: error-messages - optional boolean errormessages - include now, which is the default value when using nil -- Error Management: ShowLastErrorMessage - allows now to access the - messages before the last one as well -- Error Management: SLEM - allows now to access the messages before - the last one as well -- Envelopes: ActivateMute - had wrong returnvalue in errormessages for - parameter track -> fixed -- Envelopes: DeactivateMute - had wrong returnvalue in errormessages - for parameter track -> fixed -- FXManagement: GetFXStateChunk - had numerous problems so I - reimplemented it from scratch; returns now the linenumber at which - the found FXStateChunk starts in the passed StateChunk -- Helper functions: OpenURL - didn’t work on Linux -> fixed -- MediaItem Management: SelectMediaItems_MediaItemArray - updates now - arrangeview, so selected items are now visible as such -- ReaMote: AutoSearchReaMoteClients - renamed from - AutoSearchReaMoteSlaves; the old name is still available but - deprecated -- Render Management: AddRenderPreset - added option for - embed-metadata-checkbox -- Render Management: ApplyRenderTable_Project - added option for - embed-metadata-checkbox -- Render Management: ApplyRenderTable_ProjectFile - added option for - embed-metadata-checkbox -- Render Management: CreateNewRenderTable - added option for - embed-metadata-checkbox -- Render Management: GetRenderTable_Project - added option for - embed-metadata-checkbox -- Render Management: GetRenderTable_ProjectFile - added option for - embed-metadata-checkbox -- Render Management: GetRenderPreset_RenderTable - added option for - embed-metadata-checkbox -- Render Management: GetRenderToFileHWND - didn’t return render to - file-dialog-hwnd on recent Reaper-versions -> fixed -- Render Management: IsValidRenderTable - added option for - embed-metadata-checkbox -- Render Management: RenderProject_RenderTable - added option for - embed-metadata-checkbox -- Render Management: SetRenderPreset - added option for - embed-metadata-checkbox -- Routing Management: GetAllAUXSendReceives - could produce a - nil-error and returned wrong track-guid, PLEASE CHECK, IF YOUR - ROUTING-CODE IS BUGGY NOW AND REPORT BACK2ME, Thanx! -> fixed -- TrackGroups: GetTrackGroupFlagsState - updated nomenclature to - Reaper’s new one -- TrackGroups: GetTrackGroupFlags_HighState - updated nomenclature to - Reaper’s new one -- TrackGroups: SetTrackGroupFlagsState - updated nomenclature to - Reaper’s new one -- TrackGroups: SetTrackGroupFlags_HighState - updated nomenclature to - Reaper’s new one -- Theme Management: GetAllThemeLayoutNames - didn’t return themelayout - index 0 -> fixed -- Theme Management: GetAllThemeLayoutParameters - didn’t return - themeparameter index 0; had off-by-one error in retval index -> - fixed -- User Interface: GetHWND_ArrangeViewAndTimeLine - returns now - tracklistwindow-tcp as well; didn’t find TCP-hwnd when TCP was on - the right side of the arrange-view -> fixed(thanks to Edgemeal) - ------------------------------------------------------------------------- - -4.1.002 - “The Buzzcocks - Why can’t I touch it” - 8th of June 2020 - -Has now 1146 functions, with 17 new ones - -new in this release: - -- Video window-Toggle Fullscreen - You can now toggle the video-window fullscreen/non-fullscreen via - VideoWindow_FullScreenToggle. - -- Activate/Deactivate Mute-envelopes - Wasn’t possible until now: activation and deactivation of - Mute-Envelopes, as otherwise you cannot write to them. - -- MuteActions more stable - They should now set mute-envelope-points properly, no matter of - mute-env-armstate and/or automation-mode. - -- Project-Diffs-Developertool - Reimplemented, so it shows only the diff-lines now. - -- Benchmarking-functions - You can have multiple benchmark-slots, so benchmarking multiple - values at the same time is now possible. - That way, you can benchmark the whole script and individual - functions in one go. - -- Item Buttons can be now toggled - Now, you can toggle the buttons shown at the top of the MediaItem, - like mute, FX, Envelopes, etc. Change them in one go, to have - different “profiles” of MediaItem-buttons, that reflect the usecases - of your different projects. - -- PreventUIRefresh and RestoreUIRefresh Like Reaper’s own - PreventUIRefresh, but prevents accidental misuse of its counter, as - the counting up is done by PreventUIRefresh and the “reset” of a - PreventUIRefresh can be undone by RestoreUIRefresh. - When using RestoreUIRefresh(true), all - ultraschall.PreventUIRefresh-calls are reset, so the user-interface - of Reaper is useable again. - -- bugfixes and readdition of accidentally deleted function..oops ;) - -New features in 4.1.002 - -- Benchmarking: Benchmark_GetAllStartTimesAndSlots - returns the - starttimes of all current benchmark-measuring-slots as a handy - table(index=slot number) -- Envelope Management: SetEnvelopeState_Act - sets bypass and - automation-items-behavior -- Envelope Management: SetEnvelopeState_DefShape - sets the - default-envelope shapes and pitch-snap-settings -- Envelope Management: SetEnvelopeState_LaneHeight - sets the height - and compacted state of an envelope -- Envelope Management: SetEnvelopeState_Vis - sets the - visibility-state of an envelope -- Mute Management: ActivateMute - activates a mute-envelope of a track -- Mute Management: ActivateMute_TrackObject - activates a - mute-envelope of a track -- Mute Management: DeactivateMute - deactivates a mute-envelope of a - track -- Mute Management: DeactivateMute_TrackObject - deactivates a - mute-envelope of a track -- Take Management: GetTake_ReverseState - returns, if a take is - reversed or not -- User Interface: GetItemButtonsVisible - gets the individual - item-buttons visible/invisible-state -- User Interface: GetPreventUIRefreshCount - the number of times you - need to restore UI-refresh -- User Interface: PreventUIRefresh - prevents refreshing of the - user-interface, more solid, than Reaper’s own - PreventUIRefresh-function -- User Interface: RestoreUIRefresh - restores a prevented - UI-refreshing -- User Interface: SetItemButtonsVisible - sets the individual - item-buttons visible/invisible -- User Interface: VideoWindow_FullScreenToggle - toggles - full-screen-state of the video-processor-window(requested by - vectorwarrior) - -Changes from 4.1.001 to 4.1.002 - -- Benchmarking: Benchmark_GetStartTime - has now additional optional - parameter slot to get the starttime of a certain - benchmarking-slot(requested by rstockm) -- Benchmarking: Benchmark_MeasureTime - has now additional optional - parameter slot, with which you can store multiple measurings into - different slots, for more benchmarks than just one(requested by - rstockm) -- Developer Tools: - ultraschall_developertool_Project_State_Diffs_Monitor.lua - improved - so it now only shows changed lines and therfore proper diffs -- Docs: Reaper internals - updated to Reaper 6.11, SWS 2.11.0 and - JS-extension 1.215; added accidentally missing functions -- Docs: US-docs - functionname’s last ) was not bold for some reason - -> fixed -- Envelope Management: GetEnvelopeState_DefShape - added missing - descriptions for returnvalues for pitch-snap -- GUI: Scythe - loads its libraries from - UserPlugins_api\3rd_party_modules now, so it shouldn’t get in - conflict with user’s own installation of a Scythe-instance -- Marker Management: CountNormalMarkers - optimized speed -- Marker Management: GetAllMarkersBetween - parameters can be nil now, - allowing to be used for projectstart and projectend -- Marker Management: GetAllRegionsBetween - parameters can be nil now, - allowing to be used for projectstart and projectend -- Marker Management: EnumerateNormalMarkers - optimized speed -- Marker Management: SetNormalMarker - optimized speed -- Marker Management: DeleteNormalMarker - optimized speed -- Marker Management: IsMarkerNormal - optimized speed -- Mute Management: GetNextMuteState - returns now the mutestate, even - if no mute-envelope is active -- Mute Management: GetNextMuteState_TrackObject - returns now the - mutestate, even if no mute-envelope is active -- Mute Management: GetPreviousMuteState - returns now the mutestate, - even if no mute-envelope is active -- Mute Management: GetPreviousMuteState_TrackObject - returns now the - mutestate, even if no mute-envelope is active; didn’t return envIDX - correctly -> fixed -- Mute Management: ToggleMute - sets now mute-envelope point - regardless of env-recarm or automation-mode; activates inactive - mute-envelopes now as well -- Mute Management: ToggleMute_TrackObject - sets now mute-envelope - point regardless of env-recarm or automation-mode; activates - inactive mute-envelopes now as well -- Project Files: GetProject_MarkersAndRegions - supports now returning - regions-states of selected and region render-matrix; fixed bugs with - selected regions not recognized(thanks to aurelien) -- Render: ApplyRenderTable_Project - had problem, when applied twice - in a script -> fixed(thanks to aurelien) -- Render: ApplyRenderTable_ProjectFile - had problem, when applied - twice in a script -> fixed(thanks to aurelien) -- SetRender_SaveCopyOfProject - got accidentally deleted, readded it - now (thanks to aurelien) - ------------------------------------------------------------------------- - -4.1.001 - “Radiohead - Spectre” - -Has now 1129 functions, with 18 new ones - -new in this release: - -- Automation Items - You can get all automation-items as well as deleting the ones you - want to delete. - That’s right, you can now safely delete one programmatically! - -- Rendering functions - Support now the new rendering options of Reaper 6.10: embedding Take - markers as well as Do not render files that are likely silent. - Note: Reaper 6.10 has a bug, which prevents simultaneously from - setting Add to Project and Do not render files likely - silent-checkboxes of the Render to File-dialog. Fixed in later - versions of Reaper. - -- SetTrack_LastTouched - Allows you to set a track as last touched, which wasn’t possible - before. - -- SetTrack_Trackheight_Force - Sets the trackheight of a track to any height you like, including - heights not allowed by the theme. - That way, you can set the trackheight to e.g. 1px, allowing you - better organisation of your arrangeview’s tracks. - -- CollapseTrackHeight - Speaking of trackheight, this function collapses tracks to the - minimum height allowed by the currently selected theme. - -- GFX_GetDropFile - Call it frequently when having opened your gfx-window, and it will - return drag’n’dropped files as well as the dropping-position within - the gfx.init-window. No need to fiddle it out by yourself. - -- ActionsList_GetSelectedActions - Returns all selected entries from the opened actionlist, including - Action Command Ids, texts, etc. - Kudos to Edgemeal, who wrote the initial version of it. - -- IsTimeSigmarkerAtPosition - Already implemented for markers and regions, I added it for - time-signature-markers as well. - Returns, if a time-signature-maker is at a certain position. - -- and more plus bugfixes - -Kudos to Lokasenna and to Xenakios. Hope you both return at some point -to the Reaper-community. - -New features in 4.1.001 - -- Actions: ActionsList_GetSelectedActions - gets the selected actions - from the opened Action List(prototype code provided by Edgemeal. - Thank you!) -- Automation Items: AutomationItems_GetAll - returns all - automation-items of the current project -- Automation Items: AutomationItem_Delete - deletes an - automation-item, including the option of retaining the - envelope-points -- Envelopes: GetAllTakeEnvelopes - returns all TakeEnvelopes in the - current project -- Envelopes: GetAllTrackEnvelopes - returns all TrackEnvelopes in the - current project -- GFX-Management: GFX_GetDropFile - gets the last dropped files from - the gfx-window, including the drop-coordinates(requested by rstockm) -- Helperfunctions: Benchmark_GetStartTime - returns the last starttime - of the currently running benchmark-measure(requested by rstockm) -- Helperfunctions: Benchmark_MeasureTime - starts/resets a - benchmark-measure(requested by rstockm) -- Helperfunctions: EscapeMagicCharacters_String - escapes the - magic-characters, used for pattern matching, from a string, so it - can be used without triggering “magic”-pattern-matching-features -- Marker Management: IsTimeSigmarkerAtPosition - returns, if at a - position/measure is a time-signature marker(requested by tompad) -- MediaItems: MediaItems_Outtakes_AddSelectedItems - adds selected - items into the outtakes-vault; this allows you to store outtakes of - recordings easily -- MediaItems: MediaItems_Outtakes_GetAllItems - gets all - outtakes-items stored in the outtakes-vault -- MediaItems: MediaItems_Outtakes_InsertAllItems - inserts all - outtakes-items stored in the outtakes-vault into a project -- ProjectManagement: IsTimeSelectionActive - returns, if there’s a - time-selection(requested by tompad) -- Track Management: CollapseTrackHeight - collapses the height of a - track to the minimum height, as defined by the theme -- Track Management: GetTrackByTrackName - search tracknames follwing a - certain pattern or for a certain name -- Track Management: SetTrack_LastTouched - sets a track to be - last-touched track -- Track Management: SetTrack_Trackheight_Force - sets the trackheight - of a track and allows setting heights beyond the limitations set by - the theme -- Web Interface: WebInterface_GetInstalledInterfaces - returns all - installed webinterfaces(webrc) of the current Reaper installation, - custom and Reaper-defaults - -Changes from 4.00 to 4.1.001 - -- API: GetApiVersion - updated docs to reflect the current behavior -- DeveloperTools: ultraschall_Add_Developertools_To_Reaper.lua - - weren’t installed using this action -> fixed -- DeveloperTools: Ultraschall State Inspector - extended number of - saveslots to 20; didn’t correctly store and load gmem-states from - the stateslots -> fixed (thanks to lexaproductions) -- Docs: Reaper-Internals - updated to Reaper 6.10, JS-extension 1.002 -- Docs: Render-Presets - updated to Reaper 6.10 -- Docs: Routing_001_Introduction - corrected typo -- Docs: ShowMenu - falsely claimed, that y-coordinates on Mac are - buggy because they are reversed -> corrected -- FX-Management: CountParmLearn_FXStateChunk - added error-message, - when fxid==0, as the first fxid must be 1 or higher(thanks to TonE) -- Helperfunctions: IsValidMatchingPattern - wasn’t reporting - unfinished captures all the time -> improved -- Markers: CountNormalMarkers_NumGap - had inner variables exposed -> - fixed (thanks to fernsehmuell) -- MediaItems: GetAllSelectedMediaItems - returns now an - MediaItemStateChunkArray as well -- MediaItems: IsValidMediaItemStateChunkArray - didn’t always return - true, when MediaItemStateChunkArrays were passed over it -> fixed -- Project Management: GetProject_AddMediaToProjectAfterRender - added - “do not likely silently files”-setting -- Project Management: GetProject_RenderStems - added Embed take - markers-setting -- Project Management: SetProject_AddMediaToProjectAfterRender - added - “do not likely silently files”-setting -- Project Management: SetProject_RenderStems - added Embed take - markers-setting -- Render: AddRenderPreset - supports new Embed Take-markers; added - missing information to docs -- Render: ApplyRenderTable_Project - supports new Embed Take-markers - and no silent render-features; improved Embed stretch-markers - support; accidentally reversed true and false in parameter - OnlyMonoMedia -> fixed (thanks to aurelien) -- Render: CreateNewRenderTable - supports new Embed Take-markers and - no silent render-features -- Render: GetRenderPreset_RenderTable - supports new Embed - Take-markers -- Render: GetRenderTable_Project - supports new Embed Take-markers and - no silent render-features; improved Embed stretch-markers support -- Render: GetRenderTable_ProjectFile - supports new Embed Take-markers - and no silent render-features; improved Embed stretch-markers - support -- Render: IsValidRenderTable - supports new Embed Take-markers and no - silent render-features; improved Embed stretch-markers support -- Render: SetRenderPreset - supports new Embed Take-markers; added - missing information to docs -- TrackManagement: DeleteTracks_TrackString - didn’t correctly delete - the right tracks, sometimes throwing Lua-error -> fixed (thanks to - aurelien) -- Ultraschall: IsTrackSoundboard - had inner variable exposed -> fixed -- Ultraschall: IsTrackStudioLink - had inner variable exposed -> fixed -- Ultraschall: IsTrackStudioLinkOnAir - had inner variable exposed -> - fixed - ------------------------------------------------------------------------- - -4.00 - “Aphrodite’s Child - Four Horsemen” - -Changes from Beta 2.9 to Final - -- API: GetApiVersion - returns now the build-number as well -- API: Reapack-API-xml-generator.lua - fixed filename-creation for - non-beta-versions -- FileManagement: CheckForValidFileFormats - improved check for jpg - and jpg with exif-metadata -- FXManagement: SetFXStateChunk - allows now adding FXStateChunks to - StateChunks with no existing FXStateChunk as well; didn’t add - FXStateChunks correctly under some circumstances -> fixed(thanks to - XRaym) -- Image Handling: CaptureScreenAreaAsPNG - doesn’t work on Mac under - some still unknown circumstances -- Image Handling: CaptureWindowAsPNG - doesn’t work on Mac under some - still unknown circumstances - ------------------------------------------------------------------------- - -4.00 Beta 2.9: - “Gentle Giant - Two weeks in Spain” - -Has now 1111 functions, with 32 new ones - -This is the last beta-release for the Ultraschall-API4.00 and the -feature-freeze-version. Until the final one, I will only fix bugs. - -new in this release: - -- Render_Loop - You can render now loops, including so called “wet-loops” which are - loops, who include reverb and other such effects. - For them to be renderable properly, they need to “build up” the - effects first until it sounds right. - Render_Loop does exactly that with 2-pass-rendering. The first one - is the part, which includes the loop itself+the effects-buildup. - So it renders the part of the project until the reverb is build up - fully+the actual part to be looped. - The second pass will cut the actual loop out of the - first-pass-render and put it where you want it to be. - You can also influence the fadein/out time and style of the - second-pass-rendering, so you can avoid clickings and pops due harsh - cuts at the beginning or the end of a loop. - -- Secondary Rendering Support - This is so hot, it only exists(yet) in pre-releases of Reaper. You - can set a secondary render-format. And if you render your project, - it will render out into both files. - That means, you can render your project as WAV+MP3 at the same time. - And all rendering-functions of Ultraschall-API support that new - feature, including the current project, projectfiles, - render-presets. - -- Marker-functions and Guids - All marker/region-functions return now the guid of the marker/region - as well. Which is really nice for storing additional metadata for - markers/regions. - You can also request the markers/regions by guid now. - -- Envelope States - You can read now all envelope-states available. Setting will come - soon as well. - -- GFX_Init - Allows you now to center the window by setting x and/or y-position - to nil - -- MoveFileOrFolder - Tired of copying your files around when you just want to move them? - Or folders? Behold: MoveFileOrFolder moves files and folders for - you. - This speeds up moving files around in Lua by magnitudes. - -- FXStateChunks and RFXChainFiles - You can load/store FXStateChunks from/to RFXChainFiles, which are - the FX-Chain-files you can save within the FX-Chain-window. - -- Capturing Screen and Windows - You can now capture screens and windows for - screenshots(CaptureScreenAreaAsPNG and CaptureWindowAsPNG). - Thanks to edgemeal for that. - -- GetTCPWidth - returns the width of the TrackControlPanel. - -- More and bugfixes - as usual ;) - -New features in 4.00beta2.9 - -- API: StuffMidiMessage-AllMessages_Englisch_Windows.ini - contains - all names for all potential StuffMIDIMessage-messages -- Docs: Concepts: - DeferScripts_004_Manipulating_and_Protecting_Defer_loops - describes - manipulation of ultraschall.Defer-cycles and how to protect them - from manipulation -- Docs: Concepts: ExtStateManagement_008_MarkerExtStates - describes - the marker-extstate-functions -- Envelope Management: GetEnvelopeState_Act - returns the values of - the ACT-entry of a TrackEnvelope/EnvelopeStateChunk -- Envelope Management: GetEnvelopeState_DefShape - returns the values - of the DEFSHAPE-entry of a TrackEnvelope/EnvelopeStateChunk -- Envelope Management: GetEnvelopeState_LaneHeight - returns the - values of the LANEHEIGHT-entry of a TrackEnvelope/EnvelopeStateChunk -- Envelope Management: GetEnvelopeState_EnvName - returns the - envelope-name and possible additional values, if it’s an FX-envelope -- Envelope Management: GetEnvelopeState_NumbersOnly - returns all - values of a parameter from an EnvelopeStateChunk, including the - undocumented ones when the devs add them -- Envelope Management: GetEnvelopeState_PooledEnvInstance - returns - the attributes of an automation-item within an EnvelopeStateChunk, - including the undocumented ones when the devs add them -- Envelope Management: GetEnvelopeState_PT - returns the attributes of - an envelope-point within an EnvelopeStateChunk, including the - undocumented ones when the devs add them -- Envelope Management: GetEnvelopeState_Vis - returns the values of - the VIS-entry of a TrackEnvelope/EnvelopeStateChunk -- File Management: MoveFileOrFolder - moves a file or folder from its - old path to a new path -- FXManagement: GetAllRFXChainfiles - returns all RFXChainfiles - currently available in ResourcePath/FXChains -- FXManagement: GetRecentFX - returns the recent fx-list -- FXManagement: LoadFXStateChunkFromRFXChainFile - loads an - FXStateChunk from an RFXChain-file(requested by XRaym) -- FXManagement: SaveFXStateChunkAsRFXChainfile - writes an - FXStateChunk into an RFXChain-file(requested by XRaym) -- Image Handling: CaptureScreenAreaAsPNG - captures a screenarea and - writes it as png-file(written by edgemeal, big thanks for that!) -- Image Handling: CaptureWindowAsPNG - captures a window-area and - writes it as a png-file(written by edgemeal, big thanks for that!) -- Image Handling: ResizePNG - resizes a png-file into a new file -- KB.ini-Management: QueryKeyboardShortcutByKeyID - returns the actual - shortcutname as stored by the modifier-key-values in reaper-kb.ini’s - KEY-entries -- Metadata-Management: ProjExtState_CountAllKeys - counts the number - of keys within a section of a ProjectExtState -- MIDI-Management: QueryMIDIMessageNameByID - returns the - midi-message-name of a midi-message as sendable using - StuffMIDIMessage -- Project Bay: IsValidProjectBayStateChunk - checks, if a - ProjectBayStateChunk is a valid one -- Project Bay: GetAllMediaItems_FromProjectBayStateChunk - returns all - items from a ProjectBayStateChunk as MediaItemStateChunkArray -- Project Management: GetRecentProjects - gets the last x recent - projectfilenames, as listed in the recent projects-menu -- Rendering: Render_Loop - renders a part of a project for later use - as loop; supports also the creation of “wetloops” like ones with - reverb(requested by musicbynumbers) -- Scripts: - US_Api_Examples_Working_with_FXStateChunks_and_MediaItems.lua - - example of working with FXChainStateChunks -- Themeing: GetAllThemeLayoutNames - returns all layout-names and - values of the current theme -- Themeing: GetAllThemeLayoutParameters - returns all - theme-layout-parameter attributes of the current theme -- Ultraschall Soundboard: Soundboard_PlayFadeIn - starts a sound with - fadein, when having the Ultraschall4.00-Soundboard installed -- User Interface: GetHelpDisplayMode - returns the current - help-display-mode -- User Interface: GetTCPWidth - gets the current width of the - TCP(requested by nofish) -- User Interface: SetHelpDisplayMode - sets the current - help-display-mode -- User Interface: WiringDiagram_GetOptions - gets the current - wiring-diagram-options -- User Interface: WiringDiagram_SetOptions - sets the - wiring-diagram-options - -Changes from Beta 2.8 to Beta 2.9 - -- ChildScripts: GetScriptParameters - produced Lua-error when no - parameter was existing -> fixed -- ChildScripts: GetScriptReturnvalues - docs fixed; didn’t reset - returnvalue-counter; produced Lua-error when no parameter was - existing; had another stupid bug in it that I don’t wanna mention… - :/ -> fixed -- ConfigurationManagement: GetIniFileValue - checks now, if the - ini-file exists in the first place -- Defer Management: Defer - returns now boolean always, as well as the - defer_identifier -- Envelope Management: GetArmState_Envelope - reimplemented, should - now return future parameters as well, when added by the Reaper-devs -- FileManagement: GetAllFilenamesInPath - returns now the paths with / - as separator only -- FileManagement: GetMediafileAttributes - did not recognize jpgs with - exif-data -> should be fixed now(thanks to rstockm) -- FileManagement: WriteValueToFile - produced Lua-error when passing a - nil-value as filename_with_path -> fixed -- FXManagement: GetFXStateChunk - counted FXStateChunks, not Takes by - parameter TakeFXChain_id -> fixed -- FXManagement: RemoveFXStateChunkFromItemStateChunk - counted - FXStateChunks, not Takes by parameter take_id -> fixed -- FXManagement: SetFXStateChunk - counted FXStateChunks, not Takes by - parameter TakeFXChain_id -> fixed -- GFX: GFX_Init - when x and/or y position are set to nil, the window - will be centered now horizontally, vertically or both -- Helper Functions: PrintProgressBar - did produce a Lua-error, when - percentage==false -> fixed now -- Marker Management: AddCustomMarker - returns now the indexnumber and - guid of the newly added marker as well -- Marker Management: AddEditMarker - returns now the guid of the - marker; did not return the correct marker-id, but rather the shown - id; did not add a : after _edit -> fixed -- Marker Management: AddEditRegion - returns now the guid of the - region; did not return the correct marker-id, but rather the shown - id -> fixed -- Marker Management: AddNormalMarker - returns now the guid of the - marker; did not return the correct marker-id, but rather the shown - id -> fixed -- Marker Management: AddPodRangeRegion - returns now the guid of the - region; did not return the correct marker-id, but rather the shown - id -> fixed -- Marker Management: EnumerateCustomMarkers - returns now the guid of - the marker as well -- Marker Management: EnumerateEditMarkers - returns now the guid of - the marker as well -- Marker Management: EnumerateEditRegion - returns now the guid of the - region as well -- Marker Management: EnumerateNormalMarkers - returns now the guid of - the marker as well -- Marker Management: GetAllCustomMarkers - returns now the guid of the - marker as well -- Marker Management: GetAllEditMarkers - returns now the guid of the - editmarkers as well -- Marker Management: GetAllMarkersBetween - returns now the guid of - the markers as well -- Marker Management: GetAllNormalMarkers - returns now the guid of the - markers as well -- Marker Management: GetAllRegions - returns now the guid of the - regions as well -- Marker Management: GetAllRegionsBetween - returns now the guid of - the regions as well -- Marker Management: GetMarkerAndRegionsByIndex - returns now the guid - of the found marker as well -- Marker Management: GetMarkerByName - returns now an array of guids - as well; returned marker-numbers weren’t useable with Reaper’s own - marker-functions due off by 1-error -> fixed -- Marker Management: GetMarkerByName_Pattern - returns now an array of - guids as well; returned marker-numbers weren’t useable with Reaper’s - own marker-functions due off by 1-error -> fixed -- Marker Management: GetMarkerByScreenCoordinates - retina will now be - automatically set; parameter retina removed(please update your - scripts!) -- Marker Management: GetMarkerByTime - retina will now be - automatically set; parameter retina removed(please update your - scripts!) -- Marker Management: GetPodRangeRegion - returns now the guid of the - podrangeregion as well -- Marker Management: GetRegionByScreenCoordinates - retina will now be - automatically set; parameter retina removed(please update your - scripts!) -- Marker Management: GetRegionByTime - retina will now be - automatically set; parameter retina removed(please update your - scripts!) -- Marker Management: GetTimeSignaturesByScreenCoordinates - had typo - in functionname, which I corrected(old scripts will still - run);retina will now be automatically set; parameter retina - removed(please update your scripts!) -- Marker Management: GetTimeSignaturesByTime - retina will now be - automatically set; parameter retina removed(please update your - scripts!) -- Miscellaneous: WinterlySnowflakes - did produce Lua-error, when - number of snowflakes was >5000; limited to 5000 now -- ParmAlias: GetParmAlias_MediaTrack - had wrong functionname in - error-messages -> fixed -- ParmAlias: Docs - all functions ParmLearn-function in the docs move - to proper subchapters for clearer index-navigation -- Project Management: GetAllMediaItems_FromProjectBayStateChunk - - didn’t return ProjectBayStateChunk properly -> fixed -- Project Management: GetProject_RenderCFG - returns now the - render-cfg-string for the secondary renderformat as well -- Project Management: SetProject_RenderCFG - allows now setting of - secondary render-format as well; backwards compatible with old - scripts, who set only primary rendering format in ProjectStateChunks -- Rendering: AddRenderPreset - allows now adding the render-cfg-string - for secondary renderformat as well; had inner variable exposed -> - fixed -- Rendering: ApplyRenderTable_Project - allows now setting the - render-cfg-string for secondary renderformat as well -- Rendering: CreateNewRenderTable - allows now adding the - render-cfg-string for secondary renderformat as well; had wrong - functionname in docs -> fixed -- Rendering: DeleteRenderPreset_FormatOptions - deletes now the - render-cfg-string for secondary renderformat, if existing -- Rendering: GetRenderPreset_RenderTable - returns now possible - render-cfg-string for secondary renderformat as well; some - error-messages didn’t work -> fixed -- Rendering: GetRenderTable_Project - returns now a render-cfg-string - for secondary renderformat -- Rendering: GetRenderTable_ProjectFile - returns now a - render-cfg-string for secondary renderformat -- Rendering: IsValidRenderTable - checks now for the render-cfg-string - for secondary renderformat as well -- Rendering: RenderProject - allows now setting the render-cfg-string - for secondary renderformat as well; checks now, if projectfilename - is a valid project -- Rendering: RenderProject_RenderTable - allows now setting the - render-cfg-string for secondary renderformat as well; checks now, if - projectfilename is a valid project -- Rendering: SetRenderPreset - allows now setting the - render-cfg-string for secondary renderformat as well; set - RenderString2="" to remove the secondary renderformat -- Track Management: GetTrackState_NumbersOnly - had wrong description - in the docs -> fixed -- User Interface: GetHWND_ArrangeViewAndTimeLine - moved to User - Interface -> Reaper-Windowhandler in the index of the docs - ------------------------------------------------------------------------- - -4.00 Beta 2.80: - “Starsailor - Four to the Floor” - -Note: Ultraschall-API needs now Reaper 6.02 or higher. Please update to -Reaper 6. It’s worth it! - -Has now 1079 functions, with 20 new ones and 23 deprecated ones removed - -new in this release: - -- Improved Defer Management - Ultraschall.Defer allows you now to set and get the timer-settings - of a given ultraschall.Defer-cycle. - You can even do this from the outside of the deferred script! - You can also protect now ultraschall.Defer-cycles from being stopped - from the outside. - -- Rendering functions - The RenderPreset-functions do work again, after some changes in the - way Reaper stores render-presets since Reaper 6.02. - They also allow you to use: preset-names with spaces. (I know, this - should have been in there from the beginning… ;) ) - -- GetItem_ClickState - Is now fully functional. That means, if you call this function in - every defer-cycle of a script, you can actually monitor clicked and - dragged MediaItems. - This will open up new ways of editing and item-manipulation, like - RippleDrag, etc. - -- FXStateChunk - They can now be counted, added, removed and gotten. Means: I added - the missing functions for working with them, so you can fully work - with FXStateChunks now. - XRaym will love that :D - -- GetProjectLength - unlike Reaper’s own API-function GetProjectLength, this one returns - the end of the last itemedge, the last regionedge, marker and - time-sigmarker - -- Easy Clipboarding - FromClip and ToClip allow you now to get/put strings from/to the - clipboard without having to type gazillions of characters. - -- GetProject and GetTrackState-functions - I completely reworked most of them, so they will now return all - values, even those, which I haven’t put into the docs yet. - That means, if the devs add new values, you can retrieve them right - away, without being dependent on me to add them. - Will do the same with the Set-functions in the future. - -New features in 4.00beta2.80 - -- Helper functions: FloatCompare - compares two float-numbers, with - the a chance to set a precision to compare against(thanks to - fernsehmuell) -- Helper functions: FromClip - gets a string from the clipboard -- Helper functions: ToClip - puts a string into the clipboard -- DeferManagement: GetDeferCycleSettings - allows getting mode and - timer-settings of running ultraschall.Defer-cycles at runtime and - even from the outside of the deferred script -- DeferManagement: SetDeferCycleSettings - allows setting mode and - timer-settings of running ultraschall.Defer-cycles at runtime and - even from the outside of the deferred script -- FXManagement: CountFXStateChunksInStateChunk - counts the - FXStateChunks within a Project-/Track-/ItemStateChunk(requested by - XRaym) -- FXManagement: RemoveFXStateChunkFromTrackStateChunk - removes a - FXStateChunk from a TrackStateChunk(requested by XRaym) -- FXManagement: RemoveFXStateChunkFromItemStateChunk - removes a - certain FXStateChunk from an ItemStateChunk(requested by XRaym) -- MediaItems: GetEndOfItem - returns the endposition of a - MediaItem(thanks to fernsehmuell) -- MediaItems: GetAllMediaItemAttributes_Table - returns all attributes - of a MediaItem as a handy table(requested by fernsehmuell) -- MediaItems: GetAllSelectedMediaItemsBetween - returns all selected - MediaItems between start- and endposition within certain tracks of - your choice(requested by fernsehmuell) -- MediaItems: SetAllMediaItemAttributes_Table - sets all attributes of - a MediaItems using an attributes table, like the one returned by - GetAllMediaItemAttributes_Table(requested by fernsehmuell) -- Reaper Internals: Jumping_FX_Button_in_TCP-demo.zip - demoes, how - Set/GetLayout-functions work; includes a demo theme and a script, - that influences it, including comments -- Reaper Internals: RenderPreset-Configfile.txt - documentation of the - Render-Presets of Reaper -- Reaper Internals: Reaper-ProjectDefault-ConfigSettings.txt - - documents all reaper.ini-entries, responsible for default project - settings -- Reaper Internals: - Reaper-StuffMidiMessage-Codes(engl_shortlist).txt - holds all - messages and their meaning for StuffMIDIMessage -- Reaper Internals: StuffMidiMessage-docs.txt - describes the usage of - the StuffMIDIMessage-function -- Render Management: GetRender_EmbedStretchMarkers - gets the current - state of the “Embed stretch markers/transient guides”-checkbox from - the Render to File dialog -- Render Management: SetRender_EmbedStretchMarkers - sets the current - state of the “Embed stretch markers/transient guides”-checkbox from - the Render to File dialog -- ProjectManagement: GetProjectState_NumbersOnly - returns all - numerical values, associated with a certain state -- ProjectManagement: GetProject_PooledEnvAttach - gets the - pooled-envattach-state -- ProjectManagement: GetProjectLength - gets the length of the current - active project, as well as the position of the last itemedge, - regionend, marker, time-sig-marker(requested by rstockm) -- TrackManagement: GetTrackState_NumbersOnly - returns all numerical - values, associated with a certain state - -Changes from Beta 2.79 to Beta 2.80 - -- API: deprecated - allows showing a warning message, if a script uses - a deprecated function in a script; will be shown only once until - Reaper restarts, so scripts are stil useable -- Defer Management: GetDeferIdentifier - removed -- Defer Management: GetDeferRunState - removed Defer01-Defer20 - management; threw Lua-error, when passing nonstring as identifier -> - fixed -- Defer Management: Defer1 through Defer20 - removed -- Defer Management: Defer - mode and timer can also be set now from - the outside of the defer-cycle; can now be protected from stopping - it from the outside; couldn’t be stopped from the outside when - mode~=2 -> fixed -- Defer Management: GetDeferRunState - was missing parameters in the - docs due typo -> fixed -- Defer Management: StopDeferCycle - didn’t work, when mode=2 of a - ultraschall.Defer-cycle -> fixed -- Docs: DeferScripts_004_Working_with_Defer_Identifiers - removed -- Docs: Defer - reworked docs and removed all references to Defer1 - through Defer20 -- Docs: JS-Extension - updated to 0.998 -- Docs: Reaper - updated to Reaper 6.03 -- Docs: render-codes-decoded-base64-strings.txt - removed last 00-byte - in every string(except DDP), as it was wrongly there -- Event Manager: Eventmanager_RemoveEvent - couldn’t be found due typo - in new module-loader -> fixed (thanks to rstockm) -- Event Manager: EventManager_RemoveAllEvents_Script - couldn’t be - found due typo in new module-loader -> fixed -- Helper functions: Base64_Decoder - removed small bug, which added a - nullbyte at end of strings -- MediaItems: GetSelectedMediaItemsAtPosition - sped up a little; - returns now a MediaItemStateChunkArray as well -- ProjectManagement: GetProject_AddMediaToProjectAfterRender - - simplified implementation, future values added by Reaper-devs will - now be returned properly -- ProjectManagement: GetProject_AutoCrossFade - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_CursorPos - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_DefPitchMode - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_EnvAttach - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_Feedback - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_GlobalAuto - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_Grid - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_GroupDisabled - simplified - implementation, future values added by Reaper-devs will now be - returned properly; didn’t return anything, when no groups were - disabled -> fixed -- ProjectManagement: GetProject_GroupOverride - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_HorizontalZoom - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_ItemMixBehavior - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_Lock - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_Loop - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_LoopGran - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_MasterAutomode - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterFXByp - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterMuteSolo - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterNChans - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterPanMode - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterSel - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_MasterTrackColor - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterTrackHeight - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterTrackView - didn’t return the - new values added in recent Reaper-versions -> fixed and stabilized -- ProjectManagement: GetProject_MasterTrackView - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterVolume - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MasterWidth - simplified - implementation, future values added by Reaper-devs will now be - returned properly; didn’t return 1 in case of +100 width -> fixed -- ProjectManagement: GetProject_MaxProjectLength - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_MixerUIFlags - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_PanLaw - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_PanMode - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_PeakGain - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_Playrate - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_ProjOffsets - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_RecMode - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_RenderDitherState - simplified - implementation, future values added by Reaper-devs will now be - returned properly; updated docs with new options like embed stretch - markers -- ProjectManagement: GetProject_RenderFreqNChans - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_RenderRange - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_RenderResample - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_RenderSpeed - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_RenderStems - simplified - implementation, future values added by Reaper-devs will now be - returned properly; updated docs with new rendering selected - tracks/media through master-options -- ProjectManagement: GetProject_RippleState - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_SMPTESync - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_SampleRate - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_Selection - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_TakeLane - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_Tempo - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_TempoTimeSignature - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_TimeBase - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_Timemode - simplified implementation, - future values added by Reaper-devs will now be returned properly -- ProjectManagement: GetProject_TrackMixingDepth - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_UseRecConfig - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_VerticalZoom - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: GetProject_VideoConfig - simplified - implementation, future values added by Reaper-devs will now be - returned properly -- ProjectManagement: SetProject_RenderDitherState - updated docs with - new options like embed stretch markers -- ProjectManagement: SetProject_RenderStems - updated docs with new - rendering selected tracks/media through master-options -- Reaper Internals: render-codes-decoded-base64-strings.txt - added - new settings for AIFF -- Render Management: AddRenderPreset - supports now embed stretch - markers-checkbox; works only with render-presets as of Reaper 6; - supports now presetnames with spaces in it -- Render Management: ApplyRenderTable_Project - supports now embed - stretch markers-checkbox as of Reaper 6 -- Render Management: ApplyRenderTable_ProjectFile - supports now embed - stretch markers-checkbox as of Reaper 6 -- Render Management: CreateRenderCFG_AIFF - added Embed Beat - Length-checkbox, as included with Reaper 6 -- Render Management: CreateNewRenderTable - added new “Embed stretch - markers/transient guides”-settings as of Reaper 6; CloseAfterRender - wasn’t accepted as boolean -> fixed -- Render Management: GetRenderCFG_Settings_AIFF - returns Embed Beat - Length-checkbox, as included with Reaper 6 -- Render Management: GetRenderPreset_Names - reimplemented; supports - now presetnames with spaces in them as well -- Render Management: GetRenderTable_Project - supports now “Embed - stretch markers/transient guides”-settings as of Reaper 6 -- Render Management: GetRenderTable_ProjectFile - supports now “Embed - stretch markers/transient guides”-settings as of Reaper 6 -- Render Management: GetRenderPreset_RenderTable - reimplemented due - changed reaper-render.ini-format in Reaper 6, should be more stable - now; backwards compatible to old Reaper 5 presets -- Render Management: DeleteRenderPreset_Bounds - supports now - presetnames with spaces in it -- Render Management: DeleteRenderPreset_FormatOptions - supports now - presetnames with spaces in it -- Render Management: IsValidRenderTable - checks now as well new - “Embed stretch markers/transient guides”-settings as of Reaper 6 -- Render Management: RenderProject_RenderTable - supports now new - Embed stretch markers/transient guides-checkbox as of Reaper 6 -- Render Management: SetRenderPreset - supports now new Embed stretch - markers/transient guides-checkbox as of Reaper 6; supports now - spaces in preset-names as well -- TakeManagement: GetFXStateChunk - parameter TakeFXChain_id wasn’t - optional due typo -> fixed(thanks to XRaym) -- TakeManagement: SetFXStateChunk - docs were unclear, that only - setting NOT inserting is possible; could crash, if no FXStateChunk - for setting could be found -> fixed(thanks to XRaym) -- TrackManagement: GetTrackPeakColorState - improved implementation, - it returns now new values as well, who are added by the Reaper-devs - and aren’t documented yet -- TrackManagement: GetTrackBeatState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackAutoRecArmState - improved implementation, - it returns now new values as well, who are added by the Reaper-devs - and aren’t documented yet -- TrackManagement: GetTrackMuteSoloState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackIPhaseState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackIsBusState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackBusCompState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackShowInMixState - improved implementation, - it returns now new values as well, who are added by the Reaper-devs - and aren’t documented yet -- TrackManagement: GetTrackFreeModeState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackRecState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackVUState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackHeightState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackINQState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackNChansState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackBypFXState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackPerfState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackMIDIOutState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackMainSendState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackLockState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackAutomodeState - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackMidiCTL - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackWidth - improved implementation, it returns - now new values as well, who are added by the Reaper-devs and aren’t - documented yet -- TrackManagement: GetTrackPanMode - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- TrackManagement: GetTrackScore - improved implementation, it returns - now new values as well, who are added by the Reaper-devs and aren’t - documented yet -- TrackManagement: GetTrackVolPan - improved implementation, it - returns now new values as well, who are added by the Reaper-devs and - aren’t documented yet -- User Interface: GetReaperWindowPosition_Left - removed -- User Interface: GetReaperWindowPosition_Right - removed -- User Interface: GetItem_ClickState - remembers now the dragged - item+take, even if mouse-cursor is not above it anymore - ------------------------------------------------------------------------- - -4.00 Beta 2.79: - “Yes - Owner of a lonely heart” - -Has now 1082 functions, with 12 new ones - -New in this release: - -NOTE: There are some new features, who make use of Reaper v6-features. -Please update soon, as Reaper 6 will be a requirement soon! - -- Speedup when loading US-API - I made a modules-system, which speeds up loading and initalization - as well as memory-use of the Ultraschall-API by magnitudes. - This approach loads only the functions needed by your script(used to - load all functions in earlier versions). - The loading is now about 86% faster and memoryuse is 56% less. - And what do you need to do to make use of the modules approach? - Well, nothing. The Ultraschall-API does it for you! (requested by - many, so hope, this helps you a lot). - -- Marker/Region Extstates - Reaper 6.02 added some new features, which gives a unique guid for a - marker. This again, helped me adding a feature I wanted to have for - a long time: Marker/Region Extstates. They work like regular - ProjectExtStates, but have the benefit, that they allow saving - additional key-value stores associated with a certain marker/region. - And even if you change the whole order of the markers, the extstates - will still be attached to the marker of your choice. - Possible usecase: storing the render-format-settings as - region-extstates for region-rendering or simply adding additional - metadata to markers/regions, that are needed but would spam the - markertitle shown in the arrangeview. - Experiment with it, you’ll quickly get the idea and ideas for - practical usecases! - -- Blitting an image centered - Sometimes, you want to blit an image into gfx-windows centered. - Problem is: it’s not easy to do. Until now, as I added the function - GFX_BlitImageCentered, which does exactly that. - That means, you can pass to the function the position of the center - of the image and change rotate/scale. This makes zooming in and out - of images much more easier, as they stay at their position. - -- Subtitles SRT-import/export - You can import and export now SRT-files for subtitles. This should - allow you to use regions as subtitle-feature. - -- ConvertStringToBits and ConvertBitsToString - This can be helpful, if you have a string, which represents a - binary-number: Just convert it with this function and voila, you can - work with the bits themselves. - And if you need to do it the other direction, use - ConvertBitsToString. That way, you can work easily on a bitlevel, if - fiddling with bitshifting is too difficult for you. - -- Bugfixes with ArrangeViewSnapShots, Markers - Should now work like a charm. - -New features in 4.00beta2.79 - -- API: loadspeed - sped up loading speed by 86%, as API will now only - load functions, actually needed, not all of them; memory need is - reduced by about 56%. -- Docs: Reaper Internals - updated to Reaper 6.02 -- ExtStateManagement: GetMarkerExtState - gets an extstate from a - specific marker/region -- ExtStateManagement: SetMarkerExtState - sets an extstate for a - specific marker/region -- GFX: GFX_BlitImageCentered - blits an image centered at a given - position, to make “zooming”-effects easy to produce -- Helper Functions: ConvertBitsToString - converts a table with - bits(entries with 0 or 1) into its string-representation -- Helper Functions: ConvertStringToBits - converts a string into its - bit-representation -- Markermanagement: GetMarkerIDFromGuid - get the markerid from a guid -- Markermanagement: GetGuidFromMarkerID - get the guid from a marker -- Scrubbing: Scrubbing_MoveCursor_GetToggleState - gets the current - toggle-state for when scrubbing using an action/surface -- Scrubbing: Scrubbing_MoveCursor_Toggle - toggles the state for when - scrubbing using an action/surface -- Subtitles: ReadSubtitles_SRT - imports a SubRip-srt-subtitlefile -- Subtitles: SaveSubtitles_SRT - export a SubRip-srt-subtitlefile - -Changes from Beta 2.78 to Beta 2.79 - -- API: Reapack-API-xml-generator.lua - didn’t correctly create - zip-archive of the API stored in GitHub -> fixed -- ArrangeView Snapshots: DeleteArrangeviewSnapshot - deleted all - Arrangeview-Snapshots instead of the slot-one and didn’t check for - valid value for parameter slot -> fixed -- ArrangeView Snapshots: IsValidArrangeviewSnapshot - regression, - didn’t return false, if no snapshot was available in a certain slot - -> fixed -- ArrangeView Snapshots: RetrieveArrangeviewSnapshot - had inner - variable exposed -> fixed -- ConfigurationManagement: CountValuesByPattern - didn’t count at - all(for some reason), errors in docs -> fixed(thanks to reapero) -- Developer: - ultraschall_developertool_Display-Altered-Config-Vars.lua - didn’t - work with rc-pre-releases of Reaper -> fixed -- Marker Management: AddCustomRegion - was expecting length, although - declared as regionend in the docs -> fixed -- Marker Management: MoveRegionsBy - still had debug-code in it, which - could display messageboxes and overwrite global variables -> fixed - (sorry for that) -- Marker Management: SetCustomRegion - had docs of AddCustomRegion -> - fixed -- Project Management: GetProject_MarkersAndRegions - supports now - guids of markers and regions, as introduced in Reaper 6.02 - ------------------------------------------------------------------------- - -4.00 Beta 2.78: - “Tchaikovski - Overture 1812” - 5th of November 2019 - -Has now 1070 functions, with 41 new ones - -New in this release: - -- Event Manager - Additional functions and features to improve handling, development, - monitoring and debugging of events. - Fixed some bugs, that need startup-events to be readded again. Sorry - for that. - -- SLEM - like ultraschall.ShowLastErrorMessage() but faster to type. I should - have added this much more earlier. - -- MIDI-notes - Now you can send easily Midi: notes, cc-messages, pc and pitchbends. - -- Defer - One Defer-function to rule them all. You can set, how often to run - the defer-cycle and give it an identifier. - With that identifier, you can stop that specific defer-cycle from - the outside! - Way better than killing all scripts with the action “ReaScript: - Close all running reaScripts”. - -- PingMe - Puts out a message including linenumber and function, in which the - PingMe-function was executed. - You can output the message in the ReaScript-console, as messagebox - and into the clipboard, even retaining old clipboard-contents. - This can be used as simpler version of hooks to monitor internal - behavior. - -- StateInspector supports gmem - You can monitor now gmem-states as well, which is handy for - developers of JSFX and Video-Processor-related scripts. - -New features in 4.00beta2.78 - -- DeferManagement: Defer - runs a deferred loop; you can decide how - often it runs; allows you to give it a unique identifier to access, - watch and stop it from anywhere! better than Defer1 through Defer20! - Use this one, when in doubt! (requested by rstockm) -- Debug: PingMe - shows a message with the current scriptfilename and - linenumbers of execution for debugging purposes, like hooks but - “lighter” -- Docs: Concepts - added chapters EventManager_The_Basic_Concept, - EventManager_AlterRetrieve and EventManager_Debugging -- ErrorMessagingSystem: SLEM - this works like - ultraschall.ShowLastErrorMessage() but is easier to type. -- EventManager: EventManager_DebugMode - starts/stops the debug-mode - of the EventManager, which adds additional debugging features -- EventManager: EventManager_DebugMode_UserSpace - allows getting the - contents of the userspace as used by a registered - eventcheck-function, for debugging purposes(DebugMode must be set to - on) -- EventManager: EventManager_GetEventIdentifier - returns the - EventIdentifier of a registered event, by id -- EventManager: EventManager_GetLastCheckfunctionState - returns the - last state of the checkfunction of a certain event, by numbered - id(requested by rstockm) -- EventManager: EventManager_GetLastCheckfunctionState2 - returns the - last state of the checkfunction of a certain event, by - EventIdentifier(requested by rstockm) -- EventManager: EventManager_GetLastUpdateTime - returns the last - time, when any event got updated(requested by rstockm) -- EventManager: EventManager_GetPausedState - returns, if a certain - event is paused or not, by numbered id(requested by rstockm) -- EventManager: EventManager_GetPausedState2 - returns, if a certain - event is paused or not, by EventIdentifier(requested by rstockm) -- EventManager: EventManager_GetRegisteredEventID - returns the id of - a certain event by EventIdentifier, which is the position within all - currently registered events -- Examplescript: US_Api_Examples_EventManager_HowTo.lua - an example - on how to add an event to the EventManager(requested by rstockm) -- Helper Functions: ConvertFunction_FromHexString - converts and loads - a function from hexstring as generated by function - ConvertFunction_ToHexString -- Helper Functions: ConvertFunction_ToHexString - converts a function - into a hexstring which can be reconverted into a function by - function ConvertFunction_FromHexString -- MIDIManagement: MIDI_SendMidiCC - sends a MIDI-CC-message to a - device or virtual keyboard or Reaper itself as shortcut -- MIDIManagement: MIDI_SendMidiNote - sends a MIDI-note to a device or - virtual keyboard or Reaper itself as shortcut -- MIDIManagement: MIDI_SendMidiPC - sends a MIDI-PC-message to a - device or virtual keyboard or Reaper itself as shortcut -- MIDIManagement: MIDI_SendMidiPitch - sends a MIDI-Pitchbend-message - to a device or virtual keyboard or Reaper itself as shortcut -- Project Management: SetProject_MasterFXByp - sets the - fx-bypass-state of the master-track in a projectfile or a - ProjectStateChunk -- Project Management: SetProject_MasterMuteSolo - sets the - mute-solo-state of the master-track in a projectfile or a - ProjectStateChunk -- Project Management: SetProject_MasterNChans - sets the number of - channels and vu-metering-settings of the mastertrack in a - projectfile or a ProjectStateChunk -- Project Management: SetProject_MasterPanMode - sets the panmode of - the track -- Project Management: SetProject_MasterTrackColor - sets the color of - the track -- TrackManagement: AnyTrackFreeItemPositioningMode - returns, if any - track has free item positioning mode activated -- TrackManagement: AnyTrackFXBypass - returns, if any track has - fx-bypass activated(optionally with master-track) -- TrackManagement: AnyTrackHiddenTCP - returns, if any track is hidden - in TCP(optionally with master-track) -- TrackManagement: AnyTrackHiddenMCP - returns, if any track is hidden - in MCP(optionally with master-track) -- TrackManagement: AnyTrackPhased - returns, if any track is - phase-inverted -- TrackManagement: AnyTrackRecarmed - returns, if any track is - recarmed -- TrackManagement: AnyTrackRecMonitored - returns, if any track is - rec-monitored -- UltraschallSoundboard: Soundboard_Play - starts playing a certain - player within the Ultraschall Soundboard -- UltraschallSoundboard: Soundboard_PlayList_Next - starts the next - Soundboard-player-slot -- UltraschallSoundboard: Soundboard_PlayList_Previous - starts the - previous Soundboard-player-slot -- UltraschallSoundboard: Soundboard_PlayList_SetIndex - sets the - current Soundboard-player-slot, optionally starts playing it -- UltraschallSoundboard: Soundboard_PlayList_CurrentIndex - returns - the current Soundboard-player-slot -- UltraschallSoundboard: Soundboard_Stop - stops playing a certain - player within the Ultraschall Soundboard -- UltraschallSoundboard: Soundboard_StopAllSounds - stops all player - within the Ultraschall Soundboard -- UltraschallSoundboard: Soundboard_TogglePlay_FadeOutStop - toggles - playing and stop with fadeout of a certain player within the - Ultraschall Soundboard -- UltraschallSoundboard: Soundboard_TogglePlayStop - toggles play-stop - of a certain player within the Ultraschall Soundboard -- UltraschallSoundboard: Soundboard_TogglePlayPause - toggles - play-pause of a certain player within the Ultraschall Soundboard - -Changes from Beta 2.77 to Beta 2.78 - -- Configuration Management: GetIniFileExternalState - was missing - retval in the docs -- DeferManagement: GetDeferRunState - gets now Defer-cycles-runstate, - of deferred-functions, started by the new function Defer, as well -- DeferManagement: StopDeferCycle - stops now Defer-cycles, started by - the new function Defer, as well -- DeveloperTools: StateInspector - supports now displaying gmem-states - as well(hit g or look in the menu) -- Docs: Reaper-Internals - updated JS-extension to 0.995 -- DocEngine: Docs_GetUSDocBloc_Description - didn’t return right - markup-type and version -> fixed -- EventManager: EventManager_EnumerateStartupEvents - was missing - retval paused -> fixed -- EventManager: EventManager_EnumerateStartupEvents2 - was missing - retval paused -> fixed -- EventManager: EventManager_PauseEvent - had typo in parameter-name, - so it was ignored -> fixed(thanks to rstockm) -- EventManager: EventManager_RemoveStartupEvent2 - had wrong - functionname in docs -> fixed -- EventManager: EventManager_ResumeEvent - had typo in parameter-name, - so it was ignored -> fixed(thanks to rstockm) -- EventManager: EventManager_SetEvent - you can now pass nil for - parameters, who you don’t want to change -- EventManager: EventManager_SetStartupEvent - you can now pass nil - for parameters, who you don’t want to change -- EventManager: EventManager_Start - checks now, if - EventManager-script exists and returns false if not; didn’t - unregister the EventManager-script again, after it was run -> - fixed(thanks to rstockm) -- EventManager: StartupEvent-functions - had to rewrite the - function-encoding, so StartupEvents must be re-registered by you to - work, sorry for that -- EventManager: EventManager-script - returns now the current - event-check-function’s state and a debugmode -- Helper Functions: Base64_Encoder - was completely broken due - “improvements” -> fixed now -- Helper Functions: GetApiVersion - put retval “number versionnumber” - as first returnvalue, for easier versioncomparison(sorry for any - inconvenience) -- RenderManagement: RenderProject_RenderTable - didn’t return - filearray -> fixed -- TrackManagement: AnyTrackMute - hadn’t parameter master documented - -> fixed -- Ultraschall.ini: CountUSExternalState_key - allows now to set a - different filename within the Ressource-folder, other than - ultraschall.ini -- Ultraschall.ini: CountUSExternalState_sec - allows now to set a - different filename within the Ressource-folder, other than - ultraschall.ini -- Ultraschall.ini: DeleteUSExternalState - allows now to set a - different filename within the Ressource-folder, other than - ultraschall.ini; didn’t work for the last key in the ini-file -> - fixed -- Ultraschall.ini: EnumerateUSExternalState_key - allows now to set a - different filename within the Ressource-folder, other than - ultraschall.ini -- Ultraschall.ini: EnumerateUSExternalState_sec - allows now to set a - different filename within the Ressource-folder, other than - ultraschall.ini -- Ultraschall.ini: GetUSExternalState - allows now to set a different - filename within the Ressource-folder, other than ultraschall.ini -- Ultraschall.ini: SetUSExternalState - allows now to set a different - filename within the Ressource-folder, other than ultraschall.ini - ------------------------------------------------------------------------- - -4.00 Beta 2.77: - “Monkeys with Tools - Call the planet doctor” - 1st of October 2019 - -Has now 1029 functions with 44 new ones! Yes, I crossed the thousand! - -New in this release: - -- Event Manager - Killer Feature Time and long requested by many of you! - The EventManager allows you to run actions, when certain states - occur/statechanges occur. - That way you can automatize running actions under certain - circumstances without having to run your own defer-script for that. - Kudos to @fernsehmuell, who was essential in the initial designs of - it! - -- ShowXXXInputMenu - Shows different Context-menus, like TrackInput, TrackPanel, - TrackArea, TrackRouting, Ruler, MediaItem, Track/TakeEnvelope, - EnvelopePoint, EnvelopePoint for Automation Items, - AutomationItems-contextmenu. - Reaper’s own function ShowPopupMenu is quite difficult to use, so I - made some, who make it easier. - -- RunLuaSourceCode - Runs Luacode directly without having to create a script for it. - -- Main_OnCommand_LuaCode - Runs Luacode as child-script directly without having to create a - script for it. - -- GetTimeByMouseXPosition - returns projecttime at x-screenposition, which can be nice for - mouse-editing-specific actions. - -- ReplacePatternInString - Like Lua’s string.gsub(), this replaces a pattern within a string - with a replacement string, but you can choose, - which one shall be replaced. And unlike string.gsub() only that one - will be replaced, not the occurences after that. - -- GetItem_ClickState and GetTrackEnvelope_ClickState - Return, if a MediaItem/EnvelopePoint is currently clicked and - hovered by the mouse. Could be used for some nice and handy things. - -- GetAllActions - Sped up and returns now more attributes, like action-type(script, - native, custom, extension), termination-state of scripts, - consolidate-state for custom actions. - -- ConvertFunction_FromBase64String and ConvertFunction_ToBase64String - Convert a Lua-function to/from a BASE64-string. That way, you can - exchange functions via extstates. Convert to Base64-string, put the - string into an extstate, - read the string from the extstate and convert it back to a function. - -- Bugfixes and optimzations - Optimized and bugfixed tons of other stuff, thanks to many - bugreports and a lot of feedback from many of you. - Big thanks for that :) - -New features in 4.00beta2.77 - -- Defer Management: GetDeferRunState - gets the current runstate of a - ultraschall-defer-loop in the current or a specific - scriptinstance(requested by rstockm) -- Docs: EventManager - added concepts docs for detailed description, - on how to use and code the EventManager -- Envelope Management: GetTrackEnvelope_ClickState - returns the - currently clicked TrackEnvelope-Point -- Error Messaging System: SuppressErrorMessages - suppresses and - unsuppresses error-messages of the error messaging system -- EventManager: EventManager_AddEvent - registers a new event to the - EvenManager-checkingqueue -- EventManager: EventManager_AddStartupEvent - adds an event into the - ini-file of the EventManager, to be registered at startup of the - ini-file -- EventManager: EventManager_CountRegisteredEvents - counts the number - of registered events -- EventManager: EventManager_CountStartupEvents - counts the number of - currently available startup-events for the EventManager -- EventManager: EventManager_EnumerateEvents - returns attributes of - specific registered events -- EventManager: EventManager_EnumerateEvents2 - enumerates attributes - of an event by EventIdentifier -- EventManager: EventManager_EnumerateStartupEvents - enumerates - attributes of a startup-event -- EventManager: EventManager_EnumerateStartupEvents2 - enumerates - attributes of a startup-event by an EventIdentifier -- EventManager: EventManager_IsValidEventIdentifier - checks, if an - EventIdentifier is a valid and currently registered one -- EventManager: EventManager_PauseEvent - pauses a registered event in - the EventManager -- EventManager: EventManager_RemoveAllEvents_Script - removes all - events, registered by a script with a certain ScriptIdentifier -- EventManager: EventManager_RemoveEvent - removes an event from the - EvenManager-checkingqueue -- EventManager: EventManager_RemoveStartupEvent - removes a - registered-at-startup-event for the EventManager by EventIdentifier -- EventManager: EventManager_RemoveStartupEvent2 - removes a - registered-at-startup-event for the EventManager -- EventManager: EventManager_ResumeEvent - resumes a paused and - registered event in the EventManager -- EventManager: EventManager_SetEvent - sets an already existing event - in the EvenManager-checkingqueue -- EventManager: EventManager_SetStartupEvent - sets an event in the - ini-file of the EventManager, which will be registered at startup of - the ini-file -- EventManager: EventManager_Start - starts the EventManager -- EventManager: EventManager_Stop - removes all events registered by - the current script/a specific ScriptIdentifier; stops the - EventManager, if all scripts who have registered events have used - this function -- EventManager: Ultraschall_EventManager.lua - the backgroundscript - for the EventManager -- Helper Functions: ConvertFunction_FromBase64String - loads a - function from a BASE64-string -- Helper Functions: ConvertFunction_ToBase64String - converts a - function into a BASE64-string -- Helper functions: Main_OnCommand_LuaCode - runs Luacode in a - temporary new script, without the need to create it first -- Helper functions: ReplacePatternInString - replaces a certain - occurence(and only that one) of a pattern in a string with a - replacement -- Helper functions: RunLuaSourceCode - runs Lua-code directly from a - string -- MediaItem Management: GetItem_ClickState - returns the currently - clicked MediaItem -- MediaItem Management: GetItem_HighestRecCounter - returns the - highest reccounter in the current project -- MediaItem Management: GetItem_Number - returns the itemnumber of a - MediaItem within a project(requested by XRaym) -- Project Management: GetProjectFilename - returns the filename of a - currently opened project -- Project Management: SetProject_GlobalAuto - sets global automation - override-state a projectfile or a ProjectStateChunk -- Project Management: SetProject_Lock - sets locked-state of a - projectfile or a ProjectStateChunk -- Project Management: SetProject_MasterAutomode - sets automation-mode - of the mastertrack in a projectfile or a ProjectStateChunk -- Project Management: SetProject_Playrate - sets playrate-state of a - projectfile or a ProjectStateChunk -- Project Management: SetProject_MasterSel - sets selection-state of - the master-track in a projectfile or a ProjectStateChunk -- Project Management: SetProject_Tempo - sets the tempo settings(bpm, - beat, denominator) a projectfile or a ProjectStateChunk -- Ultraschall: DeleteUSExternalState - deletes an extstate from the - ultraschall.ini(requested by rstockm) -- User Interface: GetTimeByMouseXPosition - returns projecttime at - x-screenposition -- User Interface: ShowTrackInputMenu - shows a TrackInput-contextmenu -- User Interface: ShowTrackPanelMenu - shows a TrackPanel-contextmenu -- User Interface: ShowTrackAreaMenu - shows a TrackArea-contextmenu -- User Interface: ShowTrackRoutingMenu - shows a - TrackRouting-contextmenu -- User Interface: ShowRulerMenu - shows a Ruler-contextmenu -- User Interface: ShowMediaItemMenu - shows a MediaItem-contextmenu -- User Interface: ShowEnvelopeMenu - shows a - Track/TakeEnvelope-contextmenu -- User Interface: ShowEnvelopePointMenu - shows an - EnvelopePoint-contextmenu -- User Interface: ShowEnvelopePointMenu_AutomationItem - shows an - EnvelopePoint-contextmenu for Automation Items -- User Interface: ShowAutomationItemMenu - shows an - AutomationItems-contextmenu - -Changes from Beta 2.761 to Beta 2.77 - -- Actions: GetAllActions - sped up by magnitudes; returns now - actiontype, consolidate-state, termination-state of actions as well; - supports now section 1(invisible custom actions) -- API: functions - moved all functions into modules for future - modular-concept -- Configuration Files: CountIniFileExternalState_sec - had inner - variable exposed -> fixed -- Configuration Files: EnumerateIniFileExternalState_sec - did return - keys instead of sections -> fixed -- Configuration Files: GetKBIniKeys - enhanced description for osc -- Configuration Files: SetKBIniKeys - enhanced description for osc -- Docs: Reaper Internals - updated to Reaper 5.983 and JS-extension - 0.992 -- DocEngine: Docs_GetUSDocBloc_ChapterContext - returned an additional - empty non-existant chapter -> fixed -- DocEngine: Docs_GetUSDocBloc_Requires - could produce a Lua-error -> - fixed -- Defer Management: GetDeferIdentifier - you can optionally pass a - script-identifier now, to get the defer-identifier of another - scriptinstance(used to support only the current script instance) -- Helper Functions: IsValidMatchingPattern - moved to docs-index - API-Helper functions -> Data Manipulation -- Helper Functions: SecondsToTime - moved to docs-index API-Helper - functions -> Data Manipulation -- Helper Functions: SecondsToTimeString_hh_mm_ss_mss - moved to - docs-index API-Helper functions -> Data Manipulation -- Helper Functions: SplitStringAtLineFeedToArray - didn’t always - return the last entry of the passed string -> fixed (thanks to - Aurelien) -- Helper Functions: TimeStringToSeconds_hh_mm_ss_mss - moved to - docs-index API-Helper functions -> Data Manipulation -- Helper Functions: TimeToSeconds - moved to docs-index API-Helper - functions -> Data Manipulation -- HWND: GetActionsHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- HWND: GetBatchFileItemConverterHWND - moved to docs-index User - Interface -> Reaper-Windowhandler -- HWND: GetConsolidateTracksHWND - moved to docs-index User Interface - -> Reaper-Windowhandler -- HWND: GetExportProjectMIDIHWND - moved to docs-index User Interface - -> Reaper-Windowhandler -- HWND: GetPreferencesHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- HWND: GetProjectDirectoryCleanupHWND - moved to docs-index User - Interface -> Reaper-Windowhandler -- HWND: GetProjectSettingsHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- HWND: GetRenderQueueHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- HWND: GetRenderToFileHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- HWND: GetRenderingToFileHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- HWND: GetSaveLiveOutputToDiskHWND - moved to docs-index User - Interface -> Reaper-Windowhandler -- HWND: GetVideoHWND - moved to docs-index User Interface -> - Reaper-Windowhandler -- Media Explorer: MediaExplorer_OnCommand - moved function in docs to - index Media Explorer -- Media Explorer: UpdateMediaExplorer - moved function in docs to - index Media Explorer -- Project Management: CheckForChangedProjectTabs - checks now as well, - if projectfilenames have changed, by either loading a project or - saving a project under a new filename(requested by lexaproductions) -- Project Management: GetProject_GlobalAuto - added description for - global-automation-override_state -- Project Management: GetProject_MasterGroupFlagsState - moved to - correct docsindex Project Management -- Project Management: ProjectTabs-check - initialization had a bug, - which could cause CheckForChangedProjectTabs to fail at times -> - fixed -- Project Management: SetProject_MasterGroupFlagsState - moved to - correct docsindex Project Management -- SpectralEdit: AddItemSpectralEdit - parameter end_pos was actually - length -> fixed (thanks to XRaym) -- SpectralEdit: GetItemSpectralEdit - retval end_pos was actually - length -> fixed (thanks to XRaym) -- SpectralEdit: SetItemSpectralEdit - parameter end_pos was actually - length -> fixed (thanks to XRaym) -- Ultraschall: EnumerateUSExternalState_sec - had problems, when - ultraschall.ini was stored with CR+LF-lineendings -> fixed (thanks - to rstockm) -- Ultraschall: IsTrackSoundboard - sped up execution by removing - useless loop(thanks rstockm) -- Ultraschall: IsTrackStudioLink - sped up execution by removing - useless loop(thanks rstockm) -- Ultraschall: IsTrackStudioLinkOnAir - sped up execution by removing - useless loop; didn’t work correctly on Mac -> fixed(thanks rstockm) -- Ultraschall: moved ultraschall.ini-related functions to Ultraschall - Specific-index in the docs -- User Interface: GetReaperWindowPosition_Left - deprecated -- User Interface: GetReaperWindowPosition_Right - deprecated -- User Interface: GetUserInputs - only working on Windows, currently. - Working on fixing it. -- User Interface: MB - only working on Windows, currently. Working on - fixing it. - ------------------------------------------------------------------------- - -4.00 Beta 2.761: - “Coldplay - Fix You” - 23rd of August 2019 - -Has now 985 functions with 8 new ones! - -IMPORTANT!: This is a massive critical bugfix release. About 60 -functions returned wrong returnvalues in case of an error. -If you use any of the functions listed in Changes from Beta 2.76 to Beta -2.761, you should check, if your scripts still work. -This is totally my fault, as I had some of them wrong to begin with. -My apologies for any inconvenience…. :/ - -New in this release: - -- Critical Bugfixes - In case of errors, many functions returned wrong returnvalues or had - faulty returnvalues stated in the docs. All of them are fixed now. - Please check, if your scripts use any of the functions listed in - Changes for more details. - Hope this is the last time, stuff like that happened… - -- GetProjectStateChunk - gets a full StateChunk of the current project(finally working!) - Now you can get all states of your project! - -- MediaExplorer - Get the HWND(GetMediaExplorerHWND), update the - listview(UpdateMediaExplorer) and run an action, associated with the - MediaExplorer-section(MediaExplorer_OnCommand). - -- ConvertYCoordsMac2Win - Y-coordinates on Mac are different from the ones in Windows/Linux, - meaning, pixel 0 is at the bottom, while Windows/Linux start on top. - This function converts the y-coordinates between these two - coordinate-systems. - -- New version of Config-Vars-displayer-script - Shows changes with doubles without a problem now, is faster, uses - the config-var-docs included with the API to get the currently - accepted config-vars. I also improved the layout a bit. - -New features in 4.00beta2.761 - -- Helper functions: FindPatternsInString - finds all occurrences of a - matching-pattern in a string -- Helper functions: IsWithinTimeRange - returns, if a time is within a - start and endtime, takes care of the precision-problem - time-positions in Lua have -- ProjectManagement: GetProjectStateChunk - returns the - ProjectStateChunk of the current project(finally working!) -- Scripts: ultraschall_developertool_Display-Altered-Config-Vars.lua - - new version, which solves the faulty-displaying-of-double-issue, - faster and improved layout. Uses now ConfigVars-Docfile to read the - currently supported ConfigVars. -- Trackmanagement: IsSplitAtPosition - returns, if a - split/mediaitemend/mediaitemstart exists at a certain position, - within certain tracks -- User Interface: ConvertYCoordsMac2Win - converts y-coordinates - between Windows/Linux and Mac related coordinatesystems -- User Interface: GetMediaExplorerHWND - gets the HWND-windowhandler - of the Media Explorer -- User Interface: UpdateMediaExplorer - updates the listview of the - Media Explorer -- User Interface: MediaExplorer_OnCommand - runs an Media Explorer - action(just like Reaper’s Main_OnCommand and - Midi_OnCommand-functions); runs no scripts yet, only - native/extension actions - -Changes from Beta 2.76 to Beta 2.761 - -- Automation Items: GetProject_CountAutomationItems - didn’t return - the right retval in case of an error -> fixed -- ColorManagement: RGB2Grayscale - didn’t return the right retval in - case of an error -> fixed -- Configuration Files: CountIniFileExternalState_sec - did count keys - instead of sections -> fixed(thanks to rstockm) -- Configuration Files: CountUSExternalState_sec - did count keys - instead of sections -> fixed(thanks to rstockm) -- Configuration Files: CountUSExternalState_key - didn’t return the - right retval in case of an error -> fixed -- Configuration Files: DeleteKBIniActions - didn’t return the right - retval in case of an error -> fixed -- Configuration Files: DeleteKBIniScripts - didn’t return the right - retval in case of an error -> fixed -- Configuration Files: DeleteKBIniKeys - didn’t return the right - retval in case of an error -> fixed -- Configuration Files: EnumerateIniFileExternalState_sec - did - enumerate keys instead of sections -> fixed(thanks to rstockm) -- Configuration Files: EnumerateKeysByPattern - didn’t return the - right retval in case of an error -> fixed -- Configuration Files: EnumerateSectionsByPattern - didn’t return the - right retval in case of an error -> fixed -- Configuration Files: EnumerateUSExternalState_sec - didn’t return - the right retval in case of an error -> fixed -- Configuration Files: EnumerateUSExternalState_key - didn’t return - the right retval in case of an error -> fixed -- Configuration Files: EnumerateValuesByPattern - didn’t return the - right retval in case of an error -> fixed -- Configuration Files: SetIniFileExternalState - didn’t return the - right retval in case of an error -> fixed -- Docs: Api-docs - went through all of them and removed - MarkDown-issues, though I should do something on this - MarkDown-issue. It’s a drag… -- Docs: Doc-Engine - had wrong parameters and retvals in numerous - functions…fixed(ooops) -- Docs: Doc-Engine: Docs_ConvertPlainTextToHTML - was missing - html-codes in the description due me encoding it wrong -- Docs: GetRenderingToFileHWND - had parameters described, that don’t - exist -> fixed -- Docs: Reaper Internals - updated to Reaper 5.982, JSextension 0.990 - added configvars from developer-releases -- Docs: Reaper: GetTrackSendInfo_Value - fixed - Markdown-formatting-problems -- Docs: Reaper: print-functions - all print-functions, like sprint, - fprint, gfx.printf, etc include now formatting information in the - description. -- Docs: Reaper: SetTrackSendInfo_Value - fixed - Markdown-formatting-problems -- EnvelopeManagement: SetArmState_Envelope - didn’t return the right - retval in case of an error -> fixed -- FileManagement: CountLinesInFile - didn’t return the right retval in - case of an error -> fixed -- FileManagement: GetLengthOfFile - didn’t return the right retval in - case of an error -> fixed -- FileManagement: MakeCopyOfFile_Binary - didn’t return the right - retval in case of an error -> fixed -- FileManagement: ReadValueFromFile - didn’t return the right retval - in case of an error -> fixed -- FileManagement: ReadBinaryFileUntilPattern - didn’t return the right - retval in case of an error -> fixed -- FileManagement: ReadBinaryFileFromPattern - didn’t return the right - retval in case of an error -> fixed -- FXManagement: AddParmLFOLearn_FXStateChunk - enhanced - doc-description; fixed bug that could cause a LFOLEARN entry to - become PARMLEARN(thanks to Justin and Schwa for helping me with - that) -- FXManagement: AddParmLearn_FXStateChunk - enhanced doc-description; - fixed bug that could cause a PARMLEARN entry to become - LFOLEARN(thanks to Justin and Schwa for helping me with that) -- FXManagement: AddParmAlias_FXStateChunk - enhanced doc-description -- FXManagement: CountParmAlias_FXStateChunk - returns now -1 in case - of an errorenhanced doc-description -- FXManagement: CountParmLearn_FXStateChunk - returns now -1 in case - of an error; enhanced doc-description -- FXManagement: CountParmLFOLearn_FXStateChunk - returns now -1 in - case of an error; enhanced doc-description -- FXManagement: DeleteParmAlias_FXStateChunk - enhanced - doc-description -- FXManagement: DeleteParmLFOLearn_FXStateChunk - enhanced - doc-description -- FXManagement: GetParmModulationChunk_FXStateChunk - enhanced - doc-description -- FXManagement: GetParmLFOLearn_MediaTrack - enhanced doc-description -- FXManagement: GetFXStateChunk - had layoutproblem, when the passed - StateChunk was taken from a ProjectStateChunk -> fixed(thanks to - lossius) -- FXManagement: SetFXStateChunk - didn’t return the right retval in - case of an error -> fixed -- FXManagement: SetParmLFOLearn_FXStateChunk - enhanced - doc-description; fixed bug that could cause a LFOLEARN entry to - become PARMLEARN(thanks to Justin and Schwa for helping me with - that) -- FXManagement: SetParmLearn_FXStateChunk - enhanced doc-description; - fixed bug that could cause a PARMLEARN entry to become - LFOLEARN(thanks to Justin and Schwa for helping me with that) -- FXManagement: SetParmAlias_FXStateChunk - enhanced doc-description -- Helper Functions: CompareStringWithAsciiValues - returned -1 in case - of an error, although boolean should be returned -> fixed -- Helper Functions: ConvertIntegerIntoString2 - didn’t return the - right retval in case of an error -> fixed -- Helper Functions: GetScriptFilenameFromActionCommandID - didn’t - return the right retval in case of an error -> fixed -- Helper Functions: GetUserInputs - did change the tables passed as - default-retvals -> fixed now -- Helper Functions: IsItemInTrack - changed error-retval to nil; - didn’t return the right retval in case of an error -> fixed -- Helper Functions: LoadFunctionFromExtState - didn’t return the right - retval in case of an error -> fixed -- Helper Functions: SetIntConfigVar_Bitfield - didn’t return the right - retval in case of an error -> fixed -- Helper Functions: ToggleStateAction - wrongly stated to return - boolean instead of integer in the docs -> fixed -- Helper Functions: ToggleStateButton - wrong retval-description in - the docs -> fixed -- Marker Management: DeleteNormalMarker - returned wrong retval in - case of an error -> fixed -- Marker Management: DeleteEditMarker - returned wrong retval in case - of an error -> fixed -- Marker Management: EnumerateEditRegion - returned wrong retval in - case of an error -> fixed -- Marker Management: SetMarkerByIndex - returned wrong retval in case - of an error -> fixed -- MediaItem Management: GetItemSpectralConfig - didn’t return the - right retval in case of an error -> fixed -- MediaItem Management: GetItemSpectralVisibilityState - didn’t return - the right retval in case of an error -> fixed -- MediaItem Management: GetMediaItemTake - didn’t return the right - retval in case of an error -> fixed -- MediaItem Management: RippleInsert_MediaItemStateChunks - had inner - variable exposed -- MediaItem Management: SetItemLength - didn’t return the right retval - in case of an error -> fixed -- MediaItem Management: SetItemPosition - didn’t return the right - retval in case of an error -> fixed -- MediaItem Management: SetItemUSTrackNumber_StateChunk - didn’t - return in some errorcases, potentially resulting in a Lua-error -> - fixed -- MediaItem Management: SplitMediaItems_Position - didn’t return the - right retval in case of an error -> fixed -- Project Management: GetProject_GetRegion - returned wrong retval in - case of an error -> fixed -- Project Management: GetProject_CountMasterHWOuts - returned wrong - retval in case of an error -> fixed -- Project Management: GetProject_MasterGroupFlagsState - returned - wrong retval in case of an error -> fixed -- Project Management: GetProject_MasterGroupFlagsHighState - returned - wrong retval in case of an error -> fixed -- Rendering: ApplyRenderTable_Project - stated nil as retval in case - of an error, though it is false -> fixed -- Rendering: ApplyRenderTable_ProjectFile - stated nil as retval in - case of an error, though it is false -> fixed -- Rendering: GetRenderPreset_RenderTable - stated false as retval in - case of an error, though it is nil -> fixed -- Track Management: RemoveMediaItem_TrackStateChunk - docs incorrectly - stated nil as retval in case of an error -> fixed -- Track Management: RemoveMediaItemByIGUID_TrackStateChunk - docs - incorrectly stated nil as retval in case of an error -> fixed -- Track Management: RemoveMediaItemByGUID_TrackStateChunk - docs - incorrectly stated nil as retval in case of an error -> fixed -- Track Management: SetMediaItemStateChunk_in_TrackStateChunk - docs - incorrectly stated nil as retval in case of an error -> fixed -- User Interface: GetVideoHWND - returned wrong retval in case of an - error -> fixed -- Video: VID_Pixels2VideoUIStateCoords - returned wrong retval in case - of an error -> fixed -- Video: VID_VideoUIStateCoords2Pixels - returned wrong retval in case - of an error -> fixed - ------------------------------------------------------------------------- - -4.00 Beta 2.76: - “The Police - Walking on the Moon” - 20th of July 2019 - -Has now 977 functions with 42 new ones! - -New in this release: - -- Parameter Learn - You can set/get/delete parameter-learning in Statechunks. - - 1) get a StateChunk - 2) get its FXStateChunk using GetFXStateChunk - 3) alter this FXStateChunk using the ParmLearn-functions - 4) set this FXStateChunk using SetFXStateChunk - 5) (re-)apply the final StateChunk to the Track/Item - -- Localize - You can localize your scripts using an external localize-file. - If that exists, ultraschall.Localize will convert your string into - it’s localized one, otherwise it uses it’s original text. - -- DocEngine - long time on my list, functions for the DocEngine. With them, you - can use my Reaper-internal-sourcefiles (.USDocML) and create your - own conversions of them. - -- get_action_context_MediaItemDiff - a function, which helps you to get the diff of an MediaItem since - last time calling this function. Good for RippleDrag-features. - -- AddSelectedItemsToRenderQueue - this adds MediaItems into the Render-Queued, either as single-queued - or multiqueued-project-files(requested by Travesty) - -- GetUserInputs - allows now setting the length of the captions-fields. - No more cutting off of longer captions!(requested by Julian Sader) - -- More functions, more bugfixes, updated Reaper-docs, speedups - -New features in 4.00beta2.76 - -- Actions: GetAllActions - gets all actions, actioncommandids and - scriptnames of all actions in a specific section -- DocEngine: Docs_ConvertPlainTextToHTML - converts a plaintext into - html -- DocEngine: Docs_GetAllUSDocBlocsFromString - gets all US_DocBlocs - from a string -- DocEngine: Docs_GetUSDocBloc_ChapterContext - gets the chapters of - an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Description - gets the description of - an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Functioncall - gets a functioncall of - an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_NextChapter - gets the slug of the next - chapter of the US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Params - gets the parameters of an - US_DocBloc -- DocEngine: Docs_GetUSDocBloc_PreviousChapter - gets the slug of the - previous chapter of the US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Requires - gets the requires-tag from - an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Retvals - gets the retvals of an - US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Slug - gets the slug from an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_SourceDocument - gets the - source-document-entry from an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_TargetDocument - gets the - target-document-entry from an US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Tags - gets the tags-entry from an - US_DocBloc -- DocEngine: Docs_GetUSDocBloc_Title - gets the title from an - US_DocBloc -- DocEngine: Docs_RemoveIndent - removes indentation from a - text(usually taken from an US_DocBloc) -- Docs: Concepts: Localize_001_Introduction - Introduction to - Localization -- Docs: Concepts: Localize_002_LangPack_Fileformat - How to write the - translation-file -- Docs: Concepts: Localize_003_Localize_Functions - usage of - Localization functions -- FXManagement: AutoDetectVSTPlugins - auto-searches for the - vst-plugin-folder -- FXManagement: AddParmAlias_FXStateChunk - adds a - parameter-alias-entry to an FXStateChunk -- FXManagement: AddParmLearn_FXStateChunk - adds a - parameter-learn-entry to an FXStateChunk -- FXManagement: AddParmLFOLearn_FXStateChunk - adds a - parameter-lfo-learn-entry to an FXStateChunk -- FXManagement: CountParmAlias_FXStateChunk - counts - parameter-alias-entries in an FXStateChunk -- FXManagement: CountParmLearn_FXStateChunk - counts - parameter-learn-entries in an FXStateChunk -- FXManagement: CountParmLFOLearn_FXStateChunk - counts - parameter-lfo-learn-entries in an FXStateChunk -- FXManagement: DeleteParmAlias_FXStateChunk - deletes a - parameter-alias-entry from a specific fx in an FXStateChunk -- FXManagement: DeleteParmLFOLearn_FXStateChunk - deletes a - parameter-lfo-learn-entry from a specific fx in an FXStateChunk -- FXManagement: DeleteParmLearn_FXStateChunk - deletes a - ParmLearn-entry from a specific fx in an FXStateChunk -- FXManagement: ScanDXPlugins - rescans all DX(DirectX)-plugins, - optionally scans all or just the new ones -- FXManagement: ScanVSTPlugins - rescans all vst-plugins, optionally - clears vst-plugin-cache first -- FXManagement: SetFXStateChunk - sets an FXStateChunk into a - TrackStateChunk or MediaItemStateChunk -- FXManagement: SetParmAlias_FXStateChunk - sets a - parameter-alias-entry from a specific fx in an FXStateChunk -- FXManagement: SetParmLearn_FXStateChunk - sets a - parameter-learn-entry from a specific fx in an FXStateChunk -- FXManagement: SetParmLFOLearn_FXStateChunk - sets a - parameter-lfo-learn-entry from a specific fx in an FXStateChunk -- GFX-Management: GFX_SetFont - sets a font to be used in a - gfx-window; adjust Mac-fonts to match the size of - Windows-fonts(unlike Reaper’s own gfx.setfont)(code by lokasenna - with contributions by Justin and Schwa) -- HelperFunctions: get_action_context_MediaItemDiff - gets the - MediaItemDifference(position, start, end, length, offset) since last - time calling this function. Good for ripple-drag-scripts. -- Localize: Localize - localizes a string, using the texts from a - translationfile; can be used with or without ultraschall. at the - beginning -- Localize: Localize_RefreshFile - reloads an already set - translation-file, so translations can be updated at runtime -- Localize: Localize_UseFile - sets a translationfile, that shall be - used by function ultraschall.Localize -- Localize: ultraschall_translation_file_format.USLangPack - has a - description of the USLangPack-fileformat for usage with the - Localize-functions(see in misc-folder) -- Misc: Developer_Reaper5965.ReaperLangPack - a language-pack, which - displays the sections, in which the caption is located in a langpack -- ReaMote: AutoSearchReaMoteSlaves - autosearches for new - ReaMote-slaves -- Render: AddSelectedItemsToRenderQueue - adds selected MediaItems to - render-queue as either one render-queued-project or individual - projects(requested by Travesty) -- Render: GetRenderingToFileHWND - gets the hwnd of the - rendering-to-file-dialog, during rendering -- Tools: LangPack2Developer_langpack_converter.lua - converts a - language-pack into a developer-langpack, which displays the - sections, in which every caption is located in the langpack -- Tools: ultraschall_Add_Developertools_To_Reaper.lua - allows - installing developertools into Reaper (requested by X-Raym) -- Tools: ultraschall_developertool_CheckForNewConfigVars.lua - checks - the individual lines of a string in clipboard for valid config-vars; - thought I already had added that… -- Tools: ultraschall_Remove_Developertools_From_Reaper.lua - allows - removing already installed developertools from Reaper -- Track Management: AnyTrackMute - returns, if any track is muted; - optionally includes the master-track as well - -Changes from Beta 2.75 to Beta 2.76 - -- API: versionscheck - had problems with pre/rc and dev-versions of - Reaper -> fixed(reported by X-Raym) -- Docs: Concepts-RenderTable - layout was totally messed up due - Markdown -> fixed -- Docs: FileType-Description - added missing info to - ReaperConfigZip-Filetype-description -- Docs: Index - index in all docs was missing chapters -> fixed -- Docs: updated Reaper-docs to 5.980 and JS-extension 0.989 -- Helpers: GetPath - when filename has no path, it returns now "", - filename -- Helpers: GetUserInputs - allows now setting width of the - captions-fields(requested by Julian Sader), allows now commas in - captions and default-values as well; title is now the one defined by - the title-parameter(used to have temporary title previously) - (reported by X-Raym) -- Helpers: SplitStringAtLineFeedToArray - sped up by magnitudes, - should now work much faster with megabyte-strings -- Markers: GetAllRegions - returned index in allregionsarray[index][3] - wasn’t 1-based, causing problems with other functions -> fixed -- Render: RenderProject_Regions - produced Lua-error, when passing a - filename without extension and if region was <1, returns - error-messages now in that case allows now giving an optional - separator between renderfilename_with_path and regionname when - addregionname=true, including / check docs for that new - feature(reported by reapero) -- Scripts: HWND-Displayer.lua - reimplemented, much more comfortable - now with a lot of more features. -- Tools - the following scripts renamed to: - ultraschall_developertool_ActionlistToIni-Converter.lua - ultraschall_developertool_Display-Altered-ConfigFile-Entries.lua - ultraschall_developertool_Display-Altered-Config-Vars.lua - ultraschall_developertool_Env_State_Diffs_Monitor.lua - ultraschall_developertool_findConfigVarsToggledByActions.lua - ultraschall_developertool_GetPitchShiftModes.lua - ultraschall_developertool_gfx_deltablit_displayer.lua - ultraschall_developertool_HWND-Displayer.lua - ultraschall_developertool_Item_State_Diffs_Monitor.lua - ultraschall_developertool_Project_State_Diffs_Monitor.lua - ultraschall_developertool_StateInspector.lua - ultraschall_developertool_Track_State_Diffs_Monitor.lua -- Tools: ultraschall_Remove_ExampleScripts_To_Reaper.lua - renamed to - ultraschall_Remove_ExampleScripts_From_Reaper.lua, better name that - way - ------------------------------------------------------------------------- - -Ultraschall Framework - Changelog - -4.00 Beta 2.75: - “Nick Cave & the Bad Seeds - Babe, I’m on fire” - 29th of May 2019 - -tagline inspired by a comment from _stevie_ ;) - -!RenderMania Update! Has now 935 functions with 95 new ones! - -- Rendering - reworked Rendering completely; you can render the - current project now directly, access render-presets and - render-queues (thanks to Justin and Schwa for adding the features - needed into Reaper) - -- Render-Format-strings - you can create all(!) renderformats - available in Reaper as BASE64-encoded strings, as well as analyzing - already BASE64-encoded renderstrings(this alone is 44 functions) - -- Parameter Learn - you can get all parameter learn, modulation and - lfo-settings, as well as FXStateChunks who store that information, - add/set/delete will come later (requested by TonE and Anton9) - -- ultraschall.MB - shows a messagebox and allows exchanging the texts - of the buttons with your own texts - -- LoadFunctionFromExtState and StoreFunctionInExtState - lets you pass - a Lua-function from one script to another using an extstate, no - external files and loads and requires necessary - -- Docs - updated docs for Reaper 5.978, SWS 2.10.0.1, JS-extension - 0.986 - -- More Docs - when you’ve installed the API using ReaPack, actions - will be added for opening the individual parts of the docs, like - Reaper API(ReaScript, Video, WebRC), ConfigVars, - Ultraschall-Concepts and FunctionsAPI. Type into the - Actions-dialog-filter the words “ultraschall” and “help”. - -- Example Scripts - when you’ve installed the API using ReaPack, new - actions for registering and unregistering the example-scripts as - well as opening the example-script-folder. Type into the - Actions-dialog-filter the words “ultraschall” and “examples”. - -- Even more about docs - docs for parameter-learn added(thanks to - Anton9 for helping me with that) as well as many docs I had lying - around(find them in the - ResourceFolder/UserPlugins/ultraschall_api/Misc/misc_docs-folder) - -- CleanUp - removed junk and converted files into smaller - fileformats(where applicable), so the API is now 20MB smaller - -- Many other helpful functions - HexString2Ascii2HexString, Get/Set - Armstate of Envelopes, DeleteTracks_TrackString, - Get/SetCheckboxState and more - -- Bugfixes - as usual ;) - -If you find this helpful and use this, please consider donating to me at -ultraschall.fm/danke (look for mespotine), paypal(lspmp3@yahoo.de) or -patreon.com/mespotine. -Might be a small donation for you, but a giant motivation leap for -mankind(means: me) ;) - -New features in 4.00beta2.75 - -- Docs: Misc/misc_docs - added this folder to put into that various - (often unfinished) docs -- Docs: ParmLearnDocs.txt - documented - parameter-learn/modulation/alias-settings -- Docs: US-Concepts - added description of datatype RenderTable -- Docs: US-Concepts - Rendering: About RenderTables; description of - how to use and work with RenderTables -- Docs: US-Concepts - Rendering: Render Presets; description for how - to deal with render-presets -- Docs: US-Concepts - Rendering: Render Queue; description for how to - render using the render-queue -- Envelopes: GetArmState_Envelope - gets the armstate of a - TrackEnvelope or EnvelopeStateChunk -- Envelopes: GetLastEnvelopePoint_TrackEnvelope - gets the last point - from a TrackEnvelope-object -- Envelopes: SetArmState_Envelope - sets the armstate of a - TrackEnvelope or EnvelopeStateChunk -- FXManagement: GetFXStateChunk - Gets an FXStateChunk from a - StateChunk(usually Track/MediaItemStateChunk) -- FXManagement: GetFXFromFXStateChunk - gets all lines of a specific - FX stored in an FXStateChunk -- FXManagement: GetParmAlias_FXStateChunk - gets an aliasname for a - specific parameter of an FX -- FXManagement: GetParmAlias_MediaTrack - gets an aliasname for a - specific parameter of an FX in a specific track -- FXManagement: GetParmAudioControl_FXStateChunk - gets all settings - from the Audio Control Signal-settings from parameter-modulation -- FXManagement: GetParmLearn_FXStateChunk - gets the - parameter-learn-settings from an FXStateChunk, as requested by TonE -- FXManagement: GetParmLearn_MediaItem - gets the - parameter-learn-settings from a MediaItem, as requested by TonE -- FXManagement: GetParmLearn_MediaTrack - gets the - parameter-learn-settings from a MediaTrack, as requested by TonE -- FXManagement: GetParmLFO_FXStateChunk - gets the LFO-settings from - the parameter-modulation from an FXStateChunk -- FXManagement: GetParmLFOLearn_FXStateChunk - gets the - parameter-lfo-learn-settings from an FXStateChunk -- FXManagement: GetParmLFOLearn_MediaItem - gets the - parameter-lfo-learn-settings from an FXStateChunk -- FXManagement: GetParmLFOLearn_MediaTrack - gets the - parameter-lfo-learn-settings from an FXStateChunk -- FXManagement: GetParmMIDIPLink_FXStateChunk - gets the - parameter-link-settings from an FXStateChunk -- FXManagement: GetParmModulationChunk_FXStateChunk - gets the chunk - for parameter-modulation for a specific parameter of an FX in a - specific track -- FXManagement: IsValidFXStateChunk - checks, whether a StateChunk is - a valid FXStateChunk -- Helpers: ConvertAscii2Hex - converts a string into it’s - two-digit-hexadecimal-number-representation -- Helpers: ConvertBitsToInteger - converts a table with bitvalues (0 - or 1) into it’s integer-representation -- Helpers: ConvertHex2Ascii - converts a string with - two-digit-hexadecimal-numbers into it’s ascii-representation -- Lua: StoreFunctionInExtState - stores a function into an extstate -- Lua: LoadFunctionFromExtState - loads a function from an extstate, - if stored using StoreFunctionInExtState -- MediaItems: GetLengthOfAllMediaItems_Track - returns the length of - all MediaItems in a track combined, in seconds -- MediaItems: GetItemPlayRate - updated pitchshiftmodes in docs -- Project Management: GetProject_DefPitchMode - returns now the - stretchmarker-mode as well(as set in Project Settings); updated docs - to recent pitch-shift-modes -- Project Management: GetProject_GroupName - gets the name of an - item-group, as stored in a ProjectStateChunk of projectfile -- Project Management: GetProject_QRenderOriginalProject - returns the - original projectfile of a render-queued-project from a projectfile - or ProjectStateChunk -- Project Management: GetProject_QRenderOutFiles - returns the - render-outfiles-with-path of a render-queued-project from a - projectfile or ProjectStateChunk -- Project Management: GetProject_RenderQueueDelay - returns the - render-queue-delay of a projectfile or ProjectStateChunk -- Project Management: GetProject_Selection - had some inner variables - exposed -> fixed now -- Project Management: SetProject_DefPitchMode - allows now setting the - stretchmarker-mode as well(as set in Project Settings); updated docs - to recent pitch-shift-modes -- Render: AddProjectFileToRenderQueue - adds a projectfile or the - current active project to the render-queue -- Render: AddRenderPreset - adds a new render-preset -- Render: ApplyRenderTable_Project - applies a RenderTable to the - active project -- Render: ApplyRenderTable_ProjectFile - applies a RenderTable to a - projectfile -- Render: CreateRenderCFG_AVI_Video - creates a render-string for the - format video-AVI -- Render: CreateRenderCFG_GIF - creates a render-string of the format - video-gif -- Render: CreateRenderCFG_LCF - creates a render-string of the format - video-lcf -- Render: CreateRenderCFG_M4AMAC - creates a render-string for the - format audio-M4A for Mac -- Render: CreateRenderCFG_MKV_Video - creates a render-string for the - format video-MKV -- Render: CreateRenderCFG_MOVMAC_Video - creates a render-string for - the format video-MOV for Mac -- Render: CreateRenderCFG_MP4MAC_Video - creates a render-string for - the format video-MP4 for Mac -- Render: CreateRenderCFG_QTMOVMP4_Video - creates a render-string for - the format video-QT/MOV/MP4 -- Render: CreateNewRenderTable - creates a new RenderTable, which - holds all render-settings; can be applied later to projects or - projectfiles -- Render: DeleteRenderPreset_Bounds - deletes a bounds-render-preset - from reaper-render.ini and the used render-presets in the Render to - File-dialog -- Render: DeleteRenderPreset_FormatOptions - deletes a - format/options-render-preset from reaper-render.ini and the used - render-presets in the Render to File-dialog -- Render: GetLastRenderPaths - returns the last 20 used - render-output-paths, that have been used for rendering by any - project in Reaper. -- Render: GetLastUsedRenderPatterns - returns the last 12 used - render-patterns, that have been used for rendering by any project in - Reaper. -- Render: GetRenderQueuedProjects - gets the projectfilenames of the - projects currently in the render-queue -- Render: GetRender_AutoIncrementFilename - gets the current state of - the “Silently increment filenames to avoid overwriting”-checkbox - from the Render to File-dialog -- Render: GetRender_OfflineOnlineMode - gets the current mode of the - offline/online-render-dropdownlist from the Render to File-dialog -- Render: GetRender_ProjectSampleRateForMix - gets the current state - of the “Use project sample rate for mixing and FX/synth - processing”-checkbox from the Render to File-dialog -- Render: GetRender_ResampleMode - gets the current state of the - “Resample mode (if needed)”-dropdownlist from the Render to - File-dialog -- Render: GetRender_SaveCopyOfProject - gets the current state of the - “Save copy of project to outfile.wav.RPP”-checkbox from the Render - to File-dialog -- Render: GetRender_QueueDelay - Gets the checkstate of the “Delay - queued render to allow samples to load”-checkbox of the Render to - File-dialog. -- Render: GetRenderCFG_Settings_AIFF - gets the settings of an - audio-AIFF-rendercfg-string -- Render: GetRenderCFG_Settings_AudioCD - gets the settings of an - audio-AudioCD-rendercfg-string -- Render: GetRenderCFG_Settings_AVI_Video - gets the settings of an - video-avi-rendercfg-string -- Render: GetRenderCFG_Settings_DDP - returns, if a renderstring is a - valid DDP-renderstring -- Render: GetRenderCFG_Settings_FLAC - gets the settings of an - audio-flac-rendercfg-string -- Render: GetRenderCFG_Settings_GIF - gets the settings of a - video-gif-rendercfg-string -- Render: GetRenderCFG_Settings_LCF - gets the settings of a - video-lcf-rendercfg-string -- Render: GetRenderCFG_Settings_M4AMac - gets the settings of an audio - M4A for Mac -- Render: GetRenderCFG_Settings_MKV_Video - gets the settings of a - video-mkv-rendercfg-string -- Render: GetRenderCFG_Settings_MOVMac_Video - gets the settings of a - video-MOV for Mac -- Render: GetRenderCFG_Settings_MP4Mac_Video - gets the settings of a - video-MP4 for Mac -- Render: GetRenderCFG_Settings_MP3 - gets the settings of an - audio-mp3-rendercfg-string -- Render: GetRenderCFG_Settings_MP3MaxQuality - gets the settings of - an audio-mp3-maxquality-rendercfg-string -- Render: GetRenderCFG_Settings_MP3CBR - gets the settings of an - audio-mp3-cbr-rendercfg-string -- Render: GetRenderCFG_Settings_MP3VBR - gets the settings of an - audio-mp3-vbr-rendercfg-string -- Render: GetRenderCFG_Settings_MP3ABR - gets the settings of an - audio-mp3-abr-rendercfg-string -- Render: GetRenderCFG_Settings_OGG - gets the settings of an - audio-ogg-rendercfg-string -- Render: GetRenderCFG_Settings_OPUS - gets the settings of an - audio-opus-rendercfg-string -- Render: GetRenderCFG_Settings_QTMOVMP4_Video - gets the settings of - an audio-opus-rendercfg-string -- Render: GetRenderCFG_Settings_WAV - gets the settings of an - audio-wav-rendercfg-string -- Render: GetRenderCFG_Settings_WAVPACK - gets the settings of an - audio-wavpack-rendercfg-string -- Render: GetRenderCFG_Settings_WebMVideo - gets the settings of a - video-webm-rendercfg-string -- Render: GetRenderPreset_Names - returns the render-presetnames - currently stored -- Render: GetRenderPreset_RenderTable - returns a RenderTable of all - settings of a specific render-preset -- Render: GetRenderTable_Project - returns a table with all - render-settings of the currently active project -- Render: GetRenderTable_ProjectFile - returns a table with all - render-dialog-settings from an rpp-projectfile or ProjectStateChunk -- Render: IsValidRenderTable - returns, if a table is a valid - RenderTable -- Render: RenderProject_RenderTable - renders a projectfile or the - current active project using a RenderTable -- Render: RenderProject_RenderQueue - renders a specific project from - the render-queue -- Render: SetRender_AutoIncrementFilename - sets the current state of - the “Silently increment filenames to avoid overwriting”-checkbox - from the Render to File-dialog -- Render: SetRender_OfflineOnlineMode - gets the current mode of the - offline/online-render-dropdownlist from the Render to File-dialog -- Render: SetRender_ProjectSampleRateForMix - sets the current state - of the “Use project sample rate for mixing and FX/synth - processing”-checkbox from the Render to File-dialog -- Render: SetRender_ResampleMode - sets the current state of the - “Resample mode (if needed)”-dropdownlist from the Render to - File-dialog -- Render: SetRender_SaveCopyOfProject - sets the checked-state of the - “Save copy of project to outfile.wav.RPP”-checkbox from the Render - to File-dialog. -- Render: SetRender_QueueDelay - Sets the “Delay queued render to - allow samples to load”-checkbox of the Render to File-dialog. -- Render: SetRenderPreset - sets the values of an existing - render-preset -- Scripts: GetPitchShiftModes.lua - gets a full list of all - pitch-shiftmodes of the currently running Reaper-instance, formats - it and puts it into clipboard -- Scripts: ultraschall_Add_ExampleScripts_To_Reaper.lua - adds the - example-scripts into Reaper, can be searched for using examples -- Scripts: ultraschall_Help_Reaper_Api_Video_Documentation.lua - opens - the video-api-documenation in the browser -- Scripts: ultraschall_Help_Reaper_Api_Web_Documentation.lua - opens - the web-rc-api-documenation in the browser -- Scripts: ultraschall_Help_Reaper_ConfigVars_Documentation.lua - - opens the config-vars-documenation in the browser -- Scripts: ultraschall_OpenFolder_Api_Documentation.lua - opens the - documentation-folders -- Scripts: ultraschall_OpenFolder_Api_ExampleScripts.lua - opens the - example-scripts-folder -- Scripts: ultraschall_Remove_ExampleScripts_To_Reaper.lua - removes - the example-scripts from Reaper again -- Trackmanagement: DeleteTracks_TrackString - deletes all tracks given - in a trackstring -- UserInterface: GetCheckboxState - gets the current checkstate of a - checkbox-hwnd -- UserInterface: SetCheckboxState - sets a new checkstate of a - checkbox-hwnd - -Changes from Beta 2.74 to Beta 2.75 - -- ChildScripts: GetScriptParameters - omitted parameters, who were nil - or "" -> fixed -- ChildScripts: GetScriptReturnvalues - omitted returnvalues, who were - nil or "" -> fixed -- ChildScripts: SetScriptParameters - omitted parameters, who were nil - or "" -> fixed -- ChildScripts: SetScriptReturnvalues - omitted returnvalues, who were - nil or "" -> fixed -- Docs: corrected wrong functioncount in docs -- Docs: CreateTemporaryFileOfProjectfile - moved in docs to - Project-Files -> Helper functions -- Docs: ConfigVars: defpitchcfg - updated PitchShiftmodes -- Docs: Reaper - updated docs to Reaper 5.978, JS-extension 0.986 -- Docs: Reaper-API - GetSetProjectInfo - added missing information - about RENDER_DITHER (dither/noiseshape stems) and RENDER_SRATE(when - returned RENDER_SRATE=0) -- Docs: Reaper ConfigVars - added better description for - g_config_project -- Docs: render-codes-decoded-base64-strings.txt - fixed errors, mostly - regarding mp3 -- Docs: US-Concepts - added functions to checking datatypes and - removed beta-functions information from How to install hotfixes -- Docs: US-Concepts “Rendering: About Rendering-functions” - added - information about RenderProject_RenderTable as well as removing the - info about needing to save current active project before rendering -- Docs: US-Concepts “Rendering: Change more render-settings in - projectfiles” - rewritten, as the difficult alteration of - projectfiles isn’t needed anymore for rendering the current project -- Docs: when Beta-functions is enabled, the docgenerator adds - beta-functions into docs as well -- FileIO: CountLinesInFile - errormessages return now the filename as - well -- FileIO: GetAllFilenamesInPath - didn’t add a directory-separator - between file and path, if path was missing / or  at the end -> fixed - now -- FileIO: GetLengthOfFile - errormessages return now the filename as - well -- FileIO: ReadBinaryFileFromPattern - errormessages return now the - filename as well -- FileIO: ReadBinaryFileUntilPattern - errormessages return now the - filename as well -- FileIO: ReadBinaryFile_Offset - errormessages return now the - filename as well -- FileIO: ReadFileAsLines_Array - errormessages return now the - filename as well -- FileIO: ReadFullFile - errormessages return now the filename as well -- FileIO: ReadLinerangeFromFile - errormessages return now the - filename as well -- FileIO: ReadValueFromFile - errormessages return now the filename as - well -- FileIO: WriteValueToFile - errormessages return now the filename as - well -- FileIO: WriteValueToFile_Insert - errormessages return now the - filename as well -- FileIO: WriteValueToFile_InsertBinary - errormessages return now the - filename as well -- FileIO: WriteValueToFile_Replace - errormessages return now the - filename as well -- FileIO: WriteValueToFile_ReplaceBinary - errormessages return now - the filename as well -- Fun: WinterlySnowflakes - only initialized now, when called (used to - be initialized at every startup of an US-API-instance) -- General: cleanup of functions-engine - removed 3569 useless lines, - who contained old debugcode sleeping in comments. -- GFX: GFX_GetMouseCap - interpreted modifier-keys as mouseclicks, - when gfx.getkey had been used in script; mousewheel sometimes kept - stuck at one value-> fixed -- Helpers: Base64_Encoder - fixed bug that caused encoded strings to - end with wrong letter -- Helpers: CreateUSApiDocs_HTML - removed, as I’m not using it for - ages now -- Helpers: GetReaperAppVersion - didn’t return subversionnumber for - pre-releases -> fixed now; returns pre-release-versions as well now -- Helpers: MB - allows now to choose your own texts for the buttons -- Helpers: LimitFractionOfFloat - improved code a little for - rounding-operations, hope it works now properly -- Helpers: print2 - didn’t show anything, if the first parameter was - nil -> fixed now -- HWND: GetHWND_ArrangeViewAndTimeLine - returns now the HWND of the - TCP as well -- IniFiles: Reaper-Render-Codes.ini - removed, not necessary anymore -- IniFiles: Reaper-Render-Codes-for-AudioCD.ini - removed, not - necessary anymore -- MediaItems: EnumerateMediaItemsInTrack - had wrong functionname in - index -> fixed -- MediaItems: PreviewMediaFile- uses now Xenakios’ function - Xen_StartSourcePreview(more stable that way), has now gain and loop - as additional parameters -- MediaItems: StopAnyPreview - uses now Xenakios’ function - Xen_StopSourcePreview(more stable that way) -- Projectmanagement: all SetProject-functions - added missing - ProjectStateChunk-returnvalue to docs -- Projectmanagement: GetProject_NumberOfTracks - sped code up by - magnitudes for huge projects; parameter ProjectStateChunk wasn’t - working due stupid typo -> fixed now -- Projectmanagement: GetProject_RenderFilename - could produce - Lua-error, when no Renderfilename was existing in the projectfile -- Projectmanagement: GetProject_RenderPattern - added new - render-pattern options to the docs -- Projectmanagement: GetProject_RenderRange - added bounds-option for - selected regions -- Projectmanagement: SetProject_RenderPattern - added new - render-pattern options to the docs; stabilized, when no - render-pattern was set in project/ProjectStateChunk -- Projectmanagement: SetProject_RenderFilename - stabilized, when no - render-filename was set in project/ProjectStateChunk -- Projectmanagement: SetProject_RenderRange - added bounds-option for - selected regions -- ReaPack: Reapack-API-xml-generator.lua - added installation of - Docs-opening-scripts as well. -- Render: CreateRenderCFG_AudioCD - improved and lifted limitations - for leadin-silence-values -- Render: CreateRenderCFG_MP3ABR - reimplemented, supports now “Do not - allow joint stereo” and “Write ReplayGain tag”-checkboxes; forgot to - add FasterEncode-setting -> fixed now -- Render: CreateRenderCFG_MP3CBR - reimplemented, supports now “Do not - allow joint stereo” and “Write ReplayGain tag”-checkboxes; forgot to - add FasterEncode-setting -> fixed now -- Render: CreateRenderCFG_MP3MaxQuality - reimplemented, supports now - “Write ReplayGain tag”-checkbox -- Render: CreateRenderCFG_MP3VBR - reimplemented, supports now “Do not - allow joint stereo” and “Write ReplayGain tag”-checkboxes; forgot to - add FasterEncode-setting -> fixed now -- Render: CreateRenderCFG_OGG - reimplemented, should be more stable - now; lifted limitations with bitrates -- Render: CreateRenderCFG_Opus - reimplemented, should be more stable - now and supports now all options -- Render: CreateRenderCFG_Opus2 - deprecated, use CreateRenderCFG_Opus - instead -- Render: CreateRenderCFG_WebMVideo - rewritten, lifted many - limitations -- Render: GetOutputFormat_RenderCfg - moved to docs-index Rendering of - Project -> Analyzing Renderstrings; allows now passing a - project/projecttab as well recoded, is now more future-proof -- Render: RenderProject - renamed from RenderProject_RenderCFG, which - is still available, but undocumented; reimplemented: sped up - rendering the current project by magnitudes; no “save before - rendering” necessary anymore; stabilized deleting the targetfile(if - selected) -- Render: RenderProject_Regions - renamed from - RenderProjectRegions_RenderCFG, which is still available, but - undocumented; sped up rendering the current project by magnitudes; - no “save before rendering” necessary anymore; stabilized deleting - the targetfile(if selected) parameters renderfilename_with_path and - rendercfg are now mandatory -- Routing: GetTrackAUXSendReceives - recv_tracknumber is now 1-based, - as it should be(thanks to woodslanding) -- Routing: SetTrackAUXSendReceives - recv_tracknumber is now 1-based, - as it should be(thanks to woodslanding) -- Routing: AddTrackAUXSendReceives - had parameters tracknumber and - recv_tracknumber accidentally reversed, when not working with - StateChunks .. oops -> fixed (thanks to woodslanding) -- TrackManagement: GetTrackHeightState - stabilised parameter - TrackStateChunk, returns now locked-trackstate -- TrackManagement: SetTrackHeightState - stabilised parameter - TrackStateChunk, allows now setting locked-trackstate -- TrackManagement: SetTracksSelected - when trackstring=nil or "", it - deselects all tracks now - ------------------------------------------------------------------------- - -4.00 Beta 2.74: - “Talking Heads - Once in a Lifetime” - 10th of April 2019 - -Has now 822 functions, with 22 new ones - -- Routing - sped up the routing-functions by magnitudes, who also - allow now using TrackStateChunks which can be faster than Reaper’s - own API-functions - -- GFX_GetMouseCap - this allows you to get mouse-states in - gfx-windows, including doubleclick and drag. Much easier than to - code it yourself using gfx.mouse_cap. - -- ultraschall.GetUserInputs - like reaper.GetUserInputs BUT you can - safely type commas into its inputfields! - -- Progressbar - you can code now your own progressbar, including - optionally showing it in the ReaScript-console - -- Move Child-HWND relative within their Parent-HWND - if you don’t - want to deal with screen-positions when moving around gui-elements, - use GetChildSizeWithinParentHWND and MoveChildWithinParentHWND - -- Vertical Scroll - works now like a charm - -- Improved Changelog - will be much more readable for this and future - releases - -- Bugfixes and many more. - -New features in 4.00beta2.74 - -- AudioManagement: GetHWInputs_Aliasnames - returns the - input-alias-names and their associated hardware-input-channels -- AudioManagement: GetHWOutputs_Aliasnames - returns the - output-alias-names and their associated hardware-output-channels -- ChildScripts: GetScriptIdentifier_Description - gets the description - of your script -- ChildScripts: SetScriptIdentifier_Description - sets a description - for your script -- ChildScripts: GetScriptIdentifier_Title - gets the title of your - script; default is the filename -- ChildScripts: SetScriptIdentifier_Title - sets the title of your - script -- ExampleScript: Helpers_ProgressBar_Example.lua - shows a simple - progressbar in the ReaScript-console, that iterates over all - filenames in ResourcePath/Effects -- ExampleScript: Helpers_ProgressBar_Example.gif - a demo-gif of - ProgressBar_Example.lua -- ExampleScript: GFX_SimpleDrawingTool.lua - a simple drawing-tool - demo, that demonstrates GFX_GetMouseCap() -- ExampleScript: GFX_SimpleDrawingTool.gif - a demo-gif of - SimpleDrawingTool.lua -- GFX: GFX_GetMouseCap - checks and returns mouse-clicks in - Lua-gfx-windows, including doubleclick, dragging, mousewheel-states, - etc. Much more handy than gfx.mouse_cap. -- Helpers: ConvertIntegerIntoString2 - converts multiple integers into - a string, 8 to 32 bit integers can be converted -- Helpers: ConvertStringToIntegers - converts a string into multiple - integers; you can set the size of the integer -- Helpers: print - prints its values to the ReaScript-console, - separating the displayed parameters with newlines now -- Helpers: print_update - prints its values to the ReaScript console, - but clears the console before displaying. Good for progressbars and - displaying a few statuses without constantly scrolling. -- Helpers: PrintProgressBar - prints a simple progressbar into the - ReaScript-console; you should call ResetProgressBar before starting - a new progressbar -- Helpers: ResetProgressBar - resets progressbar-settings, so you can - start a new progressbar -- HWND: GetChildSizeWithinParentHWND - gets dimensions of a childhwnd - relative to the position of a parenthwnd -- HWND: MoveChildWithinParentHWND - moves a childhwnd relative or - absolute within its parenthwnd -- MediaItems: CopyMediaItemToDestinationTrack - copies a MediaItem to - a destinationtrack at position. Thanks to nikolalkc for allowing me - to adapt his function -- Routing: AreAUXSendReceivesTablesEqual - compares two - AllAUXSendReceives-tables, as returned by GetAllAUXSendReceives and - GetAllAUXSendReceives2 -- Routing: AreHWOutsTablesEqual - compares two AllHWOuts-tables, as - returned by GetAllHWOuts and GetAllHWOuts2 -- Routing: AreMainSendsTablesEqual - compares two AllMainSends-tables, - as returned by GetAllMainSendStates and GetAllMainSendStates2 -- TrackManagement: GetTracknumberByGuid - gets a tracknumber and - MediaTrack-object by guid -- UserInterface: SetVerticalRelativeScroll - like SetVerticalScroll - but sets the arrange-vertical-scroll, relative to it’s current - vscroll-position -- Ultraschall: GetTypeOfTrack - returns the type of a track, either - StudioLink/StudioLinkOnAir or SoundBoard -- Ultraschall: GetAllAUXSendReceives2 - like GetAllAUXSendReceives, - but returns type of track as well -- Ultraschall: GetAllHWOuts2 - like GetAllHWOuts, but returns type of - track as well -- Ultraschall: GetAllMainSendStates2 - like GetAllMainSendStates, but - returns type of track as well -- Ultraschall: IsTrackSoundboard - returns, if a track is a valid - Ultraschall-Soundboard-track -- Ultraschall: IsTrackStudioLink - returns, if a track is a valid - StudioLink-track -- Ultraschall: IsTrackStudioLinkOnAir - returns, if a track is a valid - StudioLinkOnAir-track - -Changes from Beta 2.73 to Beta 2.74 - -- Docs: Functions reference - added pan-law info to the descriptions - for many routing-functions -- Docs: GetLastCursorPosition - added info about limitations in Reaper -- Docs: GetScriptIdentifier - moved in the index to Api-Helper - functions -> Child Scripts, where it belongs to -- Docs: GetScriptReturnvalues - corrected docs and cleared them up a - little -- Docs: ReaperApidocs and ConfigVar-docs: updated to Reaper 5.974 and - JS-extension 0.980 -- Docs: ReaperApidocs: added info about JS_Mouse_GetState and fixed - Markdown-issues with JS_Window_GetScrollInfo and - JS_Window_SetScrollPos -- Docs: Reaper-ConfigVars: added new settings in video_colorspace from - Reaper 5.972 and pre-release onlys to labelitems2, - pooledenvtranstime and video_defimglen -- Docs: relayouted changelog for beta 2.72 upwards, the featurelist - should be better readable, now -- Docs: SetVerticalZoom - added info into description about how to do - relative-vertical-zoom -- ExampleScript: renamed the scripts and demogifs, so the names - reflect more, of what category the scripts are; removed - Track/Item-extstate scripts, as this feature is deprecated -- ExtStates: GetTrackExtState - deprecated, as Reaper will have that - feature in a future version in better -- ExtStates: SetTrackExtState - deprecated, as Reaper will have that - feature in a future version in better -- ExtStates: GetItemExtState - deprecated, as Reaper will have that - feature in a future version in better -- ExtStates: SetItemExtState - deprecated, as Reaper will have that - feature in a future version in better -- Helpers: print - renamed to print_alt, print itself now separates - the parameters with newlines(not two spaces) -- Helpers: SetTrackStateChunk_Tracknumber - undo parameter wasn’t used - properly -> fixed now -- HWND: GetRenderToFileHWND - fixed bug, that sometimes caused the - function not to find the RenderToFile-window -- HWND: IsValidHWND - shouldn’t crash anymore on Mac, when passing a - non-existing HWND. -- Routing: ApplyAllHWOuts - sped up code by magnitudes; allows now - setting the HWOut-table by guid; that way, you can apply stored - hwouts correctly, even if trackorder changes -- Routing: ApplyAllAUXSendReceives - sped up code by magnitudes; - allows now setting the HWOut-table by guid; that way, you can apply - stored routings correctly, even if trackorder changes -- Routing: ApplyAllMainSendStates - fixed error in docs; allows now - setting the HWOut-table by guid; that way, you can apply different - MainSends correctly, even if trackorder changes -- Routing: AddTrackHWOut - rewritten, is much faster now and supports - now adding to trackstatechunks as well; removed useless parameter - undo -- Routing: AddTrackAUXSendReceives - rewritten, is much faster now and - supports now adding to trackstatechunks as well; removed useless - parameter undo -- Routing: CountTrackHWOuts - allows now TrackStateChunks as well -- Routing: CountTrackAUXSendReceives - allows now TrackStateChunks as - well -- Routing: DeleteTrackAUXSendReceives - sped up; supports now deleting - from TrackStateChunks as well; removed useless parameter undo -- Routing: DeleteTrackHWOut - sped up; supports now deleting from - TrackstateChunks as well when tracknumber=-1; removed useless - parameter undo -- Routing: GetAllHWOuts - sped up; stores now the guids of the track - and the receive tracks as well; allows you to keep right tracks and - receive-tracks, even if trackorder changes -- Routing: GetAllAUXSendReceives - sped up; stores now the guid of the - tracks as well; allows you to keep right track, even if trackorder - changes -- Routing: GetAllMainSendStates - sped up; stores now the guid of the - tracks as well; allows you to keep right track, even if trackorder - changes -- Routing: GetTrackAUXSendReceives - sped up; supports now getting - from TrackstateChunks as well when tracknumber=-1 -- Routing: GetTrackHWOut - sped up; supports now getting from - TrackstateChunks as well when tracknumber=-1 -- Routing: GetTrackMainSendState - sped up execution when not working - with TrackStateChunks -- Routing: SetTrackMainSendState - sped up execution when not working - with TrackStateChunks; returns changed TrackStateChunk now only, - when working with TrackStateChunks -- Routing: SetTrackAUXSendReceives - sped up execution; supports now - TrackStateChunks as well, when tracknumber=-1; removed useless - parameter undo -- Routing: SetTrackHWOut - sped up execution; supports now - TrackStateChunks as well, when tracknumber=-1; removed parameter - undo, as it useless, now -- StateChunks: GetTrackStateChunk_Tracknumber - forgot to remove - retval “overflow” from docs -> fixed -- UserInterface: GetUserInputs - you can now enter commas into - inputfields; parameter length renamed to values_length and is now - optional; nil for default length 10; -1 for autolength; requested by - woodslanding -- UserInterface: GetVZoom - renamed to GetVerticalZoom for better - readability, sorry for any inconvenience -- UserInterface: SetVZoom - renamed to SetVerticalZoom for better - readability, sorry for any inconvenience -- UserInterface: SetVerticalScroll - last minute changes prevented the - parameter from being passed to the function -> fixed -- Ultraschall: CountUltraschallEffectPlugins - removed, as it was - useless -- Ultraschall: pause_follow_one_cycle - moved to Ultraschall Specific - in the index of the docs - ------------------------------------------------------------------------- - -4.00 Beta 2.73: - “Radiohead - Bangers’n’Mash” - 9th of March 2019 - -Has now 800 functions, with 20 new ones - -- New HWNDs to get, like Render Queue, Preferences, Project Settings - and more - -- Routing-Convenience Features to work better with Routing-stuff. - Includes now MKVOL from/to DB-converter for that! - -- print3 outputs it’s parameters to the Clipboard. - -New features in 4.00beta2.73 - -- Config: GetSetConfigAutoMute - gets/sets the - automute-config-variable -- Config: GetSetConfigAutoMuteFlags - gets/sets the - automuteflags-config-variable -- Config: GetSetConfigAutoSaveInt - gets/sets the - autosaveint-config-variable -- Config: GetSetConfigAutoSaveMode - gets/sets the - autosavemode-config-variable -- Helper: DB2MKVOL - converts a dB-value into its - MKVOL-representation, which can be used by routing-functions for the - volume -- Helper: MKVOL2DB - converts a MKVOL-value(as used by volume in - routing-settings) into its dB-representation -- Helper: print3 - like print and print2, but puts the parameters into - the clipboard instead -- HWND: GetRenderQueueHWND - gets the HWND of the Render-Queue-window, - if opened -- HWND: GetProjectSettingsHWND - gets the HWND of the Project - Settings-window, if opened -- HWND: GetSaveLiveOutputToDiskHWND - gets the HWND of the Save Live - Output To Disk-window, if opened -- HWND: GetConsolidateTracksHWND - gets the HWND of the Consolidate - Tracks-window, if opened -- HWND: GetExportProjectMIDIHWND - gets the HWND of the Export Project - MIDI-window, if opened -- HWND: GetProjectDirectoryCleanupHWND - gets the HWND of the Project - Directory Cleanup-window, if opened -- HWND: GetBatchFileItemConverterHWND - gets the HWND of the Batch - File/Item Converter-window, if opened -- Routing: ClearRoutingMatrix - clears the routing-matrix, either - completely or just parts of it(Send/Receive, HWOuts, MasterSends) - including or excluding the Master-Track -- Routing: GetAllHWOuts - returns a table with all HWOut-settings of - all tracks of the current project -- Routing: GetAllAUXSendReceive - returns a table with all - Send/Receive-settings of all tracks of the current project -- Routing: GetAllMainSendStates - returns a table with all - MainSend(Master Send)-settings of all tracks of the current project -- Routing: ApplyAllHWOuts - applies a table, as returned by - GetAllHWOuts to all tracks. That way, you can easily alter HWOuts of - multiple tracks in that table, before passing it to ApplyAllHWOuts -- Routing: ApplyAllAUXSendReceives - applies a table, as returned by - GetAllAUXSendReceive to all tracks. That way, you can easily alter - AUXSendReceives of multiple tracks in that table, before passing it - to ApplyAllAUXSendReceives -- Routing: ApplyAllMainSendStates - applies a table, as returned by - GetAllMainSendStates to all tracks. That way, you can easily alter - MainSend(Master-Send)-states of multiple tracks in that table, - before passing it to ApplyAllMainSendStates - -Changes from 4.00beta2.72 to 4.00beta2.73 - -- ChildScripts: Main_OnCommandByFilename - fixed bug with - Scriptidentifier-creation - -- ChildScripts:MIDI_OnCommandByFilename - fixed bug with - Scriptidentifier-creation - -- Config: GetIniFileValue - improved code - -- Config: SetIniFileValue - fixed bug that caused inifiles to explode - in size - -- Docs: Reaper Api docs: Video Processor: corrected YET ANOTHER - Markdown-f….p in the example code of chapter Coding Introduction - -- Docs: Reaper-Docs: updated to Reaper 5.972 - -- Docs: Reaper-Api-docs: fixed further layout-problems with Markdown - in some descriptions I really, really, really, really, really, - really, really need to write my own MarkDown-dialect. It makes me - nuts, having to deal with Markdown’s ambiguities… - -- Routing: CountTrackAUXSendReceives - when track isn’t found, it - returns now an error-message - -- Routing: DeleteTrackAUXSendReceives - allows now to delete all - AuxSendReceives of a track at once, when idx=-1 - -- Routing: DeleteTrackHWOut - allows now to delete all HWOuts of a - track at once, when idx=-1 - -- Routing: GetTrackAUXSendReceives - had internal variable exposed -> - fixed now - -- Routing: SetTrackHWOut - fixed bug with an incorrect idx-numbering - -- Routing: SetTrackAUXSendReceives - fixed bug with an incorrect - idx-numbering - -- Script-Identifier: Ultraschall.ScriptIdentifier - fixed bugs with - Scriptidentifier-creation - ------------------------------------------------------------------------- - -4.00 Beta 2.72: - “Blue Oyster Cult - Don’t fear the Reaper” - 1st of March 2019 - -Has now 780 functions, with 80 new ones - -Among them new features, like: - -- ReaPack installable, it can be installed using ReaPack now, using - https://github.com/Ultraschall/ultraschall-lua-api-for-reaper/raw/master/ultraschall_api_index.xml - - Request by X-Raym - -- Defer-functions, that allow setting, how often a specific defer-loop - shall be executed, every n’th cycle/second. They also allow being - terminated from inside and outside the current script. - -- ChildScripts, that allow you to run scripts as multiple - script-instances, pass parameters and returnvalues to and from - them - Request by lokasenna - -- Get HWNDS, get numerous HWNDs, including the one of your - gfx.init-window, ArrangeView, Timeline, Render to File-dialog, - Actions-dialog, etc - Request by Sexan - -- print and print2, replaces the unuseable print-function from Lua - -- new backgroundscripts, who monitor statechanges of playstate, - editcursorposition and loop-button - -- Custom Markers and Regions, that follow the scheme - "_custommarkername: text", that can be easily managed. - Have multiple markertypes with custom-markers and custom-regions - with this feature. - request by VanillaChief - -- Reaper-Internals Docs, updated to Reaper 5.971(including the new - Video Processor-docs), SWS 2.10.0.1, JS-Extension 0.971 and ReaPack. - -- many, many, many, many bugfixes - -New features in 4.00beta2.72 - -- API: ultraschall.hotfixdate - holds the release-date of the - currently installed hotfix, returned by GetApiVersion now -- ArrangeView: GetVerticalScroll - gets the current - vertical-scroll-factor of the arrangeview -- ArrangeView: SetVerticalScroll - sets a new vertical-scroll-factor - of the arrangeview -- BackgroundScripts: new background-script - - ultraschall_track_old_playstate.lua - stores old playstate into - extstate ultraschall->last_playstate -- BackgroundScripts: GetLastPlayState - returns the last playstate - before the current one -- ChildScripts: Main_OnCommandByFilename - runs a command by its - filename instead of the ActionCommandID/command-id; returns a unique - script-identifier for the started script-instance, that you can use - as extstate to communicate with that script; allows passing of - parameters to the started script! -- ChildScripts: MIDI_OnCommandByFilename - runs a command in the - MIDI-Editor context by its filename instead of the - ActionCommandID/command-id; returns a unique script-identifier for - the started script-instance, that you can use as extstate to - communicate with that script allows passing of parameters to the - started script! -- Child-Scripts: SetScriptParameters - sets parameters for a - child-script, as started by Main_OnCommandByFilename and - MIDI_OnCommandByFilename -- Child-Scripts: GetScriptParameters - gets parameters for a - child-script, as started by Main_OnCommandByFilename and - MIDI_OnCommandByFilename -- Child-Scripts: GetScriptReturnvalues - gets returnvalues, that a - script-instance with a specific scriptidentifier sent to the current - script -- Child-Scripts: SetScriptReturnvalues - sends returnvalues to a - script-instance with a specific scriptidentifier -- Child-Scripts: GetScriptReturnvalues_Sender - gets, which - child-scripts(and their corresponding ScriptIdentifier) have sent - return-values to the current script -- Config: GetSetIntConfigVar - gets/sets a configuration-variable of - the type integer-bitfield -- Config: GetIniFileValue - gets an ini-value from an ini-file; unlike - SWS’s own functions for that(2.9.7 and earlier), this has no - problems with Umlauts in the path -- Config: SetIniFileValue - sets an ini-value into an ini-file; unlike - SWS’s own functions for that(2.9.7 and earlier), this has no - problems with Umlauts in the path -- Docs: US_Api_AUD.html - added -- Docs: US_Api_Concepts_AUD.html - added -- Docs: US_Api_Concepts_DOC.html - added -- Docs: US_Api_Concepts_GFX.html - added -- Docs: US_Api_Concepts_GUI.html - added -- Docs: US_Api_Concepts_VID.html - added -- Docs: US_Api_DOC.html - added -- Docs: US_Api_GFX.html - added -- Docs: US_Api_GUI.html - added -- Docs: US_Api_VID.html - added -- Docs: US_Api-AUD.USDocML - added -- Docs: US_Api-DOC.USDocML - added -- Docs: US_Api-GFX.USDocML - added -- Docs: US_Api-GUI.USDocML - added -- Docs: US_Api-VID.USDocML - added -- Docs: NewUltraschallDoc_VID_Converter.lua - added -- Docs: NewUltraschallDoc_GUI_Converter.lua - added -- Docs: NewUltraschallDoc_DOC_Converter.lua - added -- Docs: NewUltraschallDoc_AUD_Converter.lua - added -- Docs: NewUltraschallConceptsDocConverter_AUD.lua - added -- Docs: NewUltraschallConceptsDocConverter_DOC.lua - added -- Docs: NewUltraschallConceptsDocConverter_GFX.lua - added -- Docs: NewUltraschallConceptsDocConverter_GUI.lua - added -- Docs: NewUltraschallConceptsDocConverter_VID.lua - added -- Docs: Child Scripts: Introduction - added chapter -- Docs: Child Scripts: The unique ScriptIdentifier - added chapter -- Docs: Child Scripts: Running Childscripts - added chapter -- Docs: Child Scripts: Passing Parameters and Returnvalues - added - chapter -- Docs: DeferScripts: Introduction to Ultraschall’s Defer-functions - - added chapter -- Docs: DeferScripts: Special Defer-loops in the Ultraschall-API - - added chapter -- Docs: DeferScripts: Stopping Defer-loops from in- and outside of - scripts - added chapter -- Docs: Concepts: Error Messaging System: Other helpers for - Error-Messaging-system - added chapter -- Docs: Concepts: Installation - added instructions on how to install - the Ultraschall-API using - ReaPack-package-managerhttps://reapack.com/ -- Docs: Concepts: Markers and Regions: Custom-Markers and - Custom-Regions -- ReaperDocs: added new SWS2.10.0.1-functions -- ReaperDocs: updated new JS-extension-plugin-functions, up to 0.971 -- ReaperDocs: added new Video-Processor-Api-functions, as of Reaper - 5.971 -- ReaPack: ReaPack-functions - added ReaPack-functions to - Reaper-Internals docs -- Defer: GetDeferIdentifier - gets the identifier of a Defer1 to - Defer20-cycle of the current script -- Defer: Defer1 to Defer20 - run a customized defer-cycle, in which - you can decide, how often it should be run. You can also stop such a - defer-cycle from in/outside the script using StopDeferCycle. For - that, Defer1 to Defer20 will return an identifier, which can be used - to stop this specific defer-cycle. You should only use each - DeferXX-cycle once in a script-instance, or the timing will become - corrupt! -- Defer: StopDeferCycle - stops a Defer1 to Defer20-defer-instance - from a script-instance -- Dialogs: GetUserInputs - gets the user-input. Like Reaper’s own - GetUserInputs but a different parameter-scheme, that should be - easier to handle. -- Dialogs: BrowseForOpenFiles - utilizes - JS_Dialog_BrowseForOpenFiles-function, but returns the files and - paths in a more comfortable way -- Editing: RippleCut_Regions - ripple-cuts all regions between - startposition and endposition and moves all regions after - endposition toward projectstart by difference between startposition - and endposition -- ErrorMessages: ShowErrorMessagesInReascriptConsole - toggles, if - errormessages shall be shown in the ReaConsole immediately, when - they happen -- ExampleScript: - A_Simple_EventManager_with_Backgroundhelpers_and_Defer01.lua - a - simple demo-eventmanager, that employs the background-helper-scripts - and the Defer01-function -- FileIO: GetAllRecursiveFilesAndSubdirectories - returns all - subdirectories with all their files with full path of a directory -- GFX: GFX_DrawThickRoundRect - draws a round-rectangle with variable - thickness -- GFX: GFX_BlitFramebuffer - blits the content of a framebuffer into - the drawing-buffer; will resize, if necessary and retains - aspect-ratio -- Helpers: SplitStringAtNULLBytes - splits a string at NULL-bytes ( \0 - ) -- Helpers: Base64_Encoder - encodes a string into a Base64-encoded - string -- Helpers: CreateTemporaryFileOfProjectfile - creates a valid - temporary-copy of an rpp-projectfile; use nil for the currently - opened one(must be saved first) -- Helpers: Base64_Decoder - decodes a Base64-encoded string -- Helpers: StateChunkLayouter - layouts statechunks according the - layouting rules of rpp-projectfiles; makes parsing them much easier -- Helpers: print - replacement for Lua’s own print-function(which is - quite useless in Reaper); displays the printed parameters in the - ReaScript-console -- Helpers: print2 - like print, but displays the parameters as a - messagebox instead -- Helpers: ConvertIntegerToBits - converts an integer-value into its - individual bitvalues -- Helpers: ReverseEndianess_Byte - changes endianess of a byte-value -- Helpers: ConvertIntegerIntoString - converts the individual bytes of - an integer into a string -- Helpers: ReplacePartOfString - replaces a part of a string, - beginning from an offset and up to a length; can be used for easy - string insertion as well -- HWND: IsValidHWND - checks, if a HWND is a valid one -- HWND: GFX_Init - opens a new gfx-window. Like gfx.init, but this - returns its HWND-windowhandler-object as well -- HWND: GFX_GetWindowHWND - gets the HWND of a opened gfx-window, - opened with ultraschall.GFX_Init -- HWND: GetReaperWindowAttributes - returns several attributes of the - Reaper-window, like size/position, active-state, childwindows, etc -- HWND: GetTopmostHWND - returns the topmost hwnd(window-handler) of a - child-hwnd; returns also all the parent-hwnds -- HWND: Windows_Find - finds Reaper-windows by title and returns their - HWNDs -- HWND: GetAllReaScriptIDEWindows - returns the HWNDs of all opened - ReaperIDE-windows -- HWND: GetReaScriptConsoleWindow - returns the HWND of the - ReaScript-console, if open at all. -- HWND: HasHWNDChildWindowNames - allows to check, if a certain HWND - has child-hwnds of certain name(s). Good to make probability-checks - for the right Reaper-windows-check. -- HWND: GetRenderToFileHWND - returns the HWND of the Render to - File-dialog -- HWND: GetActionsHWND - returns the HWND of the Actions-dialog -- HWND: GetVideoHWND - returns the HWND of the Video Window -- HWND: GetHWND_ArrangeViewAndTimeLine - returns the - HWND-window-handler for the tracklist- and timeline-area of the - arrangeview -- Markers: GetAllCustomMarkers - gets all custom-markers of a certain - name, as table -- Markers: GetAllCustomRegions - gets all custom-regions of a certain - name, as table -- Markers: CountAllCustomMarkers - counts all custom-markers of a - certain name -- Markers: CountAllCustomRegions - counts all custom-regions of a - certain name -- Markers: EnumerateCustomMarkers - enumerates a custom-marker of a - certain name -- Markers: EnumerateCustomRegions - enumerates a custom-region of a - certain name -- Markers: DeleteCustomMarkers - deletes a custom-marker of a certain - name -- Markers: DeleteCustomRegions - deletes a custom-region of a certain - name -- Markers: AddCustomMarker - adds a custom-marker of a certain name -- Markers: AddCustomRegion - adds a custom-region of a certain name -- Markers: SetCustomMarker - sets a custom-marker of a certain name -- Markers: SetCustomRegion - sets a custom-region of a certain name -- Markers: GetNextFreeRegionIndex - gets the next free - region-shown-indexnumber -- Markers: IsMarkerValidCustomMarker - checks a marker, if it’s a - valid custom-marker -- Markers: IsRegionValidCustomRegion - checks a marker, if it’s a - valid custom-region -- MediaItems: EnumerateMediaItemsInTrack - readded, got lost in - earlier versions somehow, leading to GetTrackLength being useless -- Render: IsReaperRendering - returns, if Reaper is currently - rendering a file -- Render: GetProject_RenderOutputPath - returns the output-directories - for rendered files from a projectfile -- Script-Identifier: GetScriptIdentifier - returns a unique - identifier-string for the current script-instance, that can be used - to send command/string to this scriptinstance -- Trackstates: GetTrackSelection_TrackStateChunk - gets, if a track in - a StateChunk is selected; works only with TrackStateChunks from - ProjectStateChunks -- Trackstates: SetTrackSelection_TrackStateChunk - sets a track in a - StateChunk selected; works only with TrackStateChunks from - ProjectStateChunks -- Transport: SetLoopState - sets the current loop-state(button) -- Transport: GetLoopState - gets the current state of loop -- Transport: GetLastLoopState - gets the last loop-state, needs - RunBackgroundHelperFeatures to be run first -- Ultraschall: CountUltraschallEffectPlugins - counts number of - instances of StudioLink, StudioLinkOnAir, Ultraschall-Soundboard and - Ultraschall_Dynamics-plugins in a track. Also returns a table with - all bypass/offline-states -- Video: VID_VideoUIStateCoords2Pixels - converts the coordinates, - returned by the video-processor-function ui_get_state into pixels -- Video: VID_Pixels2VideoUIStateCoords - converts back the coordinates - from pixels into the coordinates returned by the - video-processor-function ui_get_state - -Changes from 4.00beta2.7 to 4.00beta2.72 - -- Api: GetApiVersion - updated versionsnumbering; returns now the - release-date of the currently installed hotfixes -- Api: hotfixes are now loaded before beta-functions -- Api: requires now version 0.963 of Julian Sader’s plugin -- Api: ultraschall_api.lua - checks now, if it is run within the - beta-engine-parts of this API and prevents including it if - necessary. This prevents duplicate execution of functions, when - coding within the beta-functions-engine-scripts. -- ArrangeView: IsValidArrangeviewSnapshot - checks now - vertical-scrollfactor as well -- ArrangeView: IsValidArrangeviewSnapshot - improved checking for - validity of parameters -- ArrangeView: RestoreArrangeviewSnapshot - improved checking for - validity of parameters -- ArrangeView: RestoreArrangeviewSnapshot - restores now - vertical-scrollfactor as well -- ArrangeView: RetrieveArrangeviewSnapshot - improved checking for - validity of parameters -- ArrangeView: RetrieveArrangeviewSnapshot - retrieves now - vertical-scrollfactor as well -- ArrangeView: StoreArrangeviewSnapshot - improved checking for - validity of parameters -- ArrangeView: StoreArrangeviewSnapshot - stores now - vertical-scrollfactor as well -- Colors: RGB2Grayscale - improved checking for validity of parameters -- Config: GetIniFileExternalState - using now the - SetIniFileValue-function for getting the ini-file-value -- Config: GetReaperWorkDir - using now the SetIniFileValue-function - for getting the ini-file-value -- Config: GetUSExternalState - using now the SetIniFileValue-function - for getting the ini-file-value -- Config: SetIniFileExternalState - using now the - SetIniFileValue-function for setting the ini-file-value -- Config: SetPlayCursorWidth - using now the SetIniFileValue-function - for setting the ini-file-value -- Config: SetReaperWorkDir - using now the SetIniFileValue-function - for setting the ini-file-value -- Config: SetStartNewFileRecSizeState - using now the - SetIniFileValue-function for setting the ini-file-value -- Config: SetUSExternalState - converts now all passed parameters to - string, regardless of their type -- Config: SetUSExternalState - using now the SetIniFileValue-function - for setting the ini-file-value -- Dialogs: CloseReaConsole - renamed to CloseReaScriptConsole, as the - ReaConsole is something different; added plausability-checks and - localization to get the right ReaScript-Console-window -- Dialogs: ultraschall.MB - converts now all passed data into string, - no matter what type it is -- Docs: Changelog - fixed Markdown-formatting-issues -- Docs: Docgenerator - reworked the docengine-creator for more fluffy - working of it -- Docs: docs generate and include now beta-functions as well -- Docs: docs use now GetApiVersion for displaying version-numbering -- Docs: Introduction/Concepts: Datatypes: Checking Datatypes - fixed - Markdown-issues -- Docs: MB - moved to User Interface -> Dialogs in the docs -- Envelopes: CountEnvelopePoints - improved checking for validity of - parameters -- Envelopes: CountMuteEnvelopePoints - improved checking for validity - of parameters -- Envelopes: GetClosestEnvelopePointIDX_ByTime - improved checking for - validity of parameters -- Envelopes: GetEnvelopePoint - improved checking for validity of - parameters -- Envelopes: GetEnvelopePointIDX_Between - improved checking for - validity of parameters -- Envelopes: SetEnvelopeHeight - improved checking for validity of - parameters -- ErrorMessages: AddErrorMessage - when set with - ShowErrorMessagesInReascriptConsole, it shows now errormessages - immediately in the ReaScriptConsole -- ErrorMessages: ReadErrorMessage - accepted a string for the - integer-parameter errornumber which rendered the function useless -> - fixed -- ErrorMessages: ReadErrorMessage - improved error-message, - errornumber now checks, if being an integer -- FileIO: CreateValidTempFile - added info about the path of the - created tempfile/tempfilename -- FileIO: GetAllFilesnamesInPath renamed to GetAllFilenamesInPath - - stupid typo in functionname…sorry for any inconveniences -- FileIO: GetLengthOfFile - improved checking for validity of - parameters -- FileIO: MakeCopyOfFile_Binary - added check, if a file is already in - use and can’t be read -- FileIO: ReadBinaryFileFromPattern - added check, if a file is - already in use and can’t be read -- FileIO: ReadBinaryFileUntilPattern - added check, if a file is - already in use and can’t be read -- FileIO: ReadFullFile - added check, if a file is already in use and - can’t be read -- FileIO: ReadFullFile - produced Lua-error, when passing a boolean as - filename_with_path -> fixed -- FileIO: ReadValueFromFile - produced Lua-error, when passing a - boolean as filename_with_path -> fixed -- FileIO: WriteValueToFile - converts now the parameter value to a - string, regardless of it’s original datatype -- FileIO: WriteValueToFile_Insert - converts now the parameter value - to a string, regardless of it’s original datatype -- FileIO: WriteValueToFile_InsertBinary - converts now the parameter - value to a string, regardless of it’s original datatype -- FileIO: WriteValueToFile_Replace - converts now the parameter value - to a string, regardless of it’s original datatype -- FileIO: WriteValueToFile_ReplaceBinary - converts now the parameter - value to a string, regardless of it’s original datatype -- Fun: WinterlySnowflakes - preparation of the snowflakes produced - wrong default-values of gfx.x, gfx.y, gfx.r, gfx.g, gfx.g -> fixed -- Helpers: CloseReaConsole - updated to behavior of version 0.963 of - the JS-plugin -- Helpers: GetPath - when sep is nil, it returns now the path until - the last useful separator, either \ or / -- Helpers: RunBackgroundHelperFeatures - allows now switching off the - background-scripts -- Helpers: SearchStringInString - dropped nested - searchstring-functionality as it was useless; recoded from scratch - for more stability -- Markers: GetAllRegionsBetween - didn’t return regions, that began - before startposition and ended after endposition -> fixed -- Markers: GetClosestNextMarker - improved checking for validity of - parameters -- Markers: GetClosestNextRegionEdge - improved checking for validity - of parameters -- Markers: GetMarkerByScreenCoordinates - returned useless newlines -> - fixed now -- Markers: GetMarkerByTime - returned useless newlines -> fixed now -- Markers: GetMarkerByTime - using now the SetIniFileValue-function - for getting the ini-file-value -- Markers: GetRegionByScreenCoordinates - returned useless newlines -> - fixed now -- Markers: GetRegionByTime - returned useless newlines -> fixed now -- Markers: GetRegionByTime - using now the SetIniFileValue-function - for getting the ini-file-value -- Markers: GetTimeSignaturesByTime - using now the - SetIniFileValue-function for getting the ini-file-value -- Markers: IsMarkerEdit - improved checking for validity of parameters -- Markers: IsMarkerNormal - improved checking for validity of - parameters -- Markers: IsRegionEditRegion - improved checking for validity of - parameters -- Markers: IsRegionPodrange - improved checking for validity of - parameters -- Markers: MoveMarkersBy - did move regions as well, though I claimed - the opposite..oops -> fixed -- MediaItem: GetMediafileAttributes - added info into the docs about - rpp-projects, which will create a proxy file, when getting the - mediafile-attributes -- MediaItem: InsertMediaItemFromFile - added MediaTrack and the new - editcursorposition as retvals; the latter used to be third retval - without being documented as such -> moved to the end of the retvals - sorry for that inconvenience -- MediaItems: GetNextClosestItemEdge - improved checking for validity - of parameters -- MediaItems: GetPreviousClosestItemEdge - improved checking for - validity of parameters -- MuteButtons: GetNextMuteState - improved checking for validity of - parameters -- MuteButtons: GetPreviousMuteState - improved checking for validity - of parameters -- MuteButtons: ToggleMute - improved checking for validity of - parameters -- MuteButtons: ToggleMute_TrackObject - improved checking for validity - of parameters -- Navigation: JumpBackwardBy - improved checking for validity of - parameters -- Navigation: JumpBackwardBy_Recording - improved checking for - validity of parameters -- Navigation: JumpForwardBy - improved checking for validity of - parameters -- Navigation: JumpForwardBy_Recording - improved checking for validity - of parameters -- ProjectManagement: GetAllLockedTracks - improved checking for - validity of parameters -- ProjectManagement: GetAllSelectedTracks - improved checking for - validity of parameters -- ProjectManagement: GetProject_GetMarker - could produce a Lua-error, - when filename was nil -> fixed -- ProjectManagement: GetProject_GetRegion - could produce a Lua-error, - when filename was nil -> fixed -- ProjectManagement: GetProject_Length - fixed issue with projectfiles - smaller than 1000 bytes, which couldn’t be parsed -- ProjectManagement: GetProject_MasterGroupFlagsHighState - improved - checking for validity of parameters -- ProjectManagement: GetProject_MasterGroupFlagsState - improved - checking for validity of parameters -- ProjectManagement: SetProject_RenderPattern - didn’t save - render-patterns with spaces in them properly -- ReaperDocs: fixed tons of MarkDown-layout errors. -- ReaperDocs: Functionnames-titles in the individual entries are not - linked anymore, but rather the > at the left side of the title now -- ReaperDocs: JS-extension - updated to 0.964 -- ReaperDocs: OscLocalMessageToHost - didn’t show title -> fixed -- ReaperDocs: SWS - updated to 2.10.1 -- ReaperDocs: updated to 5.97 -- Render: CreateRenderCFG_AIFF - returned the wrong render-cfg-string - due a stupid typo -> fixed -- Render: GetProject_RenderFilename - sometimes returned one " at the - end -> fixed -- Render: RenderProject_RenderCFG - if you use nil as - renderfilename_with_path, it will render as renderfilename using the - filename/renderpattern already set in the project didn’t return - correct filecount if rendering was canceled, leading to possible - error-message -> fixed -- Render: RenderProjectRegions_RenderCFG - if you use nil as - renderfilename_with_path, it will render as renderfilename using the - filename/renderpattern already set in the project -- TrackStates: GetTrackAutomodeState - improved checking for validity - of parameters -- TrackStates: GetTrackAutoRecArmState - improved checking for - validity of parameters -- TrackStates: GetTrackBeatState - improved checking for validity of - parameters -- TrackStates: GetTrackBusCompState - improved checking for validity - of parameters -- TrackStates: GetTrackBypFXState - improved checking for validity of - parameters -- TrackStates: GetTrackFreeModeState - improved checking for validity - of parameters -- TrackStates: GetTrackGroupFlags_HighState - improved checking for - validity of parameters -- TrackStates: GetTrackGroupFlagsState - improved checking for - validity of parameters -- TrackStates: GetTrackHeightState - improved checking for validity of - parameters -- TrackStates: GetTrackIcon_Filename - improved checking for validity - of parameters -- TrackStates: GetTrackID - improved checking for validity of - parameters -- TrackStates: GetTrackINQState - improved checking for validity of - parameters -- TrackStates: GetTrackIPhaseState - improved checking for validity of - parameters -- TrackStates: GetTrackIsBusState - improved checking for validity of - parameters -- TrackStates: GetTrackLayoutNames - improved checking for validity of - parameters when no layout available made a Lua-error -> fixed now -- TrackStates: GetTrackLength - improved checking for validity of - parameters -- TrackStates: GetTrackLockState - improved checking for validity of - parameters -- TrackStates: GetTrackMainSendState - improved checking for validity - of parameters -- TrackStates: GetTrackMidiBankProgFn - improved checking for validity - of parameters -- TrackStates: GetTrackMidiColorMapFn - improved checking for validity - of parameters -- TrackStates: GetTrackMidiCTL - improved checking for validity of - parameters -- TrackStates: GetTrackMidiInputChanMap - improved checking for - validity of parameters -- TrackStates: GetTrackMIDIOutState - improved checking for validity - of parameters -- TrackStates: GetTrackMidiTextStrFn - improved checking for validity - of parameters -- TrackStates: GetTrackMuteSoloState - improved checking for validity - of parameters -- TrackStates: GetTrackName - improved checking for validity of - parameters -- TrackStates: GetTrackNChansState - improved checking for validity of - parameters -- TrackStates: GetTrackPanMode - improved checking for validity of - parameters -- TrackStates: GetTrackPeakColorState - improved checking for validity - of parameters -- TrackStates: GetTrackPerfState - improved checking for validity of - parameters -- TrackStates: GetTrackRecCFG - improved checking for validity of - parameters -- TrackStates: GetTrackRecState - improved checking for validity of - parameters -- TrackStates: GetTrackScore - improved checking for validity of - parameters -- TrackStates: GetTrackShowInMixState - improved checking for validity - of parameters -- TrackStates: GetTrackStateChunk_Tracknumber - improved checking for - validity of parameters -- TrackStates: GetTrackVolPan - improved checking for validity of - parameters -- TrackStates: GetTrackVUState - improved checking for validity of - parameters -- TrackStates: GetTrackWidth - improved checking for validity of - parameters -- TrackStates: SetTrackAutomodeState - improved checking for validity - of parameters -- TrackStates: SetTrackAutoRecArmState - improved checking for - validity of parameters -- TrackStates: SetTrackBeatState - improved checking for validity of - parameters -- TrackStates: SetTrackBusCompState - improved checking for validity - of parameters -- TrackStates: SetTrackBypFXState - improved checking for validity of - parameters -- TrackStates: SetTrackFreeModeState - improved checking for validity - of parameters -- TrackStates: SetTrackGroupFlags_HighState - improved checking for - validity of parameters -- TrackStates: SetTrackGroupFlagsState - improved checking for - validity of parameters -- TrackStates: SetTrackHeightState - improved checking for validity of - parameters -- TrackStates: SetTrackIcon_Filename - improved checking for validity - of parameters; didn’t add trackicon, when no image was set already - -> fixed; when Iconfilename_with_path=nil, removes trackicon now -- TrackStates: SetTrackID - improved checking for validity of - parameters -- TrackStates: SetTrackINQState - improved checking for validity of - parameters -- TrackStates: SetTrackIPhaseState - improved checking for validity of - parameters -- TrackStates: SetTrackIsBusState - improved checking for validity of - parameters -- TrackStates: SetTrackLayoutNames - improved checking for validity of - parameters -- TrackStates: SetTrackLockState - improved checking for validity of - parameters -- TrackStates: SetTrackMainSendState - improved checking for validity - of parameters -- TrackStates: SetTrackMidiBankProgFn - improved checking for validity - of parameters -- TrackStates: SetTrackMidiColorMapFn - improved checking for validity - of parameters, setting filename to "" removes the MidiColorMap, now -- TrackStates: SetTrackMidiCTL - improved checking for validity of - parameters -- TrackStates: SetTrackMidiInputChanMap - improved checking for - validity of parameters; didn’t set MidiInputChanMap -> fixed; - removes now MidiInputChanMap, when InputChanMap=nil -- TrackStates: SetTrackMIDIOutState - improved checking for validity - of parameters -- TrackStates: SetTrackMidiTextStrFn - improved checking for validity - of parameters -- TrackStates: SetTrackMuteSoloState - improved checking for validity - of parameters -- TrackStates: SetTrackName - improved checking for validity of - parameters -- TrackStates: SetTrackNChansState - improved checking for validity of - parameters -- TrackStates: SetTrackPanMode - improved checking for validity of - parameters -- TrackStates: SetTrackPeakColorState - improved checking for validity - of parameters -- TrackStates: SetTrackPerfState - improved checking for validity of - parameters -- TrackStates: SetTrackRecCFG - improved checking for validity of - parameters -- TrackStates: SetTrackRecState - improved checking for validity of - parameters -- TrackStates: SetTrackScore - improved checking for validity of - parameters -- TrackStates: SetTrackShowInMixState - improved checking for validity - of parameters -- TrackStates: SetTrackVolPan - improved checking for validity of - parameters -- TrackStates: SetTrackVUState - improved checking for validity of - parameters -- TrackStates: SetTrackWidth - improved checking for validity of - parameters -- Ultraschall Docs: functiontitles aren’t links anymore, added a - clickable symbol at the beginning of the title line of each function - now -- Ultraschall Docs: print, print2 and toboolean as well as all - API-variables are now written in bold, as all other functions are -- Windows: GetReaperWindowPosition_Left - using now the - SetIniFileValue-function for getting the ini-file-value -- Windows: GetReaperWindowPosition_Right - using now the - SetIniFileValue-function for getting the ini-file-value -- Windows: SetReaperWindowToSize - using now the - SetIniFileValue-function for setting the ini-file-value - ------------------------------------------------------------------------- - -4.00 Beta 2.7: - “Frank Zappa - The Return of the Son of Monster Magnet” - 15th of December 2018 - -Has now 700 functions, with about 250 new ones! - -New features in 4.00beta2.7 - -- SetEnvelopeHeight - set the height and compactible state of an - envelope-lane/envelopestatechunk - -- GetTrackStateChunk_Tracknumber - get a TrackStateChunk without the - hassle of creating a trackobject first - -- SetTrackStateChunk_Tracknumber - set a TrackStateChunk without the - hassle of creating a trackobject first - -- GetTrackWidth - gets the Track-Width - -- GetTrackVolPan - gets Vol and Pan-settings of the track - -- GetTrackScore - gets Score of the track - -- GetTrackPanMode - gets PanMode of the track - -- GetTrackMidiColorMapFn - gets MidiColorMapFilename of the track - -- GetTrackMidiBankProgFn - gets MidiBankProg-Filename of the track - -- GetTrackMidiTextStrFn - gets MidiTextStr-Filename of the track - -- GetTrackID - gets the track-ID - -- CountPatternInString - counts a pattern in a sourcestring and - returns appearances and positions of appearances - -- ConvertColor - converts color to native, without the hassle that - Reaper needs - -- CountNormalMarkers_NumGap - returns the first numbering-gap within - shown-markernumbers - -- CenterViewToCursor - centers arrange view to play-, edit- or - mousecursor-timeposition. - -- SetReaperWindowToSize - to set the size of Reaper’s Main Window - -- toboolean - converts a string to boolean, if possible. Like Lua’s - tostring() or tonumber()-functions - -- CheckActionCommandIDFormat - checks, if an action-command-id is - properly formatted - -- CheckActionCommandIDFormat2 - checks, if an action-command-id is - properly formatted and if it exists in the Reaper-installation - -- IsRegionAtPosition - checks, if regions are at a certain position - and returns their index-numbers - -- IsMarkerAtPosition - checks, if markers are at a certain position - and returns their index-numbers - -- SetTrackID - sets the track-ID - -- SetTrackMidiColorMapFn - sets MidiColorMapFilename of the track - -- SetTrackMidiBankProgFn - sets MidiBankProg-Filename of the track - -- SetTrackMidiTextStrFn - sets MidiTextStr-Filename of the track - -- SetTrackPanMode - sets PanMode of the track - -- SetTrackWidth - sets the Track-Width - -- InsertMediaItemFromFile - inserts a mediafile into the project at - position and in specific track - -- GetMediafileAttributes - returns mediafile-attributes - -- GetMarkerByName - gets markers/regions by name - -- GetMarkerByName_Pattern - gets markers/regions that have a certain - character-sequence in their name - -- GetMarkerByIndex - gets values of a certain marker/region, count by - either markers or regions - -- SetMarkerByIndex - sets values of a certain marker/region, count by - either markers or regions - -- GetReaperAppVersion - returns the appversion and the bits-version of - the Reaper-App, separated into version and bits(unlike - reaper.GetAppVersion()) - -- GetOS - returns the operating system and it’s bits separated, unlike - reaper.GetOS() - -- IsOS_Windows - returns true, if the operating-system is Windows, - false if not. Also returns the bits of the os. - -- IsOS_Mac - returns true, if the operating-system is MacOS, false if - not. Also returns the bits of the os. - -- IsOS_Other - returns true, if the operating-system is other(usually - Linux), false if not. Also returns the bits of the os. - -- GetItemSpectralConfig - gets the FFT-size of the spectral-edit-view - of a specific item/statechunk - -- SetItemSpectralConfig - sets the FFT-size of the spectral-edit-view - of a specific item/statechunk - -- GetItemSpectralEdit - Get the settings of a given - spectral-edit-boundary-box - -- CountItemSpectralEdits - Counts the number of - spectral-edit-boundary-boxes - -- DeleteItemSpectralEdit - deletes a spectral-edit-boundary-box - -- SetTrackScore - sets SCORE-state of a track - -- SetTrackVolPan - set vol, pan, panlaw of a track - -- SetTrackRecCFG - set track-rec-encoding-configuration - -- LimitFractionOfFloat - takes a float-value and reduces the number of - digits in the fraction-part of the float; (500th Api function!) - -- SearchStringInString - searches for occurrences of a string within - another string; differs from CountPatternInString in that it allows - disabling searching for strings within already found strings - -- GetAllEntriesFromTable - returns all entries from a table in an - iterable form; good for unknown tables/tablestructures - -- GetItemSourceFile_Take - returns filename, pcm-source and the - media-item-take-object of a requested take - -- GetAllDirectoriesInPath - gets all directory-names in path - -- GetAllFilesnamesInPath - gets all filenames in path - -- CountDirectoriesAndFilesInPath - counts files and directories in - path - -- APIExists - returns, if a certain function/element exists in the - ultraschall-api - -- AddItemSpectralEdit - adds an spectral-editing-box into an - item/statechunk - -- GetItemSpectralVisibilityState - get the visibility-state of - spectral-edit of a certain MediaItem - -- IsValidEnvStateChunk - checks, if a string is a valid - envelope-state-chunk - -- IsValidTrackStateChunk - checks, if a sring is a valid - trackstate-chunk - -- IsValidItemStateChunk - checks, if a string is a valid - itemstate-chunk - -- EnumProjects - gets the projectfilename+path and the - ReaProject-object of a requested project - -- DeleteProjExtState_Section - deletes all project-extstates from a - specific section - -- DeleteProjExtState_Key - deletes the value from a specific - project-extstates->section->key - -- GetProjExtState_AllKeyValues - get all keys and values from a - proj-extstate - -- IsValidGuid - checks, if a string is a valid guid - -- SetGuidExtState - sets a proj-extstate with a guid as extname(good - for additional metadata for tracks/items/etc - -- GetGuidExtState - gets a proj-extstate with a guid as extname(good - for additional metadata for tracks/items/etc - -- GetVZoom - returns the current vertical-zoomfactor of the current - project - -- SetVZoom - sets the vertical-zoomfactor of the current project - -- StoreArrangeviewSnapshot - stores a snapshot of current - start/endposition and verticalzoom from the arrangeview into a - proj-extstate-slot - -- IsValidArrangeviewSnapshot - checks, whether an - arrangeview-snapshot-slot is set/valid - -- RetrieveArrangeviewSnapshot - returns the values set in a specific - Arrangeview-Snapshot-slot - -- RestoreArrangeviewSnapshot - sets arrangeview to - start/endposition/verticalzoom, as set in the - arrangeview-snapshot-slot - -- DeleteArrangeviewSnapshot - deletes an arrangeview-snapshot-slot - -- SetBitfield - sets/unsets/toggles individual bits in a bitfield - -- PreventCreatingUndoPoint - prevents creation of an undo-point(only - useful in non-defer-scripts) - -- SetIntConfigVar_Bitfield - allows setting config-vars, that are - integer-bitfields, quite easy - -- IsValidProjectStateChunk - checks, if a string is a valid - ProjectStateChunk - -- CountMarkersAndRegions - counts markers and regions and returns - their count as two(!) retvals - -- GetLastMarkerPosition - gets the position and idx of the last marker - in the project - -- GetLastRegion - gets start/endposition and idx of the last ending - region in the project - -- GetLastTimeSigMarkerPosition - gets position, measure- and - beatposition of the last time-sig-marker in the project - -- MakeCopyOfTable - creates a true copy of a table(not only - references) adapted from Tyler Neylon’s function, found at Stack - Overflow Thanks to him for allowing me to use it :) - -- CheckForValidFileFormats - checks for valid fileformats that are - supported by Reaper(still missing mp4, opus, m4a, m4v) - -- CompareStringWithAsciiValues - Compares a string with a number of - ASCII-Values, given as individual parameters - -- CountEntriesInTable_Main - Counts the entries in a table; counts - only the “main”-entries; returns subtables for recursive counting - -- ConvertStringToAscii_Array - Converts a string into an array, where - each entry contains the numerical representation of the accompanying - character in string - -- CompareArrays - Compares two arrays and returns all entries from - array2, that’s missing in array1 - -- GetAllMediaItemGUIDs - returns a table with the guids of all - MediaItems - -- InsertImageFile - Inserts an image-file into the project, allows - looping it and giving length of the newly created item - -- SetItemExtState - Sets a projextstate for an item - -- GetItemExtState - Gets a projextstate for an item - -- SetTrackExtState - Sets a projextstate for a track - -- GetTrackExtState - Gets a projextstate for a track - -- CountLinesInString - Counts the lines in a string - -- GetIDEFontSize - gets the current fontsize set for Reaper’s IDE - -- SetIDEFontSize - sets a new fontsize for Reaper’s IDE - -- MB - like reaper.MB, but allows omitting title and type parameters - for faster use. - -- ReadFileAsLines_Array - like ReadLinerangeFromFile, but returns the - read lines as an array - -- GetAllMarkersBetween - returns an array with all markers between - start and endposition - -- GetAllRegionssBetween - returns an array with all regions between - start and endposition - -- GetAllRegions - returns an array with all regions in the project - -- MoveMarkersTo - moves all markers between start/endposition to a - specific position - -- MoveRegionsTo - moves all regions between start/endposition to a - specific position - -- CreateValidTempFile - determines a valid temporary filename and - creates it, if needed. - -- When using the first time, it installs automatically an action for - showing the Api-Help(Ultraschall and Reaper) - -- SetItemSpectrogram - toggles displaying spectral-edit for an item or - an itemstatechunk - -- SetItemSpectralEdit - sets an existing spectral-edit for an item or - an itemstatechunk - -- CountProjectTabs - counts currently opened projecttabs - -- GetProject_Tabs - returns all project-tabs and their accompanying - filenames - -- CheckForChangedProjectTabs - checks, if the order of the projecttabs - changed, or projecttabs were new/closed since last calling this - function - -- GetAllSelectedMediaItems - returns an array with all selected - MediaItems in the project - -- SetMediaItemsSelected_TimeSelection - Sets MediaItems selected - within Time-Selection - -- GetParentTrack_MediaItem - returns the tracknumber and trackobject, - in which a given MediaItem lies - -- IsItemInTrack2 - checks, whether an item is within a track - -- IsItemInTrack3 - checks, whether an item is within a number of - tracks - -- ReturnTypeOfReaperObject - returns, type of Reaper-object - -- IsObjectValidReaperObject - checks, whether an object is a valid - Reaper-object(project, item, take, etc) - -- KeepTableEntriesOfType - removes entries from a table, that aren’t - of a certain type - -- RemoveTableEntriesOfType - removes entries from a table, that are of - a certain type - -- IsValidTrackString - checks, whether a trackstring is a valid one - -- IsItemInTimerange - checks, whether an item is within a timerange - -- OnlyItemsInTracksAndTimerange - throws out all MediaItems from a - MediaItemArray, that aren’t in given tracks and timerange - -- ApplyActionToMediaItem - applies an action to a MediaItem - -- ZoomVertical_MidiEditor - vertical zoom in MIDI-Editor - -- ZoomHorizontal_MidiEditor - horizontal zoom in MIDI-Editor - -- OpenItemInMidiEditor - opens an item in the MIDI-editor - -- ApplyActionToMediaItemArray - applies an action to given items - -- ApplyActionToTrack - applies an action to given tracks - -- GetAllMediaItemsInTimeSelection - returns all media-items from - within time-selection - -- NormalizeItems - normalizes given items - -- added an ini-file with all render-codes for Video, MP3, FLAC, DDP, - OPUS, OGG and AIFF - -- GetOutputFormat_RenderString - returns the output-format of a - render-cfg-string from rpp-files/ProjectStateChunks and the - reaper-render.ini - -- GetProject_RenderCFG - returns the render-string(which contains all - render-settings of a project) of a project/ProjectStateChunk - -- SetProject_RenderCFG - sets the render-string(which contains all - render-settings of a project) of a project - -- GetAllMediaItems - gets all MediaItems from the current project in a - MediaItemArray - -- CreateRenderCFG_Opus - creates the render-cfg-string for an - opus-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- CreateRenderCFG_OGG - creates the render-cfg-string for an OGG-file; - use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini - -- CreateRenderCFG_DDP - creates the render-cfg-string for a DDP-file; - use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini - -- CreateRenderCFG_AIFF - creates the render-cfg-string for an - AIFF-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- CreateRenderCFG_FLAC - creates the render-cfg-string for a - FLAC-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- CreateRenderCFG_WAVPACK - creates the render-cfg-string for a - WAVPACK-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- CreateRenderCFG_WebMVideo - creates the render-cfg-string for an - WebM-Video-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- RenderProject_RenderCFG - renders a project, using a certain - render-string, created from the aforementioned functions - -- CreateRenderCFG_MP3MaxQuality - creates the render-cfg-string for a - MP3-maxquality-file; use it in rpp-projectfiles/ProjectStateChunks - or reaper-render.ini - -- CreateRenderCFG_MP3VBR - creates the render-cfg-string for a - MP3-vbr-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- CreateRenderCFG_MP3ABR - creates the render-cfg-string for a - MP3-abr-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- CreateRenderCFG_MP3CBR - creates the render-cfg-string for a - MP3-cbr-file; use it in rpp-projectfiles/ProjectStateChunks or - reaper-render.ini - -- AddIntToChar - add an integer-value to the numerical representation - of a character and return it as a new character - -- CreateRenderCFG_WAV - creates the render-cfg-string for a WAV-file; - use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini - -- PreviewMediaItem - play a preview of a MediaItem - -- StopAnyPreview - stop preview of a MediaItem - -- InsertTrackAtIndex - insert one or more new tracks into your - project; more control about that than with Reaper’s original - function - -- MoveTracks - moves given track(s) to a new position - -- PreviewMediaFile - play preview of a mediafile, that is not - necessarily in the project - -- MakeFunctionUndoable - run a function with it and it will create an - Undo-Point for that given function automatically - -- GetProject_Selection - get the time-selection of an rpp-project or - ProjectStateChunk - -- SetProject_Selection - set the time-selection of an rpp-project or - ProjectStateChunk - -- DirectoryExists - check, if a directory already exists in a path - -- All parts of the API have now their own build-counters in the - ultraschall_api.ini - -- API checks now, if SWS2.9.7 is installed and displays an - error-message, if it’s missing. - -- ApplyFunctionToMediaItemArray - applies a function to all MediaItems - in a MediaItemArray - -- ReturnTableAsIndividualValues - returns index 1 to 64 of a table as - return-values - -- GetMediaItemTake - returns a MediaItem_Take of an item, either a - specific or the active one - -- requires now Reaper 5.95 - -- GetProject_MarkersAndRegions - returns Markers and Regions from a - Projectfile/ProjectStateChunk into an array - -- RenderProjectRegions_RenderCFG - renders a project’s region - -- GetGapsBetweenItems - returns a table with all gaps between items in - a track - -- IsValidMatchingPattern - checks, if a string is a valid - pattern-matching string - -- IsValidReaProject - checks, if a ReaProject-object is a valid one - -- type - returns the type of an object, either Lua’s own datatypes or - Reaper’s own datatypes (SWS-specific-datatypes are not - supported…yet(?)) - -- SetTrackGroupFlagsState - sets the GroupFlagsState in a track or a - TrackStateChunk for track-group 1-32 - -- SetTrackGroupFlags_HighState - sets the GroupFlagsState in a track - or a TrackStateChunk for track-group 33-64 - -- GetTrackGroupFlags_HighState - gets the GroupFlagsState in a track - or a TrackStateChunk for track-group 33-64 - -- all(!) TrackStates are now get/settable(!) - -- all functions create now useful error-messages, who can be retrieved - with the error-message-functions, refer to the Developer -> Error - Handling-functions in the index of the functions-reference - - Good riddance, what a long term hard work to code that... - -- GetCurrentTimeLengthOfFrame - gets the length of a frame in seconds - of a certain project; good for video/image-related functions like - InsertImageFile - -- GetLengthOfFrames - gets the length of a number of frames in seconds - of a certain project; good for video/image-related functions like - InsertImageFile - -- GetStartNewFileRecSizeState - gets, if Reaper shall start a new file - during recording, after XXX MBs, and the maximum size of a recorded - file til restart - -- SetStartNewFileRecSizeState - sets, if Reaper shall start a new file - during recording, after XXX MBs, and the maximum size of a recorded - file til restart - -- GetPlayCursorWidth - get the width of the playcursor in pixels - -- SetPlayCursorWidth - set the width of the playcursor in pixels - -- GetReaperAlwaysOnTopState - get, if Reaper is set to be always on - top of other applications, as set by action 40239 - -- GetInputOutputLatency_Seconds - returns the input/output-latency in - seconds - -- CreateTrackString_ArmedTracks - creates a trackstring with the - tracknumbers of all armed tracks - -- CreateTrackString_UnarmedTracks - creates a trackstring with the - tracknumbers of all unarmed tracks - -- IsValidEnvelopePointArray - checks, if an EnvelopePointArray is a - valid one - -- Api_InstallPath - an API-variable that contains the path to the - install-folder of the Ultraschall-API - -- ConvertOldProjectToCurrentReaperVersion - converts an - rpp-projectfile from an earlier version of Reaper to the current one - -- CreateRenderCFG_AudioCD - create a renderstring for audio-cd-images - -- GetMarkerUpdateCounter - returns an update-counter for all markers - in all projects, that is updated, as soon as a marker is - added/deleted/set/moved/altered - -- CreateTrackStringByGUID - creates a trackstring of all tracks, given - as GUIDs - -- CreateTrackStringByTracknames - creates a trackstring of all tracks, - given as tracknames - -- CreateTrackStringByMediaTracks - creates a trackstring with all - track-objects in a MediaTrackArray - -- GetScreenHeight - returns the height of the screen - -- GetScreenWidth - returns the width of the screen - -- pause_follow_one_cycle - skips followmode-auto-off-checking-script - for one cycle; only relevant for scripts that shall work within - Ultraschall.FM-extension - -- DeleteMediaItemsBetween - deletes MediaItems between start and - endposition within tracks, given by trackstring; the - deleting-equivalent of GetAllMediaItemsBetween - -- GetSetConfigAcidImport - gets/sets the configuration-setting for - configuration-variable acidimport; also adds the setting to - reaper.ini, if needed - -- GetSetConfigActionMenu - gets/sets the configuration-setting for - configuration-variable actionmenu; also adds the setting to - reaper.ini, if needed - -- GetSetConfigAdjRecLat - gets/sets the configuration-setting for - configuration-variable adjreclat; also adds the setting to - reaper.ini, if needed - -- GetSetConfigAdjRecManLat - gets/sets the configuration-setting for - configuration-variable adjrecmanlat; also adds the setting to - reaper.ini, if needed - -- GetSetConfigAdjRecManLatIn - gets/sets the configuration-setting for - configuration-variable adjrecmanlatin; also adds the setting to - reaper.ini, if needed - -- GetSetConfigAfxCfg - gets/sets the configuration-setting for - configuration-variable afxcfg; also adds the setting to reaper.ini, - if needed - -- GetSetConfigAllStereoPairs - gets/sets the configuration-setting for - configuration-variable afxcfg; also adds the setting to reaper.ini, - if needed - -- GetDuplicatesFromArrays - returns the entries from an array, that - are duplicate or are in only one of these two arrays - -- OnlyFilesOfCertainType - returns all files of a certain type from an - array of filenames - -- ConcatIntegerIndexedTables - concatenate the entries from two tables - into one - -- CreateColorTable - create a ColorTable that includes colorpatterns - -- CreateSonicRainboomColorTable - creates a ColorTable with - Ultraschall’s standard-trackcolor-pattern “Sonic Rainboom Color” - -- IsValidColorTable - checks, whether a ColorTable is a valid one - -- ApplyColorTableToTrackColors - Apply a ColorTable to colorize - MediaTracks - -- Docs - added parts of Reaper Internals to the US-Apidocs, more to - come - -- GetCurrentReaperWorkDir - gets the current working directory of - Reaper; if you create file without a path in Lua, they will be - stored in that path - -- SetCurrentReaperWorkDir - sets the current working directory of - Reaper; if you create file without a path in Lua, they will be - stored in that path; needs a Reaper restart! - -- DirectoryExists2 - returns, if a certain path exists. Unlike - DirectoryExists, which checks, whether a directory in a path exists - -- GetScriptFilenameFromActionCommandID - gets the script-filename - associated to a specific ActionCommandID - -- GetProject_CountAutomationItems - counts the automation-items in a - project/ProjectStateChunk - -- GetProject_AutomationItemStateChunk - gets an automation-item from a - project/ProjectStateChunk - -- GetProject_ProjectBay - gets the projectbay from a - project/ProjectStateChunk - -- GetProject_Metronome - gets the statechunk for all - metronome-settings from a project/ProjectStateChunk - -- GetProject_MasterPlayspeed - gets the statechunk for all - master-playspeed-settings from a project/ProjectStateChunk - -- GetProject_Tempo - gets the statechunk for all tempo-settings from a - project/ProjectStateChunk - -- GetProject_Extensions - gets the statechunk for all - extension-settings from a project/ProjectStateChunk - -- GetProject_Lock - gets the individual lock-settings from a - project/ProjectStateChunk - -- GetProject_GlobalAuto - returns the global automation - override-settings of an rpp-file or ProjectStateChunk - -- GetProject_Tempo - returns the tempo-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_Playrate - returns the playrate-settings of an rpp-file - or a ProjectStateChunk - -- GetProject_MasterAutomode - returns the - Mastertrack-automation-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_MasterSel - returns the - Mastertrack-selection-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_MasterFXByp - returns the - Mastertrack-fx-bypass-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_MasterMuteSolo - returns the - Mastertrack-mute-solo-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_MasterNChans - returns the - Mastertrack-num-channels-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_MasterTrackHeight - returns the - Mastertrack-trackheight-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_MasterTrackColor - returns the - Mastertrack-trackcolor-mode-settings of an rpp-file or a - ProjectStateChunk - -- GetProject_CountMasterHWOuts - counts the HWOuts for a Master-track - of an rpp-file or a ProjectStateChunk - -- GetProject_MasterHWOut - returns the Mastertrack-HWOUT-settings of - an rpp-file or a ProjectStateChunk; there can be multiple ones, - selectable by idx - -- GetProject_MasterVolume - returns the Master-volume-settings of an - rpp-file or a ProjectStateChunk - -- GetProject_MasterPanMode - returns the MasterPanMode of an rpp-file - or a ProjectStateChunk - -- GetProject_MasterWidth - returns the Width-Knob2-settings of an - rpp-file or a ProjectStateChunk - -- GetProject_MasterGroupFlagsState - returns the - Master-groupflags-state of an rpp-file or a ProjectStateChunk - -- GetProject_MasterGroupFlagsHighState - returns the - Master-grouphigh-flags-state of an rpp-file or a ProjectStateChunk - -- GetProject_GroupDisabled - returns the state, which groups are - disabled, of an rpp-file or a ProjectStateChunk - -- GetProject_MasterHWVolEnvStateChunk - returns the statechunk of the - MasterHWVolEnv - -- GetProject_MasterFXListStateChunk - returns the statechunk of the - MasterFXList - -- GetProject_MasterDualPanEnvStateChunk - returns the statechunk of - the MasterDualPanEnv - -- GetProject_MasterDualPanEnv2StateChunk - returns the statechunk of - the MasterDualPanEnv2 - -- GetProject_MasterDualPanEnvLStateChunk - returns the statechunk of - the MasterDualPanEnvL - -- GetProject_MasterDualPanEnvL2StateChunk - returns the statechunk of - the MasterDualPanEnvL2 - -- GetProject_MasterVolEnvStateChunk - returns the statechunk of the - MasterVolEnv - -- GetProject_MasterVolEnv2StateChunk - returns the statechunk of the - MasterVolEnv2 - -- GetProject_MasterVolEnv3StateChunk - returns the statechunk of the - MasterVolEnv3 - -- GetProject_MasterHWPanEnvStateChunk - returns the statechunk of the - MasterHWPanEnv - -- GetProject_MasterPanMode_Ex - returns the state of the - MasterPanMode_Ex - -- GetProject_TempoEnv_ExStateChunk - returns the statechunk of the - TempoEnv_Ex - -- Docs: MediaItems: Moving and Manipulating - added - -- Docs: MediaItems: Inserting Items and Files - added - -- ChangeColorBrightness - changes the brightness of a r, g, - b-color-value - -- ChangeColorContrast - changes contrast of a r,g,b-color-value - -- ReverseTable - reverses the order of the entries of an - integer-indexed table - -- ChangeColorSaturation - changes the saturation of a color-value - -- Docs: Datatypes_Colortables - docs about the structure of a - ColorTable - -- ultraschall.Euro - holds an €-symbol, that is difficult to type into - Reaper’s IDE - -- Docs: MediaItems: Programming Spectral Edit - added - -- Docs: MediaItems: Miscellaneous - added - -- Docs: Added Config-Variable into the Reaper-Internals-docs - -- added converted Config-Variable-docs as USDocML-file - -- CombineBytesToInteger - combines multiple bytes into one - integer-value - -- SplitIntegerIntoBytes - splits a 32-bit-integer-value into four - bytes - -- GetReaperScriptPath - returns path to the scripts-folder of Reaper - -- GetReaperColorThemesPath - returns path to the theme-folder of - Reaoer - -- GetReaperJSFXPath - returns path to the JSFX-plugin-folder of Reaper - -- GetReaperWebRCPath - returns path to Reaper’s own and User’s own - WebRC-webpage-folder - -- Docs - added File Management: Introduction to the - Introduction/Concepts-page - -- Docs - added docs for ultraschall.Euro, which holds the €-currency - symbol - -- Docs - added - File Management: Read to the - Introduction/Concepts-page - -- Added example-scripts: ArrangeView_Snapshots_Example.lua - Changed_Project_Tab_Example.lua Color_Example.lua - Render_Current_Project.lua Render_Project.lua - RippleCut_Selected_Tracks.lua - Shorten_MediaItems_In_Selection_Example.lua - -- GetProject_Length - gets the length of an rpp-projectfile - -- added new analyser-scripts for statechunks: - Item_State_Diffs_Monitor.lua, Track_State_Diffs_Monitor.lua, - Project_State_Diffs_Monitor.lua, Env_State_Diffs_Monitor.lua - -- Docs: File Management: Write - added to Introduction/Concepts-page - -- Docs: File Management: Analyse - added to Introduction/Concepts-page - -- Docs: File Management: Misc - added to Introduction/Concepts-page - -- Docs: Project Management: Introduction - added to - Introduction/Concepts-page - -- Docs: Project Management: Check for changed projecttabs - added to - Introduction/Concepts-page - -- Docs: added WebRC-API-docs - -- Docs: added Video-Processor-API-docs - -- Docs: reworked slightly the header of the Reaper-Internals-page - -- Docs: Color Management: Introduction - added chapter - -- Docs: Color Management: Native Color Conversion - added chapter - -- Docs: Color Management: Brightness, Contrast and Colorsaturation - - added chapter - -- Docs: Color Management: Working with Colortables - added chapter - -- Docs: Color Management: Creating Colortables - added chapter - -- Docs: Color Management: Applying Colortables - added chapter - -- ConvertColorFromMac - Converts a native-Mac to rgb-values - -- ConvertColorFromWin - Converts a native-Windows/Linux-color to - rgb-values - -- ConvertColorToMac - Converts rgb-values to a native-MacOS-color - -- ConvertColorToWin - Converts rgb-values to a - native-Windows/Linux-color - -- ApplyColorTableToItemColors - applies a ColorTable to MediaItems in - a MediaItemArray - -- Docs: added all functions from JS-plugin by Julian Sader and - Xenakios to Reaper-Api-Docs - -- ultraschall_track_old_cursorposition.lua - background-script for - returning the last editcursor-position before the current one - -- RunBackgroundHelperFeatures - runs background-scripts included with - the Ultraschall-API - -- GetLastCursorPosition - returns the last editcursor-position before - the current one; needs Backgroundscripts started first using - RunBackgroundHelperFeatures - -- Docs: Concepts-page - added chapter about Extstates for MediaTracks, - MediaItems and guids - -- IsMuteAtPosition - checks, whether a mute-point exists in a track at - a position - -- IsMuteAtPosition_TrackObject - checks, whether a mute-point exists - in a MediaTrack-object at a position - -- DeleteMuteState - deletes a mute-point in a track at a given - position - -- DeleteMuteState_TrackObject - deletes a mute-point in a - MediaTrack-object at a given position - -- Docs: Concepts-page - added chapter about backgroundscripts in - Ultraschall-API and the use of it for functions like - GetLastCursorPosition - -- Docs: Concepts-page - added chapter about cough/mute-buttons - -- requires now Julian Sader’s plugin as well - -- CloseReaConsole - closes ReaConsole-window - -- DeleteErrorMessage - deletes a specific error-message from the - error-messaging-system - -- Docs: Error-Messaging-System - added docchapters to - Introductions/Concepts-page - -- GFX_BlitBufferImage - blits the framebuffer into the window and - resizes it, if needed, using the correct aspect ratio; preliminary - support - -- Docs: Trackstate Management: Introduction - added chapter to - Introduction/Concepts-page - -- Routing: Introduction - added chapter to Introduction/Concepts-page - -- Routing: Send and Receives - added chapter to - Introduction/Concepts-page - -- Routing: Hardware Outs - added chapter to Introduction/Concepts-page - -- ApplyActionToMediaItemArray2 - applies an action to multiple items - at once, unlike ApplyActionToMediaItemArray(which applies the action - to each item individually) - -- PutMediaItemsToClipboard_MediaItemArray - puts all MediaItems from - MediaItemArray into the clipboard - -- Docs: ExtState Management: Introduction - added chapter to - Introduction/Concepts-page - -- Docs: ExtState Management: Ini-Files - added chapter to - Introduction/Concepts-page - -- Docs: ExtState Management: Inifile-Functions - added chapter to - Introduction/Concepts-page - -- Docs: ExtState Management: Ultraschall.ini - added chapter to - Introduction/Concepts-page - -- Docs: ExtState Management: Track and Item-Extstates - added chapter - to Introduction/Concepts-page - -- Docs: ExtState Management: Track Extstates - added chapter to - Introduction/Concepts-page - -- Docs: ExtState Management: Item Extstates - added chapter to - Introduction/Concepts-page - -- MoveRegionsBy - moves regions by seconds - -- MoveTimeSigMarkersBy - moves Timesignature/Tempo-markers by seconds - -- ShowMenu - shows a new context-menu at a given position - -- Docs: Markers and Regions: Introduction - added to - Introduction/Concepts-page - -- Docs: Markers and Regions: General How To - added to - Introduction/Concepts-page - -- Docs: Markers and Regions: Helpers and Manipulation - added to - Introduction/Concepts-page - -- CycleTable - cycles the entries of a table through - -- GetErrorMessage_Funcname - returns error-message of a certain - function - -- CountErrorMessage_Funcname - counts all error-messages a certain - function left in the error-messagin-system - -- GetLastErrorMessage_Funcname - returns the last error-message a - certain function left in the error-messaging-system - -- DisplayMarkersRegions_underneath_Mouse.lua - example-script that - displays the markers/regions underneath the mouse - -- ShowMediaItems_In_Timeselection_and_SelectedTracks.lua - example - script that shows selected items by time-selection and - track-selection - -- TrackAndItem_ColorCycler.lua - example script that cycles colors of - tracks and items - -- Render_Project.gif - added example-gif that demonstrates - example-script - -- DisplayMarkersRegions_underneath_Mouse.gif - added example-gif that - demonstrates example-script - -- ShowMediaItems_In_Timeselection_and_SelectedTracks.gif - added - example-gif that demonstrates example-script - -- Render_Current_Project.gif - added example-gif that demonstrates - example-script - -- Changed_Project_Tab_Example.gif - added example-gif that - demonstrates example-script - -- ArrangeView_Snapshots_Example.gif - added example-gif that - demonstrates example-script - -- RippleCut_Selected_Tracks.gif - added example-gif that demonstrates - example-script - -- Color_Example.gif - added example-gif that demonstrates - example-script - -- Shorten_MediaItems_In_Selection_Example.gif - added example-gif that - demonstrates example-script - -- ColorTables_ColorCycler.gif - added example-gif that demonstrates - example-script - -- Docs: Helper_Functions: Introduction - added chapter to the - Introduction/Concepts-page - -- Docs: Helper_Functions: Clipboard Management - added chapter to the - Introduction/Concepts-page - -- Docs: Helper_Functions: Data Manipulation - added chapter to the - Introduction/Concepts-page - -- Docs: Helper_Functions: Undo Management - added chapter to the - Introduction/Concepts-page - -- Docs: Final words - added chapter to the Introduction/Concepts-page - -- GetSetConfigAlwaysAllowKB - gets/sets value for configvar - alwaysallowkb - -- GetSetConfigApplyFXTail - get/sets value for configvar applyfxtail - -- GetSetConfigAdjRecManLatIn -get/sets value for configvar - ajdrecmanlatin - -- GetSetConfigAudioPrShift - get/sets value for configvar audioprshift - -- GetSetConfigAudioCloseStop - get/sets value for configvar - audioclosestop - -- GetSetConfigAudioThreadPr - get/sets value for configvar - audiothreadpr - -- GetSetConfigAudioCloseTrackWnds - get/sets value for configvar - audioclosetrackwnds - -- WinterlySnowflakes - replaces gfx.update with a version, that - displays falling snowflakes everytime gfx.update is run - -Changes from 4.00beta2.6 to 4.00beta2.7 - -- Tons of bugfixes. I mean, tons as in metric tons ;) -- GetTrackRecCFG - added documentation, that was still missing -> - fixed now; added missing return-value -- GetLastErrorMessage2 - had wrong functionname, corrected - documentation -- cleaned up code and improved readability -- GetPartialString - returns nil in case of error now -- WriteValueToFile - minor additions to documentation -- CreateTrackNumbersString - minor additions to documentation -- SetTrackMuteSoloState - corrected documentation’s-description -- initialization of the framework on Mac could potentially not work - due wrong separator -> fixed now -- improved installation and usage-procedure of the framework heavily -- GetTrackAutoRecArmState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackAutomodeState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackBeatState - supports now mastertrack and trackstatechunks as - well; sped up code -- GetTrackBusCompState - supports now trackstatechunks as well; sped - up code -- GetTrackBypFXState - supports now mastertrack and trackstatechunks - as well; sped up code -- GetTrackFreeModeState - supports now trackstatechunks as well; sped - up code -- GetTrackGroupFlagsState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackHeightState - supports now mastertrack and trackstatechunks - as well; sped up code -- GetTrackINQState - supports now mastertrack and trackstatechunks as - well; sped up code -- GetTrackIPhaseState - supports now mastertrack and trackstatechunks - as well; sped up code -- GetTrackIcon_Filename - supports now mastertrack and - trackstatechunks as well -- GetTrackIsBusState - supports now trackstatechunks as well; sped up - code -- GetTrackLayoutNames - supports now mastertrack and trackstatechunks - as well -- GetTrackLockState - supports now mastertrack and trackstatechunks as - well; sped up code -- GetTrackMIDIOutState - supports now mastertrack and trackstatechunks - as well; sped up code -- GetTrackMainSendState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackMidiCTL - supports now mastertrack and trackstatechunks as - well; sped up code -- GetTrackMidiInputChanMap - supports now mastertrack and - trackstatechunks as well -- GetTrackMuteSoloState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackNChansState - supports now mastertrack and trackstatechunks - as well; sped up code -- GetTrackName - supports now mastertrack and trackstatechunks as well -- GetTrackPeakColorState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackPerfState - supports now trackstatechunks as well; sped up - code -- GetTrackRecCFG - supports now mastertrack and trackstatechunks as - well; sped up code -- GetTrackRecState - supports now mastertrack and trackstatechunks as - well; sped up code -- GetTrackShowInMixState - supports now mastertrack and - trackstatechunks as well; sped up code -- GetTrackVUState - supports now mastertrack and trackstatechunks as - well, fixed bug; sped up code -- SetTrackAutoRecArmState - supports now mastertrack and - trackstatechunks as well -- SetTrackAutomodeState - supports now mastertrack and - trackstatechunks as well -- SetTrackBeatState - supports now mastertrack and trackstatechunks as - well -- SetTrackBusCompState - supports now trackstatechunks as well -- SetTrackBypFXState - supports now mastertrack and trackstatechunks - as well -- SetTrackFreeModeState - supports now mastertrack and - trackstatechunks as well -- SetTrackHeightState - supports now mastertrack and trackstatechunks - as well -- SetTrackINQState - supports now mastertrack and trackstatechunks as - well -- SetTrackIPhaseState - supports now mastertrack and trackstatechunks - as well -- SetTrackIcon_Filename - supports now trackstatechunks as well -- SetTrackIsBusState - supports now trackstatechunks as well -- SetTrackLayoutNames - supports now trackstatechunks as well; minor - improvements -- SetTrackLockState - supports now trackstatechunks as well; improved - speed -- SetTrackMIDIOutState - supports now mastertrack and trackstatechunks - as well -- SetTrackMainSendState - supports now mastertrack and - trackstatechunks as well -- SetTrackMidiCTL - supports now mastertrack and trackstatechunks as - well -- SetTrackMidiInputChanMap - supports now mastertrack and - trackstatechunks as well -- SetTrackMuteSoloState - supports now mastertrack and - trackstatechunks as well -- SetTrackNChansState - supports now mastertrack and trackstatechunks - as well -- SetTrackName - supports now mastertrack and trackstatechunks as well -- SetTrackPeakColorState - supports now mastertrack and - trackstatechunks as well -- SetTrackPerfState - supports now trackstatechunks as well -- SetTrackRecState - supports now mastertrack and trackstatechunks as - well -- SetTrackShowInMixState - supports now mastertrack and - trackstatechunks as well -- SetTrackVUState - supports now mastertrack and trackstatechunks as - well -- ToggleScrollingDuringPlayback - also affects scrolling during - recording now; sometimes, continuous scroll wouldn’t restart -> - fixed now -- GetNextClosestItemEdge - had trouble finding the end of the last - item in a track -> fixed now -- GetPreviousClosestItemEdge - had trouble finding the beginning of - the first item in track as well as the item before the current item - at times -> fixed now -- GetClosestPreviousMarker - always used cursorposition as calculation - base, never mouseposition; it also couldn’t find the previous marker - before the current one -> fixed now -- GetClosestNextMarker - always used cursorposition as calculation - base, never mouseposition -> fixed now -- GetClosestNextRegionEdge - renamed from GetClosestNextRegion; always - used cursorposition as calculation base, never mouseposition -> - fixed now -- GetClosestPreviousRegionEdge - renamed from - GetClosestPreviousRegion; always used cursorposition as calculation - base, never mouseposition -> fixed now -- GetApiVersion - returns now an additional return-value of type - “number”, that you can use for version-comparison like “if - required_version>version then” -- SplitStringAtLineFeedToArray - was missing the returned - count-variable in the documentation -> fixed now -- ToggleScrollingDuringPlayback - changed parameter move_editcursor to - boolean; added goto_playcursor which moves view to playcursor; fixed - bug that messed up scrolling during recording. -- Ultraschall-Api is now located in UserPlugins in the - resources-folder(where every third-party-plugin belongs to ;) ) -- IsItemInTrack - tracknumber is now 1 based, means: 1 for track 1, 2 - for track 2, etc -- ApiTest displays only one message now (damn was it annoying before… - ;) ) -- ReadFullFile - fixed small bug and returns now the number of lines - of files, if binary is set to false -- GetProject_DefPitchMode - added Rubber Band Pitchmodes and updated - elastique to 3.2.3 with missing settings -- SetProject_DefPitchMode - added Rubber Band Pitchmodes and updated - elastique to 3.2.3 with missing settings -- AddErrorMessage - new parameters, parametername and errorcode, so - you can specify these better -- ReadErrorMessage - includes the new parameters parametername and - errorcode, sped up code; used to reset creation date instead of - readstate -> fixed -- GetLastErrorMessage - includes the new parameters parametername and - errorcode, readstatus is now a string with “unread” or the last - readtime(no boolean anymore); sped up code; used to reset creation - date instead of readstate -> fixed -- DeleteLastErrorMessage - deletes now the last errormessage, only - changed the errorcounter before -- GetLastErrorMessage2 - includes the new parameters parametername and - errorcode; used to reset creation date instead of readstate -> fixed -- ShowLastErrorMessage - reworked the messagebox to include - functionname, parametername, errormessage and errorcode -- GetPath - returns nil now, if the separator can’t be found, and - throws an error-message as well in that case; did return parts of - the path in filename -> fixed now -- GetPartialString - returns nil now, if the separator can’t be found, - and throws an error-message as well in that case; sped up code -- RunCommand - throws an error-message, if an invalid - action-command-id is given -- CSV2Line - rewritten and sped up -- RGB2Num - removed -- CSV2IndividualLinesAsArray - rewrote and sped up code; supports now - other separators and separators longer than one character, swapped - retvals -- IsItemInTrack - minor improvements -- Docs: removed SWS-logo from all functions, that don’t require SWS -- SetChapterMarker - removed -- ImportChaptersFromFile - removed -- ExportChapterMarkersToFile - removed -- EnumerateChapterMarkers - removed -- EnumerateDummyMarkers - removed -- EnumerateEditRegion - removed -- GetAllChapterMarkers - removed -- DeleteChapterMarker - removed -- DeleteDummyMarker - removed -- CountChapterMarkers - removed -- CountDummyMarkers - removed -- ChapterToDummyMarker - removed -- ChapterToEditMarker - removed -- ChapterToMarker - removed -- DummyToChapterMarker - removed -- DummyToEditMarker - removed -- DummyToMarker - removed -- EditToChapterMarker - removed -- EditToDummyMarker - removed -- MarkerToChapterMarker - removed -- MarkerToDummyMarker - removed -- IsMarkerChapter - removed -- IsMarkerDummy - removed -- AddChapterMarker - removed -- AddDummyMarker - removed -- CountUSExternalState_sec - did not check for existence of - ultraschall.ini -> fixed -- CountUSExternalState_key - did not check for existence of - ultraschall.ini -> fixed -- EnumerateUSExternalState_sec - returned empty strings, when the - ultraschall.ini contained them -> fixed -- EnumerateUSExternalState_key - number was expected to be string and - produced problems -> fixed -- SetPlayCursor_WhenPlaying - added parameter-validity-check for - parameter position -- SetPlayAndEditCursor_WhenPlaying - added parameter-validity-check - for parameter position -- JumpForwardBy - added parameter seekplay for choosing, if playcursor - shall move too; moves mainly editcursor now; pause caused problems - -> fixed -- JumpBackwardBy - added parameter seekplay for choosing, if - playcursor shall move too; moves mainly editcursor now; pause caused - problems -> fixed -- GetNextClosestItemEdge - was looking in the wrong track, which - caused problems with items in a single track -> fixed -- GetPreviousClosestItemEdge - was looking in the wrong track, which - caused problems with items in a single track -> fixed -- GetClosestNextRegionEdge - returns now “beg” oder “end” to indicate, - which side of the region has been found -- GetClosestPreviousRegionEdge - returns now “beg” oder “end” to - indicate, which side of the region has been found -- ToggleMute_TrackObject - sped up code -- GetItemPlayRate_StateChunk - docs, added information about some of - the parameters, like pitch-settings -- ToggleStateButton - added section-info to the docs -- RefreshToolbar_Action - added section-info to the docs -- ToggleStateAction - added section-info to the docs -- CountNormalMarkers - added support for planned - chapter-markers(color_value 100, 255, 0); was counting wrong, when - regions were available -> fixed -- accidentally used os as return-variable in many functions, leading - to overwriting of Lua’s own os.functions() like os.date(), etc -> - fixed -- CountPatternInString - internal changes to prevent accidental - overwriting of Lua’s own string.functions() -- SplitStringAtLineFeedToArray - the entries in the array still - contained the useless line-feed -> fixed -- integer parameters accept only integers from now on (used to be - numbers) -- CSV2IndividualLinesAsArray - the returned count-value was one too - high -> fixed -- CountNormalMarkers - added support for planned chapter marker -- EnumerateNormalMarkers - support for planned chapter marker added; - added missing info in the docs -- EnumerateEditMarkers - expected “_Edit:” as name of edit-marker, - instead of “_Edit” -> fixed -- SetNormalMarker - added support for planned chapter marker; expected - “_Edit:” as name of edit-marker, instead of “_Edit” -> fixed -- SetEditMarker - expected “_Edit:” as name of edit-marker, instead of - “_Edit” -> fixed -- DeleteNormalMarker - added support for planned chapter marker; - deleted in some situations non-normal-markers -> fixed -- DeleteEditMarker - expected “_Edit:” as name of edit-marker, instead - of “_Edit” -> fixed -- IsMarkerEdit - expected “_Edit:” as name of edit-marker, instead of - “_Edit” -> fixed -- IsMarkerNormal - added support for planned chapter marker; expected - “_Edit:” as name of edit-marker, instead of “_Edit” -> fixed -- IsRegionEditRegion - expected “_Edit:” as name of edit-region, - instead of “_Edit” -> fixed -- SetEditRegion - expected “_Edit:” as name of edit-region, instead of - “_Edit” -> fixed -- DeleteEditRegion - expected “_Edit:” as name of edit-region, instead - of “_Edit” -> fixed -- EnumerateEditRegion - expected “_Edit:” as name of edit-region, - instead of “_Edit” -> fixed -- GetAllNormalMarkers - added index-number and shown-number to the - array; completed docs -- GetAllMarkers - added index-number, shown-number and color to the - array; completed docs; didn’t get the first marker -> fixed -- GetAllEditMarkers - added index-number to the array; completed docs -- DeletePodRangeRegion - return value is now boolean -- DeleteNormalMarker - completed docs -- ExportNormalMarkersToFile - completed docs -- CountNormalMarkers_NumGap - completed docs -- MarkerToEditMarker - completed docs -- CountEditMarkers - used to count edit-regions as well -> fixed now -- ExportEditMarkersToFile - crashed due bug with edit-regions -> fixed +- Brickwall Limiting Support + The rendering-functions support now brickwall-rendering and the + render-preset-functions the new possibility to store the + rendering-path as well(as of Reaper 6.43) + +- CAF-support + CAF is now supported as well with rendering. + +- GFX_GetChar + Gives you a more powerful version of gfx.getchar, which returns the + characters and optionally a readable version of non-printable + characters. + It also allows you managing the clipboard directly inside of it, so + you don’t need to code cmd+x/c yourself. + +- New MetaData-functions added + For ASWG, AXML, CAFINFO, FLACPIC, IFF and WAVEEXT. I also updated + the docs for other metadata-functions to include newly added tags. + +- Deprecated Checker for scripters + A new devtool allows you to check lua-scripts inside a folder, if + they use deprecated functions. It also warns you, if one of them + still uses a function that got actually removed. + +- Bugfixes + And cleanup, cleanup, cleanup + +New features in 4.2.006 + +- DeveloperTools: Check scripts in folder for deprecated functions - + checks, whether a folder contains Lua-scripts that ue deprecated or + removed API-functions +- Docs: function changelogs - include now changelogs for each function + beginning from Reaper 6.42+, SWS 2.12.1.3+, ReaBlink 0.4.0, JS + 1.22+, ReaImGui 0.5.8+ +- Docs: deprecated-states - include now deprecated-states for each + depreacted function which includes since when and a possible + alternative +- Doc-Engine: Docs_GetUSDocBloc_Changelog - returns the changelogs + from each US-DocML-entry +- Doc-Engine: Docs_GetUSDocBloc_Deprecated - returns the attributes of + the deprecated-tag of an US-DocBloc +- Doc-Engine: Docs_GetUSDocBloc_LinkedTo - returns the entries of the + linked_to-tags insie an USDocML-entry +- GFX-Management: GFX_GetChar - a more powerful version of + gfx.getchar, with additional clipboard management and conversion of + non-printable characters to readable ones +- Helper Functions: ReturnReaperExeFile_With_Path - returns the name + of the reaper-executable including its path +- MetaData: Metadata_ASWG_GetSet - gets/sets ASWG-metadata +- MetaData: Metadata_AXML_GetSet - gets/sets AXML-metadata +- MetaData: Metadata_CAFINFO_GetSet - gets/sets metadata for CAF-files +- MetaData: Metadata_FLACPIC_GetSet - gets/set metadata to embed + pictures into flac-files +- MetaData: Metadata_IFF_GetSet - gets/set metadata for iff +- MetaData: Metadata_WAVEXT_GetSet gets/set metadata for wavext +- ParmAlias: GetParmAlias_by_FXParam_FXStateChunk - gets the + parmalias_id by fx-parameter, that you can use as parameter id for + Set/Get/Delete-ParmAlias-functions +- ParmLearn: GetParmLearnID_by_FXParam_FXStateChunk - gets the + parmlearn_id by fx-parameter, that you can use as parmlearn_id for + Set/Get/Delete-ParmLearn-functions(requested by TonE) +- ParmLFOLearn: GetParmLFOLearn_by_FXParam_FXStateChunk - gets the + parm_lfolearn_id by fx-parameter, that you can use as parameter id + for Set/Get/Delete-ParmLFOLearn-functions +- Render Management: GetRenderTargetFiles - returns the render-target + and filenames of all render-files, if they would be rendered right now -- WriteValueToFile_ReplaceBinary - naming conflict, 2 functions had - the name WriteValueToFile_Replace; renamed one to - WriteValueToFile_ReplaceBinary -- EditToMarker - small internal changes to give the marker it’s - correct color: Reaper’s default color for marker -- CreateTrackNumbersString_SelectedTracks - additions to the docs -- ReadValueFromFile - returns now all found lines as array; retval - numberoflines used to give the same number as number_of_foundlines, - so I changed it to numberoflines_in_file, that returns the total - number of lines in the file, even if fewer lines are returned -- Renderfunctions - improved behavior when rendering currently opened - project; always uses now the correct projectfile, used to guess - location of projectfile one dir above the recording-dir -- GetProject_GroupOverride, GetProject_RippleState, - GetProject_ReaperVersion - documentation stated “kb-ini-file” - instead of “rpp-projectfile” -> fixed -- renamed GetMarkerByIndex to GetMarkerAndRegionsByIndex to reflect - the fact, that it supports markers AND regions -- SplitStringAtLineFeedToArray - used to treat LFCR as two linebreaks, - which caused empty lines in windows-strings. Treats LFCR as one - linebreak now. -- ReadLinerangeFromFile - allows now reading the whole file, when - giving -1 as lastlinenumber; added missing information in the docs -- As the Functions-Engine is essential for all parts of the - Ultraschall-API, it can’t be turned off anymore. -- renamed MoveMarkers to MoveMarkersBy, reimplemented it, as - sometimes, it messed up marker order after movement -- ReadValueFromFile - sped up code, returned wrong found-lines-value - -> fixed -- CheckMediaItemArray - did not return the altered MediaItemArray and - count, when returning retval=false -> fixed -- ChangeOffsetOfMediaItems_FromArray - typos in the docs -> fixed -- GetSelectedMediaItemsAtPosition - error in documentation -> fixed -- OnlyMediaItemsOfTracksInTrackstring_StateChunk - had the docs of - OnlyMediaItemsOfTracksInTrackstring -> fixed now -- CSV2IndividualLinesAsArray - accidentally reversed retvals in the - docs -> fixed -- restructured index of the Api-docs -- GetProject_AddMediaToProjectAfterRender - allows usage of - ProjectStateChunks now as well -- GetProject_ApplyFXCFG - allows usage of ProjectStateChunks now as - well -- GetProject_AutoCrossFade - allows usage of ProjectStateChunks now as - well -- GetProject_CountMarkersAndRegions - allows usage of - ProjectStateChunks now as well -- GetProject_CursorPos - allows usage of ProjectStateChunks now as - well -- GetProject_DefPitchMode - allows usage of ProjectStateChunks now as - well -- GetProject_EnvAttach - allows usage of ProjectStateChunks now as - well -- GetProject_Feedback - allows usage of ProjectStateChunks now as well -- GetProject_GetMarker - allows usage of ProjectStateChunks now as - well -- GetProject_GetRegion - allows usage of ProjectStateChunks now as - well -- GetProject_Grid - allows usage of ProjectStateChunks now as well -- GetProject_GroupOverride - allows usage of ProjectStateChunks now as - well -- GetProject_HorizontalZoom - allows usage of ProjectStateChunks now - as well -- GetProject_ItemMixBehavior - allows usage of ProjectStateChunks now - as well -- GetProject_Loop - allows usage of ProjectStateChunks now as well -- GetProject_LoopGran - allows usage of ProjectStateChunks now as well -- GetProject_MaxProjectLength - allows usage of ProjectStateChunks now - as well -- GetProject_MixerUIFlags - allows usage of ProjectStateChunks now as - well -- GetProject_NumberOfTracks - allows usage of ProjectStateChunks now - as well -- GetProject_PanLaw - allows usage of ProjectStateChunks now as well -- GetProject_PanMode - allows usage of ProjectStateChunks now as well -- GetProject_PeakGain - allows usage of ProjectStateChunks now as well -- GetProject_ProjOffsets - allows usage of ProjectStateChunks now as - well -- GetProject_ReaperVersion - allows usage of ProjectStateChunks now as - well; exposed internal variables -> fixed -- GetProject_RecMode - allows usage of ProjectStateChunks now as well -- GetProject_RecPath - allows usage of ProjectStateChunks now as well -- GetProject_RecordCFG - allows usage of ProjectStateChunks now as - well -- GetProject_RenderDitherState - allows usage of ProjectStateChunks - now as well -- GetProject_RenderFilename - allows usage of ProjectStateChunks now - as well; exposed an internal variable temp -> fixed -- GetProject_RenderFreqNChans - allows usage of ProjectStateChunks now - as well -- GetProject_RenderPattern - allows usage of ProjectStateChunks now as - well; exposed an internal variable temp -> fixed -- GetProject_RenderRange - allows usage of ProjectStateChunks now as - well -- GetProject_RenderResample - allows usage of ProjectStateChunks now - as well -- GetProject_RenderSpeed - allows usage of ProjectStateChunks now as - well -- GetProject_RenderStems - allows usage of ProjectStateChunks now as - well -- GetProject_RippleState - allows usage of ProjectStateChunks now as - well -- GetProject_SMPTESync - allows usage of ProjectStateChunks now as - well -- GetProject_SampleRate - allows usage of ProjectStateChunks now as - well -- GetProject_TakeLane - allows usage of ProjectStateChunks now as well -- GetProject_TempoTimeSignature - allows usage of ProjectStateChunks - now as well -- GetProject_TimeBase - allows usage of ProjectStateChunks now as well -- GetProject_Timemode - allows usage of ProjectStateChunks now as well -- GetProject_TrackMixingDepth - allows usage of ProjectStateChunks now - as well -- GetProject_TrackStateChunk - allows usage of ProjectStateChunks now - as well -- GetProject_UseRecConfig - allows usage of ProjectStateChunks now as - well -- GetProject_VerticalZoom - allows usage of ProjectStateChunks now as - well -- GetProject_VideoConfig - allows usage of ProjectStateChunks now as - well -- TimeStringToSeconds_hh_mm_ss_mss - had wrong functionname and link - in the docs -> fixed -- GetItemAllTakes - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemBeat - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemChanMode - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemFadeFlag - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemFadeIn - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemFadeOut - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemGUID - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemGroup - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemIGUID - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemIID - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemLength - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemLock - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemLoop - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemMixFlag - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!); returned the - BEAT-state, not MIXFLAG -> fixed -- GetItemMute - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemName - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemPlayRate - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemPosition - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemRecPass - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemSampleOffset - allows usage of MediaItems themselves as well - now; added parameter MediaItem before StateChunk(!) -- GetItemSelected - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- GetItemSnapOffset - allows usage of MediaItems themselves as well - now; added parameter MediaItem before StateChunk(!) -- GetItemUSTrackNumber_StateChunk - allows usage of MediaItems - themselves as well now; added parameter MediaItem before - StateChunk(!) -- GetItemVolPan - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- SetTrackHWOut - had wrong link in the docs -> fixed -- SetItemUSTrackNumber_StateChunk - tracknumbers are 1 based now -- SetItemLength - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- SetItemPosition - allows usage of MediaItems themselves as well now; - added parameter MediaItem before StateChunk(!) -- RenderProjectToAIFF - removed, use CreateRenderCFG_AIFF and - RenderProject_RenderCFG instead -- RenderProjectToFLAC - removed, use CreateRenderCFG_FLAC and - RenderProject_RenderCFG instead -- RenderProjectToMP3_ABR - removed, use CreateRenderCFG_MP3ABR and - RenderProject_RenderCFG instead -- RenderProjectToMP3_CBR - removed, use CreateRenderCFG_AMP3CBR and - RenderProject_RenderCFG instead -- RenderProjectToMP3_MaxQuality - removed, use - CreateRenderCFG_MP3MaxQuality and RenderProject_RenderCFG instead -- RenderProjectToMP3_VBR - removed, use CreateRenderCFG_MP3VBR and - RenderProject_RenderCFG instead -- RenderProjectToOpus - removed, use CreateRenderCFG_Opus and - RenderProject_RenderCFG instead -- GetProject_VideoConfig - corrected documentation -- SetProject_VideoConfig - corrected documentation -- SetProject_RecMode - corrected documentation -- GetProject_SMPTESync - returned wrong retvals, fixed -- GetPath - returns now also the filename, returns "“,”" instead of - nil in case of error. -- SetProject_AddMediaToProjectAfterRender - allows usage of - ProjectStateChunks now as well -- SetProject_ApplyFXCFG - allows usage of ProjectStateChunks now as - well -- SetProject_AutoCrossFade - allows usage of ProjectStateChunks now as - well -- SetProject_CursorPos - allows usage of ProjectStateChunks now as - well -- SetProject_DefPitchMode - allows usage of ProjectStateChunks now as - well -- SetProject_EnvAttach - allows usage of ProjectStateChunks now as - well -- SetProject_Feedback - allows usage of ProjectStateChunks now as well -- SetProject_Grid - allows usage of ProjectStateChunks now as well -- SetProject_GroupOverride - allows usage of ProjectStateChunks now as - well -- SetProject_HorizontalZoom - allows usage of ProjectStateChunks now - as well -- SetProject_ItemMixBehavior - allows usage of ProjectStateChunks now - as well -- SetProject_Loop - allows usage of ProjectStateChunks now as well -- SetProject_LoopGran - allows usage of ProjectStateChunks now as well -- SetProject_MaxProjectLength - allows usage of ProjectStateChunks now - as well -- SetProject_MixerUIFlags - allows usage of ProjectStateChunks now as - well -- SetProject_PanLaw - allows usage of ProjectStateChunks now as well -- SetProject_PanMode - allows usage of ProjectStateChunks now as well -- SetProject_PeakGain - allows usage of ProjectStateChunks now as well -- SetProject_ProjOffsets - allows usage of ProjectStateChunks now as - well -- SetProject_RecMode - allows usage of ProjectStateChunks now as well -- SetProject_RecPath - allows usage of ProjectStateChunks now as well -- SetProject_RecordCFG - allows usage of ProjectStateChunks now as - well -- SetProject_RenderCFG - allows usage of ProjectStateChunks now as - well -- SetProject_RenderDitherState - allows usage of ProjectStateChunks - now as well -- SetProject_RenderFilename - allows usage of ProjectStateChunks now - as well -- SetProject_RenderFreqNChans - allows usage of ProjectStateChunks now - as well -- SetProject_RenderPattern - allows usage of ProjectStateChunks now as - well; now allows removing the RENDERPATTERN-entry from a Projectfile - using nil as parameter. Good, if you only want to set a Rendername - in a project. -- SetProject_RenderRange - allows usage of ProjectStateChunks now as - well -- SetProject_RenderResample - allows usage of ProjectStateChunks now - as well -- SetProject_RenderSpeed - allows usage of ProjectStateChunks now as - well -- SetProject_RenderStems - allows usage of ProjectStateChunks now as - well -- SetProject_RippleState - allows usage of ProjectStateChunks now as - well -- SetProject_SMPTESync - allows usage of ProjectStateChunks now as - well -- SetProject_SampleRate - allows usage of ProjectStateChunks now as - well -- SetProject_Selection - allows usage of ProjectStateChunks now as - well -- SetProject_TakeLane - allows usage of ProjectStateChunks now as well -- SetProject_TempoTimeSignature - allows usage of ProjectStateChunks - now as well -- SetProject_TimeBase - allows usage of ProjectStateChunks now as well -- SetProject_Timemode - allows usage of ProjectStateChunks now as well -- SetProject_TrackMixingDepth - allows usage of ProjectStateChunks now - as well; hadn’t correct parameters in the docs -> fixed -- SetProject_UseRecConfig - allows usage of ProjectStateChunks now as - well -- SetProject_VerticalZoom - allows usage of ProjectStateChunks now as - well -- OpenURL - had a problem on Windows, when the url-string contained - spaces -> fixed; returns -1 in case of error, now -- GetReaperAppVersion - returns now the operating system as well if - the Reaper-installation is a portable one. -- GetClosestGoToPoints - added options to get closest goto-points from - current edit/playcursor-position; added returning marker/region name -- ReadBinaryFileFromPattern - corrected docs, rewrote function for - more speed -- CountKeysByPattern - checks for malformed patterns, now -- CountSectionsByPattern - checks for malformed patterns, now -- CountValuesByPattern - checks for malformed patterns, now -- EnumerateKeysByPattern - checks for malformed patterns, now -- EnumerateSectionsByPattern - checks for malformed patterns, now -- EnumerateValuesByPattern - checks for malformed patterns, now -- ReadBinaryFileFromPattern - checks for malformed patterns, now -- ReadBinaryFileUntilPattern - had wrong functionname in error-message - -> fixed, checks for malformed patterns, now -- ReadValueFromFile - checks for malformed patterns, now -- RippleInsert_MediaItemStateChunks - had a bug that could cause an - error-message -> fixed -- GetTrackGroupFlagsState - had a bug in checking for validity of - TrackStateChunks -> fixed -- SetKBIniActions - rewritten, as the previous version wasn’t working - right -- SetKBIniScripts - rewritten, as the previous version wasn’t working - right -- SetKBIniKeys - rewritten, as the previous version wasn’t working - right -- AddTrackAUXSendReceives - didn’t support Master Track, changed that -- SetTrackAUXSendReceives - didn’t support Master Track, changed that -- DeleteTrackAUXSendReceives - didn’t support Master Track, changed - that -- ToggleScrollingDuringPlayback - minor corrections in the docs -- GetAllRegionsBetween - corrections in the docs -- GetItemSpectralVisibilityState - had wrong functionname in docs -> - fixed -- GetTrackExtState - corrections in the docs -- DeleteArrangeviewSnapshot - had wrong functionname in docs -> fixed -- CenterViewToCursor - had documented a retval that the function - doesn’t return -> fixed -- CreateTrackNumbersString - renamed to CreateTrackString -- CreateTrackNumbersString_SelectedTracks - renamed to - CreateTrackString_SelectedTracks -- GetMediaItemsFromClipboard - using renamed function - CreateTrackString() now -- InsertMediaItemFromFile - using renamed function - CreateTrackString_SelectedTracks() now -- GetClosestNextRegionEdge - docs: was missing additional return-value - edge_type -> fixed now -- JumpBackwardBy - docs: changed name of parameter position to - seconds, as that represents more, what the parameter does -- JumpForwardBy - docs: changed name of parameter position to seconds, - as that represents more, what the parameter does -- JumpBackwardBy_Recording - docs: changed name of parameter position - to seconds, as that represents more, what the parameter does -- JumpForwardBy_Recording - docs: changed name of parameter position - to seconds, as that represents more, what the parameter does -- GetClosestGoToPoints - added mouse-cursor-position as possible - option -- GetNextClosestItemEdge - was returning wrong retvals when no item - was found -> fixed -- CenterViewToCursor - added parameter for a non-cursor-position of - your choice to center to -- SetItemPosition - exchanged position and optional - statechunk-parameters to be in line with - SetProject/Track-statefunctions -- SetItemLength - exchanged length and optional statechunk-parameters - to be in line with SetProject/Track-statefunctions -- GetSplitCrossFadeState_ReaperIni - removed, will return as a new - function -- MoveMediaItemsSectionTo - renamed to MoveMediaItemsBetween_To, as - this is more in line with the corresponding of functionnames for - getting, deleting, splitting items -- InsertMediaItem_MediaItem - allows now inserting MediaItems from - other projects as well and into tracks of other projects -- InsertMediaItem_MediaItemStateChunk - allows now tracks in other - projects to be target; h ad an issue, that it always required - ULTRASCHALL_TRACKNUMBER in the itemstatechunk to get the - target-track -> fixed now to also allow passing a MediaTrack, as the - docs always stated has now additional retvals startposition, - endposition, length fixed the docs -- ReadBinaryFile_Offset - if startoffset is negative, the offset will - be seen from the end of the file now -- ReadBinaryFile - removed, due being a duplication of ReadFullFile -- ReadFileAsLines_Array - corrected docs -- CreateTrackString_AllTracks - renamed from - CreateAllTracksTrackString to be more in line with other - CreateTrackString-functions -- RippleCut - removed the move_markers parameter; added - add_to_clipboard parameters, which puts the cut-items to the - clipboard -- RippleCut_Reverse - removed the move_markers parameter; added - add_to_clipboard parameters, which puts the cut-items to the - clipboard -- SectionCut - removed the move_markers parameter; added - add_to_clipboard parameters, which puts the cut-items to the - clipboard -- SectionCut_Inverse - removed the move_markers parameter; added - add_to_clipboard parameters, which puts the cut-items to the - clipboard -- EnumerateIniFileExternalState_sec - added error-messages for invalid - section-indices -- GetUSExternalState - returns now only the value-returnvalue -- GetID3TagsFromCurrentProject - removed, due being useless in - Ultraschall 4.0 -- GetID3TagsFromCurrentProject_PodcastTags - removed, due being - useless in Ultraschall 4.0 -- SetID3TagsForCurrentProject - removed, due being useless in - Ultraschall 4.0 -- SetID3TagsForCurrentProject_PodcastTags - removed, due being useless - in Ultraschall 4.0 -- Msg - removed, was useless - ------------------------------------------------------------------------- - -4.00 Beta 2.6: - “Is that all there is? - Peggy Lee” - 19th of October 2017 - -New features in 4.00beta2.6 - has now 450 functions, with about 30 new ones: - -- CreateAllTracksTrackString - creates a trackstring with all tracks - in the current project -- new datastructure “EnvelopePointObjects” and - “EnvelopePointArrays”(for EnvelopePointObjects) for easier - massworking with envelopepoints -- CreateEnvelopePointObject - creates an EnvelopePointObject -- GetEnvelopePoint - gets envelopepoint easier than Reaper’s own - functions. Returns value converted to db-value as well -- GetClosestEnvelopePointIDX_ByTime - gets envelope-point-idx closest - to a given timeposition -- GetEnvelopePointIDX_Between - gets envelope-points between start and - endtime -- AddEnvelopePoints_EnvelopePointObject - adds an EnvelopePointObject -- AddEnvelopePoints_EnvelopePointArray - adds an array of - EnvelopePointObjects -- CheckEnvelopePointObject - checks, if an EnvelopePointObject is a - valid one -- DeleteEnvelopePoints_EnvelopePointObject - deletes an - envelope-point, according to the EnvelopePointObject -- DeleteEnvelopePoints_EnvelopePointArray - deletes envelope-points, - according to EnvelopePointObjects in EnvelopePointArray -- SetEnvelopePoints_EnvelopePointObject - sets an envelope-point, - according to the EnvelopePointObject -- SetEnvelopePoints_EnvelopePointArray - sets envelope-points, - according to EnvelopePointObjects in EnvelopePointArray -- CountEnvelopePoints - counts envelope-point in a given track and - envelope-name -- ToggleIDE_Errormessages - toggles, if API shows the errormessages in - Reaper’s IDE or not -- WriteValueToFile_Insert - inserts a string into a specific - line-position of a file -- WriteValueToFile_Replace - replaces specific lines in a file with - value -- GetLengthOfFile - returns length of a file -- ReadBinaryFile_Offset - reads a binary file. Allows partial reading - of a file as well. -- WriteValueToFile_InsertBinary - inserts a value into a binary file - at specified position -- WriteValueToFile_Replace - replaces a specified portion of a file - with a value -- GetStringFromClipboard_SWS - returns the content of the clipboard, - using the SWS-function reaper.CF_GetClipboardBig, but manages the - stuff necessary, that surrounds using this function -- SecondsToTimeString_hh_mm_ss_mss - converts seconds into a - timestring of the format hh:mm:ss.mss -- TimeStringToSeconds_hh_mm_ss_mss - converts a timestring of the - format hh:mm:ss.mss into seconds -- ParseMarkerString - converts a string with markernames or a string - with timestrings and markernames into an array -- RenumerateMarkers - renumbers the shown-marker-ids in the project, - beginning with the first one to the last one. Good for “ordering” - markers, that were included in unordered way. -- ReadFullFile - reads a file and returns it’s contents -- StartTime - a new api-variable that contains the starting time of - the current instance of the api, which probably means, your script, - that embeds the framework - -Changes from 4.00beta2.5 to 4.00beta2.6 - -- corrections in the documentation -- GetClosestNextMarker - couldn’t find last marker and showed a time, - even if no marker was found -> fixed now; markers that are at - time_position are now seen as a previous marker -- GetClosestPreviousMarker - couldn’t find first marker and showed a - time, even if no marker was found -> fixed now; markers that are at - time_position are now seen as a next marker -- GetClosestPreviousRegion - fixed possible bug preventing from - finding the first region -> fixed now -- GetClosestNextRegion - fixed possible bug preventing from finding - the last region -> fixed now -- GetClosestGoToPoints - new boolean parameters check_itemedge, - check_marker, check_region to set, for which type of elements to - look for; returns now also an item-number; instead of “Item”, it - uses “Itembeg” for the beginning and “Itemend” for the end of an - item now as elementtype for items; added the itemtypes to the docs -- GetNextClosestItemEdge - new return values: closest_item, - item_number, edgetype, found_item -- GetPreviousClosestItemEdge - new return values: closest_item, - item_number, edgetype, found_item -- WriteValueToFile - new parameter for optional appending a value to a - file, other minor corrections -- SetTrackRecState - missing parameter description for tracknumber in - the docs -> fixed now -- GetMediaItemsFromClipboard - produced an error, that made this - function unusable -> fixed now -- RippleInsert - didn’t move an item close to “position” sometimes, - before inserting -> fixed now -- RippleInsert_MediaItemStateChunks - didn’t move an item close to - “position” sometimes, before inserting -> fixed now -- GetPreviousMuteState used to use 0 for track 1, 1 for track 2. - Changed to 1 for track 1, 2 for track 2, etc -- GetNextMuteState used to use 0 for track 1, 1 for track 2. Changed - to 1 for track 1, 2 for track 2, etc -- CountMuteEnvelopePoints used to use 0 for track 1, 1 for track 2. - Changed to 1 for track 1, 2 for track 2, etc could also produce an - error when using an invalid track. -> Fixed now. -- ToggleMute - could produce an error, when using an invalid track. -> - Fixed now. -- GetTrackAutoRecArmState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackAutomodeState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackBeatState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackBusCompState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackBypFXState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackFreeModeState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackGroupFlagsState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackHeightState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackINQState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackIPhaseState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackIcon_Filename - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackIsBusState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackLayoutNames - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackLockState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackMIDIOutState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackMainSendState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackMidiCTL - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackMidiInputChanMap - tracknumbers start now with 1 for track - 1; produced an error when using nil as tracknumber -> fixed -- GetTrackMuteSoloState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackNChansState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackName - tracknumbers start now with 1 for track 1; produced - an error when using nil as tracknumber -> fixed -- GetTrackPeakColorState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackPerfState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackRecState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackShowInMixState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- GetTrackVUState - tracknumbers start now with 1 for track 1; - produced an error when using nil as tracknumber -> fixed -- SetTrackAutoRecArmState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackAutomodeState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackBeatState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackBusCompState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackBypFXState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackFreeModeState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackHeightState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackINQState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackIPhaseState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackIcon_Filename - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackIsBusState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackLayoutNames - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackLockState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackMIDIOutState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackMainSendState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackMidiCTL - tracknumbers start now with 1 for track 1, instead - of 0 -- SetTrackMidiInputChanMap - tracknumbers start now with 1 for track - 1, instead of 0 -- SetTrackMuteSoloState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackNChansState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackName - tracknumbers start now with 1 for track 1, instead of - 0 -- SetTrackPeakColorState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackPerfState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackRecState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackShowInMixState - tracknumbers start now with 1 for track 1, - instead of 0 -- SetTrackVUState - tracknumbers start now with 1 for track 1, instead - of 0 - ------------------------------------------------------------------------- - -4.00 Beta 2.5: - “Musique non stop - Technopop - Kraftwerk” - 10th of September 2017 - -New features in 4.00beta2.5 - -- Import Markers/Regions from RPP-Projectfiles -- Selection/Deselection of items, as well as getting functions for - getting selected items -- functions for checking MediaItemArray and MediaItemStateChunkArrays - for validity -- Trackstatechunks: getting/adding/setting/deleting/counting items - in/to trackstate-chunks -- Routing-Send/Receive - functions for count, add, get, set, delete -- HWOut-settings - functions for count, add, get, set, delete -- Lock Track Controls - get, set functions -- Track Selection functions - get, set -- Functions to lock-MediaItems easily -- added RippleInsert for mediaitemstatechunkarrays -- get MediaItems from clipboard -- many functions for getting MediaItem-states from - MediaItemStateChunks -- some functions for setting MediaItem-states into - MediaItemStateChunks -- more MediaItem-insertion functions for MediaItemStateChunks -- choosing MediaItems from specific tracks from MediaItemArray -- new trackstring-analysis and manipulation-functions -- functions for getting Mediaitems from specific tracks -- apply statechunk to MediaItems, for extended manipulation of - MediaItems using manipulated MediaItemStateChunks -- Reaper-Main-Window: get left and right sides in relation to the - screen position -- client2screen2client x-coordinate conversion functions -- developer: new Errormessaging system, that will, in the future, give - readable error-messages, when errors occur during execution of - functions. Currently only some functions return error messages; will - change over time. -- tons of other helper-functions in many areas - -Changes from 4.00beta2.1 to 4.00beta2.5 - -- minor corrections in documentation -- RenderProjectToAIFF - new parameters for start and endposition of - the renderrange. Nil as projectfilename renders the currently opened - project. -- RenderProjectToFLAC - new parameters for start and endposition of - the renderrange. Nil as projectfilename renders the currently opened - project. -- RenderProjectToMP3_ABR - new parameters for start and endposition of - the renderrange. Nil as projectfilename renders the currently opened - project. -- RenderProjectToMP3_CBR - new parameters for start and endposition of - the renderrange. Nil as projectfilename renders the currently opened - project. -- RenderProjectToMP3_MaxQuality - new parameters for start and - endposition of the renderrange. Nil as projectfilename renders the - currently opened project. -- RenderProjectToMP3_VBR - new parameters for start and endposition of - the renderrange. Nil as projectfilename renders the currently opened - project. -- RenderProjectToOPUS - new parameters for start and endposition of - the renderrange. Nil as projectfilename renders the currently opened - project. -- RenderProjectToWebMVideo - new parameters for start and endposition - of the renderrange. Nil as projectfilename renders the currently - opened project. -- GetProject_HorizontalZoom was incorrectly named GetProject_Zoom in - the docs -> fixed -- GetApiVersion was incorrectly linked to GetPath in the docs -> fixed -- GetAllMediaItemsBetween - adds “ULTRASCHALL_TRACKNUMBER tracknumber” - to returned statechunks, to know, from which track the item - originated from -- SplitMediaItems_Position - bug introduced in beta 2.1 that split - only first track -> fixed -- RippleInsert - bug introduced in beta 2.1 -> fixed -- InsertMediaItemArray - bug introduced in beta 2.1 -> fixed -- GetMediaItemsAtPosition - bug introduced in beta 2.1 -> fixed -- OnlyMediaItemsOfTracksInTrackstring - bug introduced in beta 2.1 -> +- Render Management: GetRenderCFG_Settings_CAF - gets settings of a + render-string of the caf-format +- Render Management: CreateRenderCFG_CAF - creates a render-string for + the CAF-format + +Changes from 4.2.005 to 4.2.006 + +- API: bugs - newly added functions from last release weren’t working, + due oversight -> fixed +- API: deprecated - replaced most of the deprecated functions US-API + used +- API: minimum Reaper version - raised minimum Reaper-version to + Reaper 6.20 +- API: Settings - Beta-functions-feature removed, as it was pointless + and slowed down initializing US-API +- Developer: EditReaScript - allows now setting docking state and + watchlist-size; didn’t add scripts, when the file already existed, + contrary to what the docs suggested; didn’t reset old values in + reaper.ini -> fixed +- DeveloperTools: ultraschall_developertool_CheckForNewConfigVars - + tries now to read possible config-vars from reaper.exe + directly(windows only atm) +- DeveloperTools: + ultraschall_developertool_Display-Altered-Config-Vars - shows now + the diffs to old values as well +- DeveloperTools: + ultraschall_developertool_Display-Altered-ConfigFile-Entries - shows + diffs to old values when entries are numerical; added missing + ini-files +- DocEngine: Docs_GetUSDocBloc_Description - had problems with + description-tags without any line in it -> fixed +- DocEngine: Docs_RemoveIndent - had inner variable exposed -> fixed +- Docs: All docs - you can create now a custom.css file in the + Documentation-folder to customize the style of the docs +- Docs: MediaItemStateChunk-docs - added new behavior of Reaper 6.33 + to just enclose source-files with " that have a space in filename or + path +- Docs: Reaper Internals - updated to Reaper 6.43 and ReaImGui 0.5.8 +- Docs: Reaper-API-docs - All-View jumped to the top of the document + instead of just unhiding functioncalls -> fixed +- Docs: RenderPreset-Configfile.txt - updated to Reaper 6.43 +- EventManager: general - didn’t start on Linux distributions due + case-typo in ultraschall_EventManager.lua-filename -> fixed (thanks + to dronenb) +- FileManagement: GetAllDirectoriesInPath - has now an optional + filter-parameter, to just get directories of a certain pattern +- FileManagement: GetAllFilenamesInPath - has now an optional + filter-parameter, to just get filenames of a certain pattern; + returned pure path as well -> fixed +- FileManagement: GetAllRecursiveFilesAndSubdirectories - has now + optional filter-parameters for folders and files +- FXManagement: InputFX_GetEQBandEnabled - new bandtypes added, as + added by Reaper 6.43 +- FXManagement: InputFX_GetEQParam - new bandtypes added, as added by + Reaper 6.43 +- FXManagement: InputFX_SetEQBandEnabled - new bandtypes added, as + added by Reaper 6.43 +- FXManagement: InputFX_SetEQParam - new bandtypes added, as added by + Reaper 6.43 +- MediaItem Management: InsertMediaItemFromFile - didn’t place + editcursor correctly at the end of item, when length==-1 -> fixed +- Mute: ToggleMute - didn’t unmute under certain conditions; sometimes + created additional envelope-points when unneccessary -> fixed +- ParmLearn: AddParmLearn_FXStateChunk2 - parameter midi_channel + falsely expected to be 0-15 not 1-16 as documented -> fixed(thanks + to TonE) +- ParmLearn: GetParmLearn_FXStateChunk2 - didn’t check for non + existing ParmLearns and threw nil error -> fixed(thanks to TonE) +- ParmLearn: SetParmLearn_FXStateChunk2 - had massive errors in the + docs -> fixed(thanks to TonE) +- ProjectManagement: GetProject_Render_Normalize - supports now + brickwall-settings +- ProjectManagement: SetProject_Render_Normalize - supports now + brickwall-settings +- Rendering: AddRenderPreset - supports now brickwall-limiting and + output-directory +- Rendering: ApplyRenderTable_Project - supports now + brickwall-limiting +- Rendering: ApplyRenderTable_ProjectFile - supports now + brickwall-limiting +- Rendering: CreateNewRenderTable - supports now brickwall-limiting +- Rendering: CreateRenderCFG_WAV - supports now 32 Bit PCM(7) and 8 + Bit u-Law(8) as BitDepth +- Rendering: GetOutputFormat_RenderCfg - supports now CAF as well; + returned the decoded render-string only, not the base64-decoded one; + the latter is now retval #3 +- Rendering: GetRenderCFG_Settings_AIFF - when passing nil, it returns + now the default-project-render-settings for aiff +- Rendering: GetRenderCFG_Settings_FLAC - when passing nil, it returns + now the default-project-render-settings for flac +- Rendering: GetRenderCFG_Settings_OGG - when passing nil, it returns + now the default-project-render-settings for ogg +- Rendering: GetRenderCFG_Settings_OPUS - when passing nil, it returns + now the default-project-render-settings for opus +- Rendering: GetRenderCFG_WAV - when passing nil, it returns now the + default-project-render-settings for wav; supports now 32 Bit PCM(7) + and 8 Bit u-Law(8) as BitDepth; returned wrong value as BitDepth -> fixed -- DeleteMediaItems_Position - bug introduced in beta 2.1 -> fixed -- GetAllMediaItemsBetween - bug introduced in beta 2.1 -> fixed -- MoveMediaItemsAfter_By - bug introduced in beta 2.1 -> fixed -- MoveMediaItemsBefore_By - bug introduced in beta 2.1 -> fixed -- MoveMediaItemsSectionTo - bug introduced in beta 2.1 -> fixed -- SectionCut - bug introduced in beta 2.1 -> fixed -- SectionCut_Inverse - bug introduced in beta 2.1 -> fixed -- RippleCut - bug introduced in beta 2.1 -> fixed -- RippleCut_Reverse - bug introduced in beta 2.1 -> fixed -- RemoveDuplicateTracksInTrackstring - entries in trackstringarray are - now numbers, not strings -- SetTrackAutoRecArmState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackAutomodeState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackBeatState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackBusCompState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackBypFXState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackFreeModeState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackHeightState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackINQState - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- SetTrackIPhaseState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackIcon_Filename - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackIsBusState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackLayoutNames - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackLockState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackMIDIOutState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackMainSendState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackMidiCTL - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- SetTrackMidiInputChanMap - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackMuteSoloState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackNChansState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackName - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- SetTrackPeakColorState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackPerfState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- SetTrackRecState - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- SetTrackShowInMixState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- SetTrackVUState - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- GetTrackAutoRecArmState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackAutomodeState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackBeatState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackBusCompState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackBypFXState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackFreeModeState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackGroupFlagsState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackHeightState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackINQState - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- GetTrackIPhaseState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackIcon_Filename - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackIsBusState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackLayoutNames - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackLockState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackMIDIOutState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackMainSendState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackMidiCTL - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- GetTrackMidiInputChanMap - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackMuteSoloState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackNChansState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackName - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- GetTrackPeakColorState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackPerfState - had a bug when using tracknumbers higher than - the highest available tracknumber -> fixed -- GetTrackRecState - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- GetTrackShowInMixState - had a bug when using tracknumbers higher - than the highest available tracknumber -> fixed -- GetTrackVUState - had a bug when using tracknumbers higher than the - highest available tracknumber -> fixed -- GetMediaItemsAtPosition - returns now an array with the - MediaItemStateChunks as well -- RemoveDuplicateTracksInTrackstring - produced Lua-error, when giving - nil as parameter -> fixed - ------------------------------------------------------------------------- - -4.00 Beta2.1: - “Ich und der Rock - Renft” - 30th of August - -New features in 4.00beta2.1 - -- mostly bugfixes -- ultraschall.Separator - contains the proper separator for the system - it runs on. If you want to do file-operation, you should use this - instead of \ or /, to make your script Mac and Windows compliant. -- ultraschall.Script_Path - contains the path to the scripts-folder of - Reaper - -Changes from 4.00beta2 to 4.00beta2.1 - -- changed the lines, you need to include into your script. refer “3. - How to use the API in your LUA-Script” in the doc-file. -- some functions didn’t work on Mac, due it’s use of / instead of  as - directory-separator. Has been fixed now. -- moved all ultraschall-related variables into the ultraschall-table. -- GetPartialString - returns nil in case of error -- CSV2Line - returns nil in case of error, bugfixing -- RGB2Num - returns nil in case or error -- CSV2IndividualLinesAsArray - returns nil in case or error, bugfixing -- GetNextMuteState - corrected documentation -- GetNextMuteState_TrackObject - corrected documentation -- GetPreviousMuteState - corrected documentation -- GetPreviousMuteState_TrackObject - corrected documentation -- ImportChaptersFromFile - corrected documentation -- ImportEditFromFile - corrected documentation -- ImportMarkersFromFile - corrected documentation -- ImportChaptersFromFile_Filerequester - corrected documentation -- ImportEditFromFile_Filerequester - corrected documentation -- ImportMarkersFromFile_Filerequester - corrected documentation -- RemoveDuplicateTracksInTrackstring - improved return values -- OnlyMediaItemsOfTracksInTrackstring - improved return values -- ChangeDeltaOffsetOfMediaItems_FromArray - bugfixing -- InsertMediaItem_MediaItem - improved return values -- InsertMediaItem_MediaItemStateChunk - improved return values - ------------------------------------------------------------------------- - -4.00 Beta2: - “Shock The Monkey - Peter Gabriel” - 20th August 2017 - -New Features in 4.00beta2 - about 190 new functions with: - -- Configuration: Import/Export from/to reaper-kb.ini-files -- Configuration: New Management-functions for Configuration-files that - follow standard ini-files -- Clipboard: Clipboard Functions, get and put (thanks to fernsehmuell - for the mac-side) -- Envelopes: Move Envelope-Points in a track -- File-Management: extended fileread-functions, including reading - lines that follow patterns, and more -- Markers: Move Markers, as well as Edit Markers -- Markers: Get Markers/Regions/Time-Signature-marker by their - graphical representation, means: you can use e.g. the mouse to find - markers the mouse is hovering above -- Items: Get, Split, Insert, Delete, Shorten, Cut, RippleCut, - RippleInsert, etc of single and multiple MediaItems in 1 or more - tracks -- Projectfiles: Get and set 40 settings in rpp-projectfiles. More to - come. -- Projectfiles: Import Tracks with Items and all FX and settings from - project-files using GetProject_TrackStateChunk. You can insert them - with the new item function InsertMediaItem_MediaItemStateChunk -- Rendering: Render projectfiles as mp3, mp3_vbr, mp3_cbr, mp3_abr, - opus, flac, aiff, and webm(video). That’s right: no render dialog - necessary! -- Docs: The Documentation-System, that automatically creates the - API-Docs from the API itself, using CreateUSApiDocs_HTML. Will be - extended to be a fully equipped automatic-documentation-system for - Ultraschall -- Tons of other functions in all areas. - -Changes from 4.00beta1 to 4.00beta2 - -- Marker/Regions-functions - they used to ignore regions which led to - wrong markers/regions -> fixed -- ultraschall.WriteValueToFile - default write-mode changed to - binary-file behavior(doesn’t add useless newlines anymore) non - binary-mode can be chosen by a new parameter “binarymode” set to - false, if it’s - set to nil or true, value will be treated as binaryvalue and saved - as such. ultraschall.WriteValueToFile(Filename_with_path, Value, - binarymode) -- CSV2IndividualLines - renamed to CSV2IndividualLinesAsArray and - added number of lines as additional return-value -- NumberRangeAsCsvOfNumbers - renamed to CreateTrackNumbersString -- Structure - reworked API-structure - ------------------------------------------------------------------------- - -4.00 beta1: - “Tomorrow Never Knows - The Beatles” - 10th of July 2017 - -New Features in 4.00beta1 - about 140 new functions with: - -- Markers: extensive marker-management, with markers for chapter, - edit, dummy, normal and podrange-regions -- Configuration: functions for an Ultraschall.ini. Ultraschall needs - it’s own config-file, at last ;) -- CoughButtons: CoughButton-management for setting, toggling, getting - envelope-points in the mute-envelope-lane -- Navigation: Jumping to position, setting playcursor, toggling - scrolling during playback, finding next item/marker/region and more -- Track-Management: Getting and Setting tons of track-states, that are - usually hard to fumble out of Reaper. -- File-Management: Write a value to a file. -- Dozens of helper-functions here and there +- Rendering: GetRenderCFG_WAVPACK - when passing nil, it returns now + the default-project-render-settings for wavpack +- Rendering: GetRenderCFG_Settings_XXX - all those functions could + produce error, when sending in non-Base-64-strings -> fixed +- Rendering: GetRenderPreset_RenderTable - supports now + brickwall-limiting and the output-diretory, if stored; did not + return secondary render-string, when having a presetname with spaces + in it -> fixed +- Rendering: GetRenderTable_Project - supports now brickwall-limiting +- Rendering: GetRenderTable_ProjectFile - supports now + brickwall-limiting +- Rendering: IsValidRenderTable - supports now brickwall-limiting +- Rendering: RenderProject_RenderTable - didn’t return filenames due + changes in statechunks in Reaper 6.33 -> fixed(thnx to aurelien) +- Rendering: SetRenderPreset - supports now brickwall-limiting; didn’t + set some settings, when normalize-target had + in its value -> fixed +- Rendering: various - many render-cfg-functions who work with floats + didn’t work properly -> fixed +- User Interface: Windows_Find - had inner variable exposed -> fixed ]]> @@ -8042,7 +668,7 @@ Ultraschall API} \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b\ab\rtlch \ltrch\loch\loch\f3 } \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b0\ab0\rtlch \ltrch\loch\loch\f3 -a 1400 Lua-functions library for Reaper.} +a 1421 Lua-functions library for Reaper.} \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b0\ab0\rtlch \ltrch\loch\loch\f3 } \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b0\ab0\rtlch \ltrch\loch\loch\f3 @@ -8056,7 +682,7 @@ The Ultraschall-Framework itself is intended to include a set of Lua-functions, \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\loch\fs24\loch\f3 } \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\loch\fs24\loch\f3 -This API was to be used within Ultraschall only, but quickly evolved into a huge 1400 function-library, that many 3rd-party programmers and scripters may find use in, with many useful features, like:} +This API was to be used within Ultraschall only, but quickly evolved into a huge 1421 function-library, that many 3rd-party programmers and scripters may find use in, with many useful features, like:} \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\loch\fs24\loch\f3 } \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\fs24\loch\f3 @@ -8180,7 +806,7 @@ Ultraschall API} \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b\ab\rtlch \ltrch\loch\loch\f3 } \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b0\ab0\rtlch \ltrch\loch\loch\f3 -a 1400 Lua-functions library for Reaper.} +a 1421 Lua-functions library for Reaper.} \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b0\ab0\rtlch \ltrch\loch\loch\f3 } \par \pard\plain \s0\nowidctlpar{\*\hyphen2\hyphlead2\hyphtrail2\hyphmax0}\cf0\kerning1\hich\af9\langfe2052\dbch\af7\afs24\lang1081\loch\f0\fs24\lang1031{\b0\ab0\rtlch \ltrch\loch\loch\f3 @@ -8194,7 +820,7 @@ The Ultraschall-Framework itself is intended to include a set of Lua-functions, \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\loch\fs24\loch\f3 } \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\loch\fs24\loch\f3 -This API was to be used within Ultraschall only, but quickly evolved into a huge 1400 function-library, that many 3rd-party programmers and scripters may find use in, with many useful features, like:} +This API was to be used within Ultraschall only, but quickly evolved into a huge 1421 function-library, that many 3rd-party programmers and scripters may find use in, with many useful features, like:} \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\loch\fs24\loch\f3 } \par \pard\plain \s18\sb0\sa120{\b0\afs24\ab0\rtlch \ltrch\fs24\loch\f3