diff --git a/Scripts/ultraschall_edit_id3_tags.lua b/Scripts/ultraschall_edit_id3_tags.lua
index 89b97a83..ad873218 100644
--- a/Scripts/ultraschall_edit_id3_tags.lua
+++ b/Scripts/ultraschall_edit_id3_tags.lua
@@ -1,18 +1,18 @@
--[[
################################################################################
-#
-# Copyright (c) 2014-2017 Ultraschall (http://ultraschall.fm)
-#
+#
+# Copyright (c) 2014-2019 Ultraschall (http://ultraschall.fm)
+#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -20,162 +20,27 @@
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
-#
+#
################################################################################
]]
+oldnotes=reaper.GetSetProjectNotes(0, false, "")
+oldnotes=string.gsub(oldnotes, "\n", "\b")
--- Print Message to console (debugging)
-function Msg(val)
- reaper.ShowConsoleMsg(tostring(val).."\n")
+if oldnotes=="" then
+ Date = os.date("*t")
+ oldnotes="\b\b\b"..Date.year
end
--- Used to escape "'s by toCSV
---function escapeCSV (s)
--- _, count = string.gsub(s, "\"", "\"")
--- if count==nil then count=0 end
--- if math.fmod(count,2)==1 then --if we have a odd number of " replace them with ""
--- if string.find(s, '["]') then
--- s = '"' .. string.gsub(s, '"', '""') .. '"'
--- end
--- elseif string.find(s,",")~=nil then
--- s="\""..s.."\""
--- end
--- return s
---end
-function notes2csv ()
- local csv = ""
- local array = {}
- local count=0
- notes = reaper.GetSetProjectNotes(0, false, "")
- for line in notes:gmatch"[^\n]*" do
- count=count+1
- csv = csv .. "," .. line --escapeCSV(line)
- array[count]=line
- end
-
- retval= string.sub(csv, 2) -- remove first ","
-
- return retval, count, array
-end
-
-
-
-function csv2lines (line)
- title = line:match("(.-),")
- artist= line:match(".-,(.-),")
- album = line:match(".-,.-,(.-),")
- year = line:match(".-,.-,.-,(.-),")
- genre = line:match(".-,.-,.-,.-,(.-),")
- comment = line:match(".-,.-,.-,.-,.-,(.*)")
---[[ pos=0
- pos_old=1
- clean=""
- for i=1, 5,1 do
- pos=string.find(result,",",pos_old)
- substring=string.sub(line,pos_old,pos-1)
- clean=clean..substring.."\n"
- pos_old=pos+1
- end
- --check field 6
- substring=string.sub(line,pos_old)
- clean=clean..substring
- ]]
- return title.."\n"..artist.."\n"..album.."\n"..year.."\n"..genre.."\n"..comment
-end
-
-function checkevencharacters(string,character)
- local count=0
- local even=true
- for i=1, string.len(string) do
- if string:sub(i,i)==character then
- if even==true then even=false
- else even=true
- end
- end
- end
- return even
-end
-
---reaper.ShowConsoleMsg("") --clear console
-dialog_ret_vals, count, dialog_retvals_array = notes2csv() --default values
+--if olll==nil then return end
-retval, result = reaper.GetUserInputs("Edit ID3 Podcast Metadata", 6, "Title (no comma allowed):,Artist (no comma allowed):,Podcast (no comma allowed):,Year (no comma allowed):,Genre (no comma allowed):,Comment:", dialog_ret_vals)
+retval, result = reaper.GetUserInputs("Edit ID3 Podcast Metadata", 6, "Episode Title:,Author:,Podcast:,Year:,Podcast Category:,Description:,extrawidth=300, separator=\b", oldnotes)
-count=0
-temp=-1
-old_pos=0
-pos=0
-if retval == true then
- pos=result:match(".-,.-,.-,.-,.-,()")
- firstvals=result:sub(1,pos-1)
- restvals=result:sub(pos,-1)
- pos=restvals:match(".-,()")
- if pos~=nil then restvals="\""..restvals.."\"" end
- if restvals:match("\"\".*\"\"")~=nil then restvals=restvals:sub(2,-2) end
-
-
- even=checkevencharacters(firstvals:match(".-,"),"\"")
- if even==false then firstvals=firstvals:match("(.-),").."\""..firstvals:match(".-(,.*)") end
-
- even=checkevencharacters(firstvals:match(".-,(.-,)"),"\"")
- if even==false then firstvals=firstvals:match("(.-,.-),").."\""..firstvals:match(".-,.-(,.*)") end
- even=checkevencharacters(firstvals:match(".-,.-,(.-,)"),"\"")
- if even==false then firstvals=firstvals:match("(.-,.-,.-),").."\""..firstvals:match(".-,.-,.-(,.*)") end
- even=checkevencharacters(firstvals:match(".-,.-,.-,(.-,)"),"\"")
- if even==false then firstvals=firstvals:match("(.-,.-,.-,.-),").."\""..firstvals:match(".-,.-,.-,.-(,.*)") end
-
- even=checkevencharacters(firstvals:match(".-,.-,.-,.-,(.-,)"),"\"")
- if even==false then firstvals=firstvals:match("(.-,.-,.-,.-,.-),").."\""..firstvals:match(".-,.-,.-,.-,.-(,.*)") end
-
- even=checkevencharacters(restvals,"\"")
- if even==false then restvals=restvals.."\"" end
-
- notes = reaper.GetSetProjectNotes(0, true, csv2lines(firstvals..restvals)) -- write new notes
-end
+result=string.gsub(result, "\b", "\n")
---[[
if retval == true then
- --step through field 1-5 and check if the numer of " is even. Add a " to the end if needed.
- pos=0
- pos_old=1
- clean=""
- for i=1, 5,1 do
- pos=string.find(result,",",pos_old)
- substring=string.sub(result,pos_old,pos-1)
- _, count = string.gsub(substring, "\"", "\"")
- if math.fmod(count,2)==1 then substring=substring.."\"" end
- clean=clean..substring..","
- pos_old=pos+1
- end
- --check field 6
- substring=string.sub(result,pos_old)
- _, count = string.gsub(substring, "\"", "\"")
- if math.fmod(count,2)==1 then substring=substring.."\"" end
- clean=clean..substring
- result=clean
-
- -- if more than "," 5 then escape the comment field (surround with ")
- _, count = string.gsub(result, ",", ",")
- if count>5 then
- pos=0
- for i=1, 5,1 do
- pos=string.find(result,",",pos+1)
- end
- temp=string.sub(result,pos+1,-1)
- if temp:match("\"\".*\"\"")~=nil then newresult=string.sub(result,1,pos)..temp:sub(2,-2)
- else newresult=string.sub(result,1,pos)..string.sub(result,pos+1)
- end
- reaper.MB(newresult,result,0)
- result=newresult
- --reaper.MB(string.sub(result,pos+1,-1),"",0)
- end
-
-
-
- notes = reaper.GetSetProjectNotes(0, true, csv2lines(result)) -- write new notes
-end
---]]
+ notes = reaper.GetSetProjectNotes(0, true, result) -- write new notes
+end
\ No newline at end of file
diff --git a/Scripts/ultraschall_export_assistant.lua b/Scripts/ultraschall_export_assistant.lua
index 3d1a32df..0f361496 100644
--- a/Scripts/ultraschall_export_assistant.lua
+++ b/Scripts/ultraschall_export_assistant.lua
@@ -157,7 +157,7 @@ else -- macOS
-- name = element type x y w h caption ...other params...
logo = GUI.Pic:new( 484,280, 80, 80, img_ratio, img_adress, runcommand, "_Ultraschall_Open_Project_Folder"),
- label = GUI.Lbl:new( 50, 120+y_offset, "Export MP3/ m4a\nRender your Podcast to a MP3/ m4a File.\n\n\nChapter Markers\nYou may take a final look at your chapter markers.\n\n\nID3 Metadata\nUse the ID3 Editor to add metadata to your podcast.\n\n\nPodcast Episode Image:\nFound.\n\n\n\n\nFinalize MP3/ m4a\nHit the button and select your MP3/ m4a to finalize it\nwith metadata, chapters and episode image!", 0),
+ label = GUI.Lbl:new( 50, 120+y_offset, "Export MP3\nRender your Podcast to a MP3 File.\n\n\nChapter Markers\nYou may take a final look at your chapter markers.\n\n\nID3 Metadata\nUse the ID3 Editor to add metadata to your podcast.\n\n\nPodcast Episode Image:\nFound.\n\n\n\n\nFinalize MP3\nHit the button and select your MP3 to finalize it\nwith metadata, chapters and episode image!", 0),
label2 = GUI.Lbl:new( 30, 120+y_offset, "1.\n\n\n\n2.\n\n\n\n3.\n\n\n\n4.\n\n\n\n\n\n5.", 0),
label3 = GUI.Lbl:new( 30, 70+y_offset, "Follow these simple steps:", 0),
export = GUI.Btn:new( 430, 120+y_offset, 190, 40, "Export MP3", runcommand, "_Ultraschall_Render_Check"),
@@ -173,7 +173,7 @@ else -- macOS
-- name = element type x y w h caption ...other params...
-- logo = GUI.Pic:new( 374,178, 0, 0, img_ratio, img_adress),
- label = GUI.Lbl:new( 50, 120+y_offset, "Export MP3/ m4a\nRender your Podcast to a MP3/ m4a File.\n\n\nChapter Markers\nYou may take a final look at your chapter markers.\n\n\nID3 Metadata\nUse the ID3 Editor to add metadata to your podcast.\n\n\nPodcast Episode Image\nJust put a square .jpg, .jpeg or .png image with the\nname 'cover.xyz' OR with the same name as your\nproject file (.RPP) in the project folder.\n\n\nFinalize MP3/ m4a\nHit the button and select your MP3/ m4a to finalize it\nwith metadata, chapters and episode image!", 0),
+ label = GUI.Lbl:new( 50, 120+y_offset, "Export MP3\nRender your Podcast to a MP3 File.\n\n\nChapter Markers\nYou may take a final look at your chapter markers.\n\n\nID3 Metadata\nUse the ID3 Editor to add metadata to your podcast.\n\n\nPodcast Episode Image\nJust put a square .jpg, .jpeg or .png image with the\nname 'cover.xyz' OR with the same name as your\nproject file (.RPP) in the project folder.\n\n\nFinalize MP3\nHit the button and select your MP3 to finalize it\nwith metadata, chapters and episode image!", 0),
label2 = GUI.Lbl:new( 30, 120+y_offset, "1.\n\n\n\n2.\n\n\n\n3.\n\n\n\n4.\n\n\n\n\n\n5.", 0),
label3 = GUI.Lbl:new( 30, 70+y_offset, "Follow these simple steps:", 0),
export = GUI.Btn:new( 430, 120+y_offset, 190, 40, "Export MP3", runcommand, "_Ultraschall_Render_Check"),
diff --git a/Scripts/ultraschall_gui_lib.lua b/Scripts/ultraschall_gui_lib.lua
index 01c4608c..d0223951 100644
--- a/Scripts/ultraschall_gui_lib.lua
+++ b/Scripts/ultraschall_gui_lib.lua
@@ -1620,11 +1620,16 @@ function Btn:draw()
GUI.color("txt")
GUI.font(4)
+ if reaper.GetOS() == "OSX64" then
+ btn_offset = 3
+ else
+ btn_offset = 1
+ end
local str_w, str_h = gfx.measurestr(self.caption)
gfx.x = x + 1 * state + ((w - str_w) / 2) - 2
gfx.y = y + 1 * state + ((h - str_h) / 2) - 2
- gfx.y = gfx.y + 3
+ gfx.y = gfx.y + btn_offset
gfx.drawstr(self.caption)
end
diff --git a/Scripts/ultraschall_open_project_folder.lua b/Scripts/ultraschall_open_project_folder.lua
index eb017bc1..d6063ca6 100644
--- a/Scripts/ultraschall_open_project_folder.lua
+++ b/Scripts/ultraschall_open_project_folder.lua
@@ -6,7 +6,7 @@
* Author URI: http://extremraym.com
* Repository: GitHub > X-Raym > EEL Scripts for Cockos REAPER
* Repository URI: https://github.com/X-Raym/REAPER-EEL-Scripts
- * File URl:
+ * File URl:
* Licence: GPL v3
* Forum Thread: Scripts: Various
* Forum Thread URI: http://forum.cockos.com/showthread.php?p=1622146
@@ -21,7 +21,7 @@
+ Initial Release
--]]
-
+
--------------------------------------------------------
-- DEBUG
-- -----
@@ -69,19 +69,19 @@ function IsProjectSaved()
retval, project_path_name = reaper.EnumProjects(-1, "")
if project_path_name ~= "" then
-
+
dir = GetPath(project_path_name, separator)
--msg(name)
name = string.sub(project_path_name, string.len(dir) + 1)
name = string.sub(name, 1, -5)
name = name:gsub(dir, "")
-
+
--msg(name)
project_saved = true
return project_saved
else
- display = reaper.ShowMessageBox("You need to save the project to execute this script.", "File Export", 1)
+ display = reaper.ShowMessageBox("You need to save the project to execute this script.", "Project Folder", 1)
if display == 1 then
diff --git a/UserPlugins/ultraschall_api.lua b/UserPlugins/ultraschall_api.lua
index 93893003..e6cd2369 100644
--- a/UserPlugins/ultraschall_api.lua
+++ b/UserPlugins/ultraschall_api.lua
@@ -61,9 +61,9 @@ end
if reaper.GetOS() == "Win32" or reaper.GetOS() == "Win64" then
ultraschall.Separator = "\\"
- else
+else
ultraschall.Separator = "/"
- end
+end
local info = debug.getinfo(1,'S');
--ultraschall.Script_Path = info.source:match[[^@?(.*[\/])[^\/]-$]]
diff --git a/UserPlugins/ultraschall_api/Changelog-Api.txt b/UserPlugins/ultraschall_api/Changelog-Api.txt
index 27a956cd..46a420ec 100644
--- a/UserPlugins/ultraschall_api/Changelog-Api.txt
+++ b/UserPlugins/ultraschall_api/Changelog-Api.txt
@@ -1,6 +1,8 @@
- For 4.00beta2.78
+ For 4.01betas:
+ RunCommand und andere US-LegacyCommands funzen net mehr...
- TODO!! Defer - - make defer-loops protected, so they can't be influenced from the outside, neither changed or stopped.
+ which means: no stopping-feature available using StopDefer-function in such cases
- registering of defer-using-running scripts into an extstate ultraschall->running_script_instance-> for monitoring purposes
- need setting-functions
- Defer -> identifier management must be more stable, without possible nameconflicts
@@ -28,16 +30,12 @@
- TODO!! Event Manager:
- Funktionen anstelle von Actions sollten auch hinzufügbar sein. Diese haben auch Zugriff auf den UserSpace
des Events.
- - DOcEngine: Retval und Parms-parsefkts haben Probleme, wenn zwischen parameter/retvalname und - kein Leerzeichen ist.
- "parametername- Text"
- TODO!! XML-versions of the USDOCML-docsfiles
- TODO!! Text to XML-compatible characters-function, for < > & etc
- TODO!! in the eventmanager-script:
- CheckEveryXSeconds: mach Wert 0 zu permanent und negative Werte zu EveryXDeferCycle-Werten für mehr Kontrolle darüber(letzteres Kür)
- CheckForXSeconds: mach Wert 0 zu dauerhaft und evtl negative Werte für Anzahl Defer-Cycles, die gecheckt werden soll(letzteres Kür)
- - TODO!! index of config-vars is only one level
- - TODO!! concepts-documentation, autoupdate the download-link on Introduction_002_How_to_Use-chapter
- TODO!! XML-generator has problems with spaces and & in filenames; use this to overcome this:
tempfile=files_array[i]
tempfile2=string.gsub(tempfile, "&", "%%26")
@@ -46,7 +44,6 @@
- TODO!! reaper.GetLastTouchedFX, reaper.GetFocusedFX - high word/low word-management is too difficult, make new functions of them
- TODO!! - Get/SetProject-functions for
-
StateChunks:
- SetProject_AutomationItemStateChunk - gets an automation-item from a project/ProjectStateChunk
- SetProject_ProjectBay - gets the projectbay from a project/ProjectStateChunk
@@ -73,7 +70,7 @@
- SetProject_CountMasterHWOuts
- SetProject_MasterHWOut
- SetProject_MasterVolume -
- - SetProject_MasterPanMode -
+ - SetProject_MasterPanMode -
- SetProject_MasterWidth -
- SetProject_MasterGroupFlagsState -
- SetProject_MasterGroupFlagsHighState -
@@ -98,8 +95,6 @@
Delete the temp-rendered-files
close the projects and return the filename
-
- For 4.00beta2.8:
- TODO!! MB and GetUserInputs not working on Mac due unknown bug.
Can't find ID of the buttons anymore. Changes in Reaper in recent versions?
- TODO!! GetUserInputs - count doesn't match, if fewer inputboxes are filled than do exist.
@@ -122,8 +117,6 @@
Regarding default color-values, IIRC they are stored in the .ReaperTheme-files, with the currently used stored in reaper.ini as well.
So how would one reset color palette in reaper without losing theme config otherwise? just colors.
needs more research
- TODO!! Localize: can we detect, which language-file is currently installed and which language it holds, to decide, which language to use?
- Nope...needs more research
TODO!! GetTrackPanLaw_Boost(tracknumber, sendidx, setstate)
setstate=true -> don't insert it
setstate=false -> insert it AFTER the AUXRECV with idx "sendidx"
@@ -171,9 +164,6 @@
TODO!! - Get/SetProjectBay-functions
TODO!! - Envelope-StateChunk-functions
- For 4.00Beta 2.9:
-
-
TODO!! - Mix-Snapshots, who store/retrieve the current/a former mix
TODO!! SaveProjectAs(ReaProject project, newfilename, relative_sourcefilenames, ProjectStateChunk)
@@ -196,19 +186,85 @@
TODO!! buggy function
the line "reaper.JS_WindowMessage_Send(Textfield, "WM_SETFONT", styles[style] ,0,0,0)" seems to be the problem due WM_SETFONT
-
-Additions:
+
+#### readded from earlier development-builds
- Developer: SetReaScriptConsole_FontStyle - sets the style of the font in the ReaConsole
- LiceCap: SetLiceCapExe - sets the LiceCap-executable, which shall be used by Reaper
- LiceCap: SetupLiceCap - sets up the LiceCap-executable settings of the currently chosen LiceCap-executable in Reaper
- ProjectManagement: SaveProjectAs - saves the current project under a new filename
- - RenderManagement: GetProject_RenderOutputPath - gets the render-output-
+ - RenderManagement: GetProject_RenderOutputPath - gets the render-output-path
- RenderManagement: ResolveRenderPattern - resolves the render-pattern into its actual filename
-
+ - Subtitles: ReadSubtitles\_VTT - imports a webvtt-subtitlefile
## Ultraschall Framework - Changelog
+### 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 if 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
@@ -494,7 +550,7 @@ My apologies for any inconvenience.... :/**
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
+#### 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!)
@@ -505,7 +561,7 @@ My apologies for any inconvenience.... :/**
- 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
+#### 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
@@ -2433,6 +2489,7 @@ Has now 700 functions, with about 250 new ones!
---
### 4.00 Beta2.1: - "Ich und der Rock - Renft" - 30th of August
+
#### New features in 4.00beta2.1
- mostly bugfixes
@@ -2468,6 +2525,7 @@ Has now 700 functions, with about 250 new ones!
---
### 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
@@ -2502,6 +2560,7 @@ Has now 700 functions, with about 250 new ones!
---
### 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
diff --git a/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-apidocs.USDocML b/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-apidocs.USDocML
index dd44a229..d185ac80 100644
--- a/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-apidocs.USDocML
+++ b/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-apidocs.USDocML
@@ -4,7 +4,7 @@
1.Introduction
1 Introduction to ReaScript
- ## ReaScript API as of Reaper 5.983
+ ## ReaScript API as of Reaper 6.01
REAPER provides an API (advanced programming interface) for users and third parties to create extended functionality. API functions can be called from a compiled C/C++ dynamic library that is loaded by REAPER, or at run-time by user-created ReaScripts that can be written using REAPER's own editor.
@@ -3328,6 +3328,37 @@
+
+ DockGetPosition
+ DockGetPosition
+ int DockGetPosition(int whichDock)
+ int DockGetPosition(int whichDock)
+ integer reaper.DockGetPosition(integer whichDock)
+ Int RPR_DockGetPosition(Int whichDock)
+
+ Reaper=6.02
+ Lua=5.3
+
+
+ returns the position of docker whichDock
+
+
+ integer whichDock - the docker, whose position you want to get
+ - -1, not found
+ - 0, bottom
+ - 1, left
+ - 2, top
+ - 3, right
+ - 4, floating
+
+ ReaperApiFunctionsReference
+
+
+ User Interface
+
+
+
+
DockIsChildOfDock
DockIsChildOfDock
@@ -3973,11 +4004,18 @@
integer retval, optional number value, optional number dVdS, optional number ddVdS, optional number dddVdS = reaper.Envelope_Evaluate(TrackEnvelope envelope, number time, number samplerate, integer samplesRequested)
(Int retval, TrackEnvelope envelope, Float time, Float samplerate, Int samplesRequested, Float valueOutOptional, Float dVdSOutOptional, Float ddVdSOutOptional, Float dddVdSOutOptional) = RPR_Envelope_Evaluate(envelope, time, samplerate, samplesRequested, valueOutOptional, dVdSOutOptional, ddVdSOutOptional, dddVdSOutOptional)
- Reaper=5.62
+ Reaper=5.987
Lua=5.3
- Get the effective envelope value at a given time position. samplesRequested is how long the caller expects until the next call to Envelope_Evaluate (often, the buffer block size). The return value is how many samples beyond that time position that the returned values are valid.
+ Get the effective envelope value at a given time position.
+
+ samplesRequested is how long the caller expects until the next call to Envelope_Evaluate (often, the buffer block size).
+
+ The return value is how many samples beyond that time position that the returned values are valid.
+
+ dVdS is the change in value per sample (first derivative), ddVdS is the second derivative, dddVdS is the third derivative.
+
See [GetEnvelopeScalingMode](#GetEnvelopeScalingMode).
@@ -5942,7 +5980,7 @@
number retval = reaper.GetMediaItemInfo_Value(MediaItem item, string parmname)
Float RPR_GetMediaItemInfo_Value(MediaItem item, String parmname)
- Reaper=5.95
+ Reaper=6.01
Lua=5.3
@@ -5954,35 +5992,34 @@
MediaItem item - the MediaItem, whose value you want to have
string parmname - the parametername, whose value you want to have:
- - B_MUTE : bool * to muted state
- - B_LOOPSRC : bool * to loop source
- - B_ALLTAKESPLAY : bool * to all takes play
- - B_UISEL : bool * to ui selected
- - C_BEATATTACHMODE : char * to one char of beat attached mode,
- - -1=def, 0=time, 1=allbeats, 2=beatsosonly
- - C_LOCK : char * to one char of lock flags (&1 is locked, currently)
- - D_VOL : double * of item volume (volume bar)
- - D_POSITION : double * of item position (seconds)
- - D_LENGTH : double * of item length (seconds)
- - D_SNAPOFFSET : double * of item snap offset (seconds)
- - D_FADEINLEN : double * of item fade in length (manual, seconds)
- - D_FADEOUTLEN : double * of item fade out length (manual, seconds)
- - D_FADEINDIR : double * of item fade in curve [-1; 1]
- - D_FADEOUTDIR : double * of item fade out curve [-1; 1]
- - D_FADEINLEN_AUTO : double * of item autofade in length (seconds, -1 for no autofade set)
- - D_FADEOUTLEN_AUTO : double * of item autofade out length (seconds, -1 for no autofade set)
- - C_FADEINSHAPE : int * to fadein shape, 0=linear, ...
- - C_FADEOUTSHAPE : int * to fadeout shape
- - I_GROUPID : int * to group ID (0 = no group)
- - I_LASTY : int * to last y position in track (readonly)
- - I_LASTH : int * to last height in track (readonly)
- - I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000).
- - If you do not |0x100000, then it will not be used (though will store the color anyway).
- - I_CURTAKE : int * to active take
- - IP_ITEMNUMBER : int, item number within the track (read-only, returns the item number directly)
- - F_FREEMODE_Y : float * to free mode y position (0..1)
- - F_FREEMODE_H : float * to free mode height (0..1)
- - P_TRACK : MediaTrack * (read only)
+ - B_MUTE : bool * : muted
+ - B_LOOPSRC : bool * : loop source
+ - B_ALLTAKESPLAY : bool * : all takes play
+ - B_UISEL : bool * : selected in arrange view
+ - C_BEATATTACHMODE : char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
+ - C_AUTOSTRETCH: : char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
+ - C_LOCK : char * : locked, &1=locked
+ - D_VOL : double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
+ - D_POSITION : double * : item position in seconds
+ - D_LENGTH : double * : item length in seconds
+ - D_SNAPOFFSET : double * : item snap offset in seconds
+ - D_FADEINLEN : double * : item manual fadein length in seconds
+ - D_FADEOUTLEN : double * : item manual fadeout length in seconds
+ - D_FADEINDIR : double * : item fadein curvature, -1..1
+ - D_FADEOUTDIR : double * : item fadeout curvature, -1..1
+ - D_FADEINLEN_AUTO : double * : item auto-fadein length in seconds, -1=no auto-fadein
+ - D_FADEOUTLEN_AUTO : double * : item auto-fadeout length in seconds, -1=no auto-fadeout
+ - C_FADEINSHAPE : int * : fadein shape, 0..6, 0=linear
+ - C_FADEOUTSHAPE : int * : fadeout shape, 0..6, 0=linear
+ - I_GROUPID : int * : group ID, 0=no group
+ - I_LASTY : int * : Y-position of track in pixels (read-only)
+ - I_LASTH : int * : height in track in pixels (read-only)
+ - I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
+ - I_CURTAKE : int * : active take number
+ - IP_ITEMNUMBER : int, item number on this track (read-only, returns the item number directly)
+ - F_FREEMODE_Y : float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
+ - F_FREEMODE_H : float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
+ - P_TRACK : MediaTrack * (read-only)
ReaperApiFunctionsReference
@@ -6203,22 +6240,22 @@
number retval = reaper.GetMediaItemTakeInfo_Value(MediaItem_Take take, string parmname)
Float RPR_GetMediaItemTakeInfo_Value(MediaItem_Take take, String parmname)
- Reaper=5.976
+ Reaper=6.01
Lua=5.3
Get media item take numerical-value attributes.
- D_STARTOFFS : double *, start offset in take of item
- D_VOL : double *, take volume (negative if take polarity is flipped)
- D_PAN : double *, take pan
- D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc)
- D_PLAYRATE : double *, take playrate (1.0=normal, 2.0=doublespeed, etc)
- D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc)
- B_PPITCH, bool *, preserve pitch when changing rate
- I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r)
- I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter
- I_CUSTOMCOLOR : int *, custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
- IP_TAKENUMBER : int, take number within the item (read-only, returns the take number directly)
+ D_STARTOFFS : double * : start offset in source media, in seconds
+ D_VOL : double * : take volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc, negative if take polarity is flipped
+ D_PAN : double * : take pan, -1..1
+ D_PANLAW : double * : take pan law, -1=default, 0.5=-6dB, 1.0=+0dB, etc
+ D_PLAYRATE : double * : take playback rate, 0.5=half speed, 1=normal, 2=double speed, etc
+ D_PITCH : double * : take pitch adjustment in semitones, -12=one octave down, 0=normal, +12=one octave up, etc
+ B_PPITCH : bool * : preserve pitch when changing playback rate
+ I_CHANMODE : int * : channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right
+ I_PITCHMODE : int * : pitch shifter mode, -1=projext default, otherwise high 2 bytes=shifter, low 2 bytes=parameter
+ I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
+ IP_TAKENUMBER : int : take number (read-only, returns the take number directly)
P_TRACK : pointer to MediaTrack (read-only)
P_ITEM : pointer to MediaItem (read-only)
P_SOURCE : PCM_source *. Note that if setting this, you should first retrieve the old source, set the new, THEN delete the old.
@@ -6444,59 +6481,65 @@
number retval = reaper.GetMediaTrackInfo_Value(MediaTrack tr, string parmname)
Float RPR_GetMediaTrackInfo_Value(MediaTrack tr, String parmname)
- Reaper=5.982
+ Reaper=6.01
Lua=5.3
Get track numerical-value attributes.
- B_MUTE : bool * : mute flag
- B_PHASE : bool * : invert track phase
- IP_TRACKNUMBER : int : track number (returns zero if not found, -1 for master track) (read-only, returns the int directly)
- I_SOLO : int * : 0=not soloed, 1=solo, 2=soloed in place. also: 5=solo-safe solo, 6=solo-safe soloed in place
- I_FXEN : int * : 0=fx bypassed, nonzero = fx active
- I_RECARM : int * : 0=not record armed, 1=record armed
- I_RECINPUT : int * : record input. <0 = no input, 0..n = mono hardware input, 512+n = rearoute input, 1024 set for stereo input pair. 4096 set for MIDI input, if set, then low 6 bits represent channel (0=all, 1-16=only chan), then next 6 bits represent physical input (63=all, 62=VKB)
- I_RECMODE : int * : record mode (0=input, 1=stereo out, 2=none, 3=stereo out w/latcomp, 4=midi output, 5=mono out, 6=mono out w/ lat comp, 7=midi overdub, 8=midi replace
- I_RECMON : int * : record monitor (0=off, 1=normal, 2=not when playing (tapestyle))
- I_RECMONITEMS : int * : monitor items while recording (0=off, 1=on)
- I_AUTOMODE : int * : track automation mode (0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
- I_NCHAN : int * : number of track channels, must be 2-64, even
- I_SELECTED : int * : track selected? 0 or 1
- I_WNDH : int * : current TCP window height including envelopes (Read-only)
- I_TCPH : int * : current TCP window height not including envelopes (Read-only)
- I_TCPY : int * : current TCP window Y position relative to top of arrange view (Read-only)
- I_FOLDERDEPTH : int * : folder depth change (0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
- I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children
- I_MIDIHWOUT : int * : track midi hardware output index (>0 for disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31))
- I_PERFFLAGS : int * : track perf flags (&1=no media buffering, &2=no anticipative FX)
- I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
- I_HEIGHTOVERRIDE : int * : custom height override for TCP window. 0 for none, otherwise size in pixels
+ B_MUTE : bool * : muted
+ B_PHASE : bool * : track phase inverted
+ IP_TRACKNUMBER : int : track number 1-based, 0=not found, -1=master track (read-only, returns the int directly)
+ I_SOLO : int * : soloed, 0=not soloed, 1=soloed, 2=soloed in place, 5=safe soloed, 6=safe soloed in place
+ I_FXEN : int * : fx enabled, 0=bypassed, !0=fx active
+ I_RECARM : int * : record armed, 0=not record armed, 1=record armed
+ I_RECINPUT : int * : record input, <0=no input, 0..n=mono hardware input, 512+n=rearoute input, &1024=stereo input pair. &4096=MIDI input, if set then low 5 bits represent channel (0=all, 1-16=only chan), next 6 bits represent physical input (63=all, 62=VKB)
+ I_RECMODE : int * : record mode, 0=input, 1=stereo out, 2=none, 3=stereo out w/latency compensation, 4=midi output, 5=mono out, 6=mono out w/ latency compensation, 7=midi overdub, 8=midi replace
+ I_RECMON : int * : record monitoring, 0=off, 1=normal, 2=not when playing (tape style)
+ I_RECMONITEMS : int * : monitor items while recording, 0=off, 1=on
+ I_AUTOMODE : int * : track automation mode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch
+ I_NCHAN : int * : number of track channels, 2-64, even numbers only
+ I_SELECTED : int * : track selected, 0=unselected, 1=selected
+ I_WNDH : int * : current TCP window height in pixels including envelopes (read-only)
+ I_TCPH : int * : current TCP window height in pixels not including envelopes (read-only)
+ I_TCPY : int * : current TCP window Y-position in pixels relative to top of arrange view (read-only)
+ I_MCPX : int * : current MCP X-position in pixels relative to mixer container
+ I_MCPY : int * : current MCP Y-position in pixels relative to mixer container
+ I_MCPW : int * : current MCP width in pixels
+ I_MCPH : int * : current MCP height in pixels
+ I_FOLDERDEPTH : int * : folder depth change, 0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
+ I_FOLDERCOMPACT : int * : folder compacted state (only valid on folders), 0=normal, 1=small, 2=tiny children
+ I_MIDIHWOUT : int * : track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)
+ I_PERFFLAGS : int * : track performance flags, &1=no media buffering, &2=no anticipative FX
+ I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
+ I_HEIGHTOVERRIDE : int * : custom height override for TCP window, 0 for none, otherwise size in pixels
B_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking)
- D_VOL : double * : trim volume of track (0 (-inf)..1 (+0dB) .. 2 (+6dB) etc ..)
- D_PAN : double * : trim pan of track (-1..1)
- D_WIDTH : double * : width of track (-1..1)
- D_DUALPANL : double * : dualpan position 1 (-1..1), only if I_PANMODE==6
- D_DUALPANR : double * : dualpan position 2 (-1..1), only if I_PANMODE==6
- I_PANMODE : int * : pan mode (0 = classic 3.x, 3=new balance, 5=stereo pan, 6 = dual pan)
- D_PANLAW : double * : pan law of track. >0 for project default, 1.0 for +0dB, etc
- P_ENV:<envchunkname : read only, returns TrackEnvelope *. To get a specific TrackEnvelope, call with :<VOLENV, :<PANENV, etc appended to P_ENV.
- B_SHOWINMIXER : bool * : show track panel in mixer -- do not use on master
- B_SHOWINTCP : bool * : show track panel in tcp -- do not use on master
+ D_VOL : double * : trim volume of track, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
+ D_PAN : double * : trim pan of track, -1..1
+ D_WIDTH : double * : width of track, -1..1
+ D_DUALPANL : double * : dualpan position 1, -1..1, only if I_PANMODE==6
+ D_DUALPANR : double * : dualpan position 2, -1..1, only if I_PANMODE==6
+ I_PANMODE : int * : pan mode, 0=classic 3.x, 3=new balance, 5=stereo pan, 6=dual pan
+ D_PANLAW : double * : pan law of track, <0=project default, 1=+0dB, etc
+ P_ENV:<envchunkname : TrackEnvelope*, read only. Call with :<VOLENV, :<PANENV, etc appended.
+ B_SHOWINMIXER : bool * : track control panel visible in mixer (do not use on master track)
+ B_SHOWINTCP : bool * : track control panel visible in arrange view (do not use on master track)
B_MAINSEND : bool * : track sends audio to parent
- C_MAINSEND_OFFS : char * : track send to parent channel offset
- B_FREEMODE : bool * : track free-mode enabled (requires UpdateTimeline() after changing etc)
- C_BEATATTACHMODE : char * : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsposonly
- F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0.0=smallest allowed, 1=max allowed)
- F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=min allow, 1=max)
+ C_MAINSEND_OFFS : char * : channel offset of track send to parent
+ B_FREEMODE : bool * : track free item positioning enabled (call UpdateTimeline() after changing)
+ C_BEATATTACHMODE : char * : track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only)
+ F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed)
+ F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=minimum allowed, 1=maximum allowed)
+ I_PLAY_OFFSET_FLAG : int * : track playback offset state, &1=bypassed, &2=offset value is measured in samples (otherwise measured in seconds)
+ D_PLAY_OFFSET : double * : track playback offset, units depend on I_PLAY_OFFSET_FLAG
P_PARTRACK : MediaTrack * : parent track (read-only)
P_PROJECT : ReaProject * : parent project (read-only)
- number retval -
+ number retval - the value of the requested attribute
- MediaTrack tr -
- string parmname -
+ MediaTrack tr - the MediaTrack-object, whose attribute you want to request
+ string parmname - the attribute, that you want to request, like D_VOL or B_SHOWINMIXER etc
ReaperApiFunctionsReference
@@ -7573,7 +7616,7 @@
GetSet_ArrangeView2
void GetSet_ArrangeView2(ReaProject* proj, bool isSet, int screen_x_start, int screen_x_end, double* start_timeOut, double* end_timeOut)
GetSet_ArrangeView2(ReaProject proj, bool isSet, int screen_x_start, int screen_x_end, &start_time, &end_time)
- number start_time retval, number end_time = reaper.GetSet_ArrangeView2(ReaProject proj, boolean isSet, integer screen_x_start, integer screen_x_end)
+ number start_time retval, number end_time = reaper.GetSet_ArrangeView2(ReaProject proj, boolean isSet, integer screen_x_start, integer screen_x_end, number start_time, number end_time)
(ReaProject proj, Boolean isSet, Int screen_x_start, Int screen_x_end, Float start_timeOut, Float end_timeOut) = RPR_GetSet_ArrangeView2(proj, isSet, screen_x_start, screen_x_end, start_timeOut, end_timeOut)
Reaper=5.62
@@ -7583,14 +7626,16 @@
Gets or sets the arrange view start/end time for screen coordinates. use screen_x_start=screen_x_end=0 to use the full arrange view's start/end time
- start_time retval -
- end_time -
+ number start_time retval -
+ number end_time -
- proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by [EnumProjects](#EnumProjects)
- isSet -
- screen_x_start -
- screen_x_end -
+ ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by [EnumProjects](#EnumProjects)
+ boolean isSet -
+ integer screen_x_start -
+ integer screen_x_end -
+ number start_time -
+ number end_time -
ReaperApiFunctionsReference
@@ -7675,21 +7720,21 @@
number = reaper.GetSetAutomationItemInfo(TrackEnvelope env, integer autoitem_idx, string desc, number value, boolean is_set)
Float RPR_GetSetAutomationItemInfo(TrackEnvelope env, Int autoitem_idx, String desc, Float value, Boolean is_set)
- Reaper=5.975
+ Reaper=6.01
Lua=5.3
Get or set automation item information. autoitem_idx=0 for the first automation item on an envelope, 1 for the second item, etc. desc can be any of the following:
- D_POOL_ID: double *, automation item pool ID (as an integer); edits are propagated to all other automation items that share a pool ID
- D_POSITION: double *, automation item timeline position in seconds
- D_LENGTH: double *, automation item length in seconds
- D_STARTOFFS: double *, automation item start offset in seconds
- D_PLAYRATE: double *, automation item playback rate
- D_BASELINE: double *, automation item baseline value in the range [0,1]
- D_AMPLITUDE: double *, automation item amplitude in the range [-1,1]
- D_LOOPSRC: double *, nonzero if the automation item contents are looped
- D_UISEL: double *, nonzero if the automation item is selected in the arrange view
- D_POOL_QNLEN : double *, automation item pooled source length in quarter notes (setting will affect all pooled instances)
+ D_POOL_ID : double * : automation item pool ID (as an integer); edits are propagated to all other automation items that share a pool ID
+ D_POSITION : double * : automation item timeline position in seconds
+ D_LENGTH : double * : automation item length in seconds
+ D_STARTOFFS : double * : automation item start offset in seconds
+ D_PLAYRATE : double * : automation item playback rate
+ D_BASELINE : double * : automation item baseline value in the range [0,1]
+ D_AMPLITUDE : double * : automation item amplitude in the range [-1,1]
+ D_LOOPSRC : double * : nonzero if the automation item contents are looped
+ D_UISEL : double * : nonzero if the automation item is selected in the arrange view
+ D_POOL_QNLEN : double * : automation item pooled source length in quarter notes (setting will affect all pooled instances)
number -
@@ -7822,7 +7867,7 @@
deprecated -- see [SetEnvelopeStateChunk](#SetEnvelopeStateChunk), [GetEnvelopeStateChunk](#GetEnvelopeStateChunk)
- retval -
+ retval -
str -
@@ -7853,7 +7898,7 @@
deprecated -- see [SetItemStateChunk](#SetItemStateChunk), [GetItemStateChunk](#GetItemStateChunk)
- retval -
+ retval -
str -
@@ -7882,7 +7927,7 @@
deprecated -- see [SetItemStateChunk](#SetItemStateChunk), [GetItemStateChunk](#GetItemStateChunk)
- retval -
+ retval -
str -
@@ -8076,24 +8121,24 @@
number value = reaper.GetSetProjectInfo(ReaProject project, string desc, number value, boolean is_set)
Float RPR_GetSetProjectInfo(ReaProject project, String desc, Float value, Boolean is_set)
- Reaper=5.975
+ Reaper=6.01
Lua=5.3
Get or set project information.
- RENDER_SETTINGS: &(1|2)=0:master mix, &1=stems+master mix, &2=stems only, &4=multichannel tracks to multichannel files, &8=use render matrix, &16=tracks with only mono media to mono files, &32=selected media items; &64=selected media items via master
+ RENDER_SETTINGS : &(1|2)=0:master mix, &1=stems+master mix, &2=stems only, &4=multichannel tracks to multichannel files, &8=use render matrix, &16=tracks with only mono media to mono files, &32=selected media items, &64=selected media items via master
RENDER_BOUNDSFLAG : 0=custom time bounds, 1=entire project, 2=time selection, 3=all project regions, 4=selected media items, 5=selected project regions
- RENDER_CHANNELS: number of channels in rendered file
- RENDER_SRATE: sample rate of rendered file (or 0 for project sample rate)
+ RENDER_CHANNELS : number of channels in rendered file
+ RENDER_SRATE : sample rate of rendered file (or 0 for project sample rate)
RENDER_STARTPOS : render start time when RENDER_BOUNDSFLAG=0
RENDER_ENDPOS : render end time when RENDER_BOUNDSFLAG=0
- RENDER_TAILFLAG: apply render tail setting when rendering: &1=custom time bounds, &2=entire project, &4=time selection, &8=all project regions, &16=selected media items, &32=selected project regions
- RENDER_TAILMS: tail length in ms to render (only used if RENDER_BOUNDSFLAG and RENDER_TAILFLAG are set)
- RENDER_ADDTOPROJ: 1=add rendered files to project
- RENDER_DITHER: &1=dither, &2=noise shaping, &4=dither stems, &8=noise shaping on stems
- PROJECT_SRATE: samplerate (ignored unless PROJECT_SRATE_USE set)
- PROJECT_SRATE_USE: set to 1 if project samplerate is used
+ RENDER_TAILFLAG : apply render tail setting when rendering: &1=custom time bounds, &2=entire project, &4=time selection, &8=all project regions, &16=selected media items, &32=selected project regions
+ RENDER_TAILMS : tail length in ms to render (only used if RENDER_BOUNDSFLAG and RENDER_TAILFLAG are set)
+ RENDER_ADDTOPROJ : 1=add rendered files to project
+ RENDER_DITHER : &1=dither, &2=noise shaping, &4=dither stems, &8=noise shaping on stems
+ PROJECT_SRATE : samplerate (ignored unless PROJECT_SRATE_USE set)
+ PROJECT_SRATE_USE : set to 1 if project samplerate is used
number value -
@@ -8125,7 +8170,8 @@
Get or set project information.
-
+
+ MARKER\_GUID:X : get the GUID (unique ID) of the marker or region with index X, where X is the index passed to EnumProjectMarkers, not necessarily the displayed number
RECORD\_PATH: recording directory -- may be blank or a relative path, to get the effective path see [GetProjectPathEx](#GetProjectPathEx)
RENDER\_FILE: render directory
RENDER\_PATTERN: render file name (may contain wildcards)
@@ -8315,7 +8361,7 @@
deprecated -- see [SetTrackStateChunk](#SetTrackStateChunk), [GetTrackStateChunk](#GetTrackStateChunk)
- retval -
+ retval -
str -
@@ -8344,7 +8390,7 @@
deprecated -- see [SetTrackStateChunk](#SetTrackStateChunk), [GetTrackStateChunk](#GetTrackStateChunk)
- retval -
+ retval -
str -
@@ -8549,7 +8595,7 @@
If position/source position are used to find marker position, their values are not updated.
- retval -
+ retval -
pos -
srcpos -
@@ -8609,7 +8655,7 @@
Get information about a specific FX parameter knob (see [CountTCPFXParms](#CountTCPFXParms)).
- retval -
+ retval -
fxindex -
parmidx -
@@ -8641,7 +8687,7 @@
finds the playrate and target length to insert this item stretched to a round power-of-2 number of bars, between 1/8 and 256
- retval -
+ retval -
rate -
targetlen -
@@ -8674,7 +8720,7 @@
Get information about a tempo/time signature marker. See [CountTempoTimeSigMarkers](#CountTempoTimeSigMarkers), [SetTempoTimeSigMarker](#SetTempoTimeSigMarker), [AddTempoTimeSigMarker](#AddTempoTimeSigMarker), [DeleteTempoTimeSigMarker](#DeleteTempoTimeSigMarker).
- retval -
+ retval -
timepos -
measurepos -
beatpos -
@@ -9335,7 +9381,7 @@
See [GetTrackSendUIMute](#GetTrackSendUIMute).
- retval -
+ retval -
mute -
@@ -9365,7 +9411,7 @@
See [GetTrackSendUIVolPan](#GetTrackSendUIVolPan).
- retval -
+ retval -
volume -
pan -
@@ -9475,7 +9521,7 @@
send\_idx>=0 for hw outputs, >=nb\_of\_hw\_outputs for sends. See [GetTrackReceiveUIMute](#GetTrackReceiveUIMute).
- retval -
+ retval -
mute -
@@ -9505,7 +9551,7 @@
send\_idx>=0 for hw outputs, >=nb\_of\_hw\_outputs for sends. See [GetTrackReceiveUIVolPan](#GetTrackReceiveUIVolPan).
- retval -
+ retval -
volume -
pan -
@@ -9548,7 +9594,7 @@
&1024=hide from MCP
- retval -
+ retval -
flags -
@@ -9577,7 +9623,7 @@
Gets the RPPXML state of a track, returns true if successful. Undo flag is a performance/caching hint.
- retval -
+ retval -
str -
@@ -9608,7 +9654,7 @@
- retval -
+ retval -
mute -
@@ -9637,7 +9683,7 @@
- retval -
+ retval -
pan1 -
pan2 -
panmode -
@@ -9668,7 +9714,7 @@
- retval -
+ retval -
volume -
pan -
@@ -10495,7 +10541,7 @@
enumerates installed devices, returns GUID as a string
- retval -
+ retval -
string namestr -
@@ -10581,7 +10627,7 @@
returns button count
- retval -
+ retval -
axes -
povs -
@@ -10668,7 +10714,7 @@
Returns false if the line is entirely offscreen.
- retval -
+ retval -
pX1 -
pY1 -
pX2 -
@@ -11140,7 +11186,7 @@
Count the number of notes, CC events, and text/sysex events in a given MIDI item.
- retval -
+ retval -
notecnt -
ccevtcnt -
textsyxevtcnt -
@@ -11421,14 +11467,24 @@
boolean retval, string buf = reaper.MIDI_GetAllEvts(MediaItem_Take take, string buf)
(Boolean retval, MediaItem_Take take, String bufNeedBig, Int bufNeedBig_sz) = RPR_MIDI_GetAllEvts(take, bufNeedBig, bufNeedBig_sz)
- Reaper=5.62
+ Reaper=6.00
Lua=5.3
- Get all MIDI data. MIDI buffer is returned as a list of { int offset, char flag, int msglen, unsigned char msg\[\] }. offset: MIDI ticks from previous event, flag: &1=selected &2=muted, msglen: byte length of msg (usually 3), msg: the MIDI message. For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events. See [MIDI_SetAllEvts](#MIDI_SetAllEvts).
+ Get all MIDI data. MIDI buffer is returned as a list of { int offset, char flag, int msglen, unsigned char msg[] }.
+
+ offset: MIDI ticks from previous event
+ flag: &1=selected &2=muted
+ flag high 4 bits for CC shape: &16=linear, &32=slow start/end, &16|32=fast start, &64=fast end, &64|16=bezier
+ msg: the MIDI message.
+
+ A meta-event of type 0xF followed by 'CCBZ ' and 5 more bytes represents bezier curve data for the previous MIDI event: 1 byte for the bezier type (usually 0) and 4 bytes for the bezier tension as a float.
+ For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events.
+
+ See [MIDI_SetAllEvts](#MIDI_SetAllEvts).
- retval -
+ retval -
buf -
@@ -11457,7 +11513,7 @@
Get MIDI CC event properties.
- retval -
+ retval -
selected -
muted -
ppqpos -
@@ -11478,6 +11534,37 @@
+
+ MIDI_GetCCShape
+ MIDI_GetCCShape
+ bool MIDI_GetCCShape(MediaItem_Take* take, int ccidx, int* shapeOut, double* beztensionOut)
+ bool MIDI_GetCCShape(MediaItem_Take take, int ccidx, int &shape, &beztension)
+ boolean retval, number shape, number beztension = reaper.MIDI_GetCCShape(MediaItem_Take take, integer ccidx)
+ (Boolean retval, MediaItem_Take take, Int ccidx, Int shapeOut, Float beztensionOut) = RPR_MIDI_GetCCShape(take, ccidx, shapeOut, beztensionOut)
+
+ Reaper=6.00
+ Lua=5.3
+
+
+ Get CC shape and bezier tension. See [MIDI_GetCC](#MIDI_GetCC), [MIDI_SetCCShape](#MIDI_SetCCShape)
+
+
+ boolean retval -
+ number shape -
+ number beztension -
+
+
+ MediaItem_Take take -
+ integer ccidx -
+
+ ReaperApiFunctionsReference
+
+
+ MIDI Management
+
+
+
+
MIDI_GetEvt
MIDI_GetEvt
@@ -11493,7 +11580,7 @@
Get MIDI event properties.
- retval -
+ retval -
selected -
muted -
ppqpos -
@@ -11526,7 +11613,7 @@
Returns the most recent MIDI editor grid size for this MIDI take, in QN. Swing is between 0 and 1. Note length is 0 if it follows the grid size.
- retval -
+ retval -
swing -
noteLen -
@@ -11556,7 +11643,7 @@
Get a string that only changes when the MIDI data changes. If notesonly==true, then the string changes only when the MIDI notes change. See [MIDI_GetTrackHash](#MIDI_GetTrackHash)
- retval -
+ retval -
hash -
@@ -11586,7 +11673,7 @@
Get MIDI note properties.
- retval -
+ retval -
selected -
muted -
startppqpos -
@@ -11796,7 +11883,7 @@
Get the active scale in the media source, if any. root 0=C, 1=C#, etc. scale &0x1=root, &0x2=minor 2nd, &0x4=major 2nd, &0x8=minor 3rd, &0xF=fourth, etc.
- retval -
+ retval -
root -
scale -
name -
@@ -11820,14 +11907,16 @@
boolean retval, optional boolean selected, optional boolean muted, optional number ppqpos, optional number type, optional string msg = reaper.MIDI_GetTextSysexEvt(MediaItem_Take take, integer textsyxevtidx, optional boolean selected, optional boolean muted, optional number ppqpos, optional number type, optional string msg)
(Boolean retval, MediaItem_Take take, Int textsyxevtidx, Boolean selectedOutOptional, Boolean mutedOutOptional, Float ppqposOutOptional, Int typeOutOptional, String msgOptional, Int msgOptional_sz) = RPR_MIDI_GetTextSysexEvt(take, textsyxevtidx, selectedOutOptional, mutedOutOptional, ppqposOutOptional, typeOutOptional, msgOptional, msgOptional_sz)
- Reaper=5.62
+ Reaper=6.00
Lua=5.3
-
- Get MIDI meta-event properties. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-7:MIDI text event types.
+
+ Get MIDI meta-event properties. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event. For all other meta-messages, type is returned as -2 and msg returned as all zeroes.
+
+ See [MIDI_GetEvt](#MIDI_GetEvt).
- retval -
+ retval -
selected -
muted -
ppqpos -
@@ -11861,7 +11950,7 @@
Get a string that only changes when the MIDI data changes. If notesonly==true, then the string changes only when the MIDI notes change. See [MIDI_GetHash](#MIDI_GetHash)
- retval -
+ retval -
hash -
@@ -11987,11 +12076,11 @@
boolean = reaper.MIDI_InsertTextSysexEvt(MediaItem_Take take, boolean selected, boolean muted, number ppqpos, integer type, string bytestr)
Boolean RPR_MIDI_InsertTextSysexEvt(MediaItem_Take take, Boolean selected, Boolean muted, Float ppqpos, Int type, String bytestr, Int bytestr_sz)
- Reaper=5.62
+ Reaper=6.00
Lua=5.3
- Insert a new MIDI text or sysex event. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-7:MIDI text event types.
+ Insert a new MIDI text or sysex event. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event.
boolean -
@@ -12068,11 +12157,21 @@
boolean = reaper.MIDI_SetAllEvts(MediaItem_Take take, string buf)
Boolean RPR_MIDI_SetAllEvts(MediaItem_Take take, String buf, Int buf_sz)
- Reaper=5.62
+ Reaper=6.00
Lua=5.3
- Set all MIDI data. MIDI buffer is passed in as a list of { int offset, char flag, int msglen, unsigned char msg\[\] }. offset: MIDI ticks from previous event, flag: &1=selected &2=muted, msglen: byte length of msg (usually 3), msg: the MIDI message. For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events. See [MIDI_GetAllEvts](#MIDI_GetAllEvts).
+ Set all MIDI data. MIDI buffer is passed in as a list of { int offset, char flag, int msglen, unsigned char msg[] }.
+
+ offset: MIDI ticks from previous event
+ flag: &1=selected &2=muted
+ flag high 4 bits for CC shape: &16=linear, &32=slow start/end, &16|32=fast start, &64=fast end, &64|16=bezier
+ msg: the MIDI message.
+
+ A meta-event of type 0xF followed by 'CCBZ ' and 5 more bytes represents bezier curve data for the previous MIDI event: 1 byte for the bezier type (usually 0) and 4 bytes for the bezier tension as a float.
+ For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events.
+
+ See [MIDI_GetAllEvts](#MIDI_GetAllEvts).
boolean -
@@ -12126,6 +12225,38 @@
+
+ MIDI_SetCCShape
+ MIDI_SetCCShape
+ bool MIDI_SetCCShape(MediaItem_Take* take, int ccidx, int shape, double beztension, const bool* noSortInOptional)
+ bool MIDI_SetCCShape(MediaItem_Take take, int ccidx, int shape, beztension, optional bool noSortIn)
+ boolean reaper.MIDI_SetCCShape(MediaItem_Take take, integer ccidx, integer shape, number beztension, optional boolean noSortIn)
+ Boolean RPR_MIDI_SetCCShape(MediaItem_Take take, Int ccidx, Int shape, Float beztension, const bool noSortInOptional)
+
+ Reaper=6.00
+ Lua=5.3
+
+
+ Set CC shape and bezier tension. set noSort if setting multiple events, then call MIDI_Sort when done. See [MIDI_SetCC](#MIDI_SetCC), [MIDI_GetCCShape](#MIDI_GetCCShape)
+
+
+ boolean retval -
+
+
+ MediaItem_Take take -
+ integer ccidx -
+ integer shape -
+ number beztension -
+ optional boolean noSortIn -
+
+ ReaperApiFunctionsReference
+
+
+ MIDI Management
+
+
+
+
MIDI_SetEvt
MIDI_SetEvt
@@ -12235,11 +12366,11 @@
boolean = reaper.MIDI_SetTextSysexEvt(MediaItem_Take take, integer textsyxevtidx, optional boolean selectedIn, optional boolean mutedIn, optional number ppqposIn, optional number typeIn, optional string msg, optional boolean noSortIn)
Boolean RPR_MIDI_SetTextSysexEvt(MediaItem_Take take, Int textsyxevtidx, const bool selectedInOptional, const bool mutedInOptional, const double ppqposInOptional, const int typeInOptional, String msgOptional, Int msgOptional_sz, const bool noSortInOptional)
- Reaper=5.62
+ Reaper=6.00
Lua=5.3
- Set MIDI text or sysex event properties. Properties passed as NULL will not be set. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-7:MIDI text event types. set noSort if setting multiple events, then call MIDI_Sort when done.
+ Set MIDI text or sysex event properties. Properties passed as NULL will not be set. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event. set noSort if setting multiple events, then call MIDI_Sort when done.
boolean -
@@ -13404,7 +13535,7 @@
If a section/reverse block, retrieves offset/len/reverse. return true if success
- retval -
+ retval -
offs -
len -
rev -
@@ -13525,6 +13656,38 @@
helperfunctions, create, recursive, directory
+
+ reduce_open_files
+ reduce_open_files
+ int reduce_open_files(int flags)
+ int reduce_open_files(int flags)
+ integer reaper.reduce_open_files(integer flags)
+ Int RPR_reduce_open_files(Int flags)
+
+ Reaper=6.00
+ Lua=5.3
+
+
+ garbage-collects extra open files and closes them. if flags has 1 set, this is done incrementally (call this from a regular timer, if desired). if flags has 2 set, files are aggressively closed (they may need to be re-opened very soon).
+
+ returns number of files closed by this call.
+
+
+ integer - the number of closed files
+
+
+ integer flags - influences, how the garbage collection shall be
+ - &1, incrementally
+ - &2, aggressively(files need to be reopened after that, if needed)
+
+ ReaperApiFunctionsReference
+
+
+ Api-Helper-Functions
+
+ helperfunctions, reduce, open files
+
+
RefreshToolbar
RefreshToolbar
@@ -14337,37 +14500,38 @@
boolean = reaper.SetMediaItemInfo_Value(MediaItem item, string parmname, number newvalue)
Boolean RPR_SetMediaItemInfo_Value(MediaItem item, String parmname, Float newvalue)
- Reaper=5.62
+ Reaper=6.01
Lua=5.3
Set media item numerical-value attributes.
- B_MUTE : bool * to muted state
- B_LOOPSRC : bool * to loop source
- B_ALLTAKESPLAY : bool * to all takes play
- B_UISEL : bool * to ui selected
- C_BEATATTACHMODE : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsosonly
- C_LOCK : char * to one char of lock flags (&1 is locked, currently)
- D_VOL : double * of item volume (volume bar)
- D_POSITION : double * of item position (seconds)
- D_LENGTH : double * of item length (seconds)
- D_SNAPOFFSET : double * of item snap offset (seconds)
- D_FADEINLEN : double * of item fade in length (manual, seconds)
- D_FADEOUTLEN : double * of item fade out length (manual, seconds)
- D_FADEINDIR : double * of item fade in curve [-1; 1]
- D_FADEOUTDIR : double * of item fade out curve [-1; 1]
- D_FADEINLEN_AUTO : double * of item autofade in length (seconds, -1 for no autofade set)
- D_FADEOUTLEN_AUTO : double * of item autofade out length (seconds, -1 for no autofade set)
- C_FADEINSHAPE : int * to fadein shape, 0=linear, ...
- C_FADEOUTSHAPE : int * to fadeout shape
- I_GROUPID : int * to group ID (0 = no group)
- I_LASTY : int * to last y position in track (readonly)
- I_LASTH : int * to last height in track (readonly)
- I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
- I_CURTAKE : int * to active take
- IP_ITEMNUMBER : int, item number within the track (read-only, returns the item number directly)
- F_FREEMODE_Y : float * to free mode y position (0..1)
- F_FREEMODE_H : float * to free mode height (0..1)
+ B_MUTE : bool * : muted
+ B_LOOPSRC : bool * : loop source
+ B_ALLTAKESPLAY : bool * : all takes play
+ B_UISEL : bool * : selected in arrange view
+ C_BEATATTACHMODE : char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
+ C_AUTOSTRETCH: : char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
+ C_LOCK : char * : locked, &1=locked
+ D_VOL : double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
+ D_POSITION : double * : item position in seconds
+ D_LENGTH : double * : item length in seconds
+ D_SNAPOFFSET : double * : item snap offset in seconds
+ D_FADEINLEN : double * : item manual fadein length in seconds
+ D_FADEOUTLEN : double * : item manual fadeout length in seconds
+ D_FADEINDIR : double * : item fadein curvature, -1..1
+ D_FADEOUTDIR : double * : item fadeout curvature, -1..1
+ D_FADEINLEN_AUTO : double * : item auto-fadein length in seconds, -1=no auto-fadein
+ D_FADEOUTLEN_AUTO : double * : item auto-fadeout length in seconds, -1=no auto-fadeout
+ C_FADEINSHAPE : int * : fadein shape, 0..6, 0=linear
+ C_FADEOUTSHAPE : int * : fadeout shape, 0..6, 0=linear
+ I_GROUPID : int * : group ID, 0=no group
+ I_LASTY : int * : Y-position of track in pixels (read-only)
+ I_LASTH : int * : height in track in pixels (read-only)
+ I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
+ I_CURTAKE : int * : active take number
+ IP_ITEMNUMBER : int, item number on this track (read-only, returns the item number directly)
+ F_FREEMODE_Y : float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
+ F_FREEMODE_H : float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
boolean -
@@ -14510,22 +14674,22 @@
boolean = reaper.SetMediaItemTakeInfo_Value(MediaItem_Take take, string parmname, number newvalue)
Boolean RPR_SetMediaItemTakeInfo_Value(MediaItem_Take take, String parmname, Float newvalue)
- Reaper=5.976
+ Reaper=6.01
Lua=5.3
Set media item take numerical-value attributes.
- D_STARTOFFS : double *, start offset in take of item
- D_VOL : double *, take volume (negative if take polarity is flipped)
- D_PAN : double *, take pan
- D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc)
- D_PLAYRATE : double *, take playrate (1.0=normal, 2.0=doublespeed, etc)
- D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc)
- B_PPITCH, bool *, preserve pitch when changing rate
- I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r)
- I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter
- I_CUSTOMCOLOR : int *, custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
- IP_TAKENUMBER : int, take number within the item (read-only, returns the take number directly)
+ D_STARTOFFS : double * : start offset in source media, in seconds
+ D_VOL : double * : take volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc, negative if take polarity is flipped
+ D_PAN : double * : take pan, -1..1
+ D_PANLAW : double * : take pan law, -1=default, 0.5=-6dB, 1.0=+0dB, etc
+ D_PLAYRATE : double * : take playback rate, 0.5=half speed, 1=normal, 2=double speed, etc
+ D_PITCH : double * : take pitch adjustment in semitones, -12=one octave down, 0=normal, +12=one octave up, etc
+ B_PPITCH : bool * : preserve pitch when changing playback rate
+ I_CHANMODE : int * : channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right
+ I_PITCHMODE : int * : pitch shifter mode, -1=projext default, otherwise high 2 bytes=shifter, low 2 bytes=parameter
+ I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
+ IP_TAKENUMBER : int : take number (read-only, returns the take number directly)
boolean -
@@ -14551,50 +14715,56 @@
boolean = reaper.SetMediaTrackInfo_Value(MediaTrack tr, string parmname, number newvalue)
Boolean RPR_SetMediaTrackInfo_Value(MediaTrack tr, String parmname, Float newvalue)
- Reaper=5.982
+ Reaper=6.01
Lua=5.3
Set track numerical-value attributes.
- B_MUTE : bool * : mute flag
- B_PHASE : bool * : invert track phase
- IP_TRACKNUMBER : int : track number (returns zero if not found, -1 for master track) (read-only, returns the int directly)
- I_SOLO : int * : 0=not soloed, 1=solo, 2=soloed in place. also: 5=solo-safe solo, 6=solo-safe soloed in place
- I_FXEN : int * : 0=fx bypassed, nonzero = fx active
- I_RECARM : int * : 0=not record armed, 1=record armed
- I_RECINPUT : int * : record input. <0 = no input, 0..n = mono hardware input, 512+n = rearoute input, 1024 set for stereo input pair. 4096 set for MIDI input, if set, then low 6 bits represent channel (0=all, 1-16=only chan), then next 6 bits represent physical input (63=all, 62=VKB)
- I_RECMODE : int * : record mode (0=input, 1=stereo out, 2=none, 3=stereo out w/latcomp, 4=midi output, 5=mono out, 6=mono out w/ lat comp, 7=midi overdub, 8=midi replace
- I_RECMON : int * : record monitor (0=off, 1=normal, 2=not when playing (tapestyle))
- I_RECMONITEMS : int * : monitor items while recording (0=off, 1=on)
- I_AUTOMODE : int * : track automation mode (0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
- I_NCHAN : int * : number of track channels, must be 2-64, even
- I_SELECTED : int * : track selected? 0 or 1
- I_WNDH : int * : current TCP window height including envelopes (Read-only)
- I_TCPH : int * : current TCP window height not including envelopes (Read-only)
- I_TCPY : int * : current TCP window Y position relative to top of arrange view (Read-only)
- I_FOLDERDEPTH : int * : folder depth change (0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
- I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children
- I_MIDIHWOUT : int * : track midi hardware output index (>0 for disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31))
- I_PERFFLAGS : int * : track perf flags (&1=no media buffering, &2=no anticipative FX)
- I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
- I_HEIGHTOVERRIDE : int * : custom height override for TCP window. 0 for none, otherwise size in pixels
+ B_MUTE : bool * : muted
+ B_PHASE : bool * : track phase inverted
+ IP_TRACKNUMBER : int : track number 1-based, 0=not found, -1=master track (read-only, returns the int directly)
+ I_SOLO : int * : soloed, 0=not soloed, 1=soloed, 2=soloed in place, 5=safe soloed, 6=safe soloed in place
+ I_FXEN : int * : fx enabled, 0=bypassed, !0=fx active
+ I_RECARM : int * : record armed, 0=not record armed, 1=record armed
+ I_RECINPUT : int * : record input, <0=no input, 0..n=mono hardware input, 512+n=rearoute input, &1024=stereo input pair. &4096=MIDI input, if set then low 5 bits represent channel (0=all, 1-16=only chan), next 6 bits represent physical input (63=all, 62=VKB)
+ I_RECMODE : int * : record mode, 0=input, 1=stereo out, 2=none, 3=stereo out w/latency compensation, 4=midi output, 5=mono out, 6=mono out w/ latency compensation, 7=midi overdub, 8=midi replace
+ I_RECMON : int * : record monitoring, 0=off, 1=normal, 2=not when playing (tape style)
+ I_RECMONITEMS : int * : monitor items while recording, 0=off, 1=on
+ I_AUTOMODE : int * : track automation mode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch
+ I_NCHAN : int * : number of track channels, 2-64, even numbers only
+ I_SELECTED : int * : track selected, 0=unselected, 1=selected
+ I_WNDH : int * : current TCP window height in pixels including envelopes (read-only)
+ I_TCPH : int * : current TCP window height in pixels not including envelopes (read-only)
+ I_TCPY : int * : current TCP window Y-position in pixels relative to top of arrange view (read-only)
+ I_MCPX : int * : current MCP X-position in pixels relative to mixer container
+ I_MCPY : int * : current MCP Y-position in pixels relative to mixer container
+ I_MCPW : int * : current MCP width in pixels
+ I_MCPH : int * : current MCP height in pixels
+ I_FOLDERDEPTH : int * : folder depth change, 0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
+ I_FOLDERCOMPACT : int * : folder compacted state (only valid on folders), 0=normal, 1=small, 2=tiny children
+ I_MIDIHWOUT : int * : track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)
+ I_PERFFLAGS : int * : track performance flags, &1=no media buffering, &2=no anticipative FX
+ I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used, but will store the color anyway)
+ I_HEIGHTOVERRIDE : int * : custom height override for TCP window, 0 for none, otherwise size in pixels
B_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking)
- D_VOL : double * : trim volume of track (0 (-inf)..1 (+0dB) .. 2 (+6dB) etc ..)
- D_PAN : double * : trim pan of track (-1..1)
- D_WIDTH : double * : width of track (-1..1)
- D_DUALPANL : double * : dualpan position 1 (-1..1), only if I_PANMODE==6
- D_DUALPANR : double * : dualpan position 2 (-1..1), only if I_PANMODE==6
- I_PANMODE : int * : pan mode (0 = classic 3.x, 3=new balance, 5=stereo pan, 6 = dual pan)
- D_PANLAW : double * : pan law of track. >0 for project default, 1.0 for +0dB, etc
- P_ENV:<envchunkname : read only, returns TrackEnvelope *. To get a specific TrackEnvelope, call with :<VOLENV, :<PANENV, etc appended.
- B_SHOWINMIXER : bool * : show track panel in mixer -- do not use on master
- B_SHOWINTCP : bool * : show track panel in tcp -- do not use on master
+ D_VOL : double * : trim volume of track, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
+ D_PAN : double * : trim pan of track, -1..1
+ D_WIDTH : double * : width of track, -1..1
+ D_DUALPANL : double * : dualpan position 1, -1..1, only if I_PANMODE==6
+ D_DUALPANR : double * : dualpan position 2, -1..1, only if I_PANMODE==6
+ I_PANMODE : int * : pan mode, 0=classic 3.x, 3=new balance, 5=stereo pan, 6=dual pan
+ D_PANLAW : double * : pan law of track, <0=project default, 1=+0dB, etc
+ P_ENV:<envchunkname : TrackEnvelope*, read only. Call with :<VOLENV, :<PANENV, etc appended.
+ B_SHOWINMIXER : bool * : track control panel visible in mixer (do not use on master track)
+ B_SHOWINTCP : bool * : track control panel visible in arrange view (do not use on master track)
B_MAINSEND : bool * : track sends audio to parent
- C_MAINSEND_OFFS : char * : track send to parent channel offset
- B_FREEMODE : bool * : track free-mode enabled (requires UpdateTimeline() after changing etc)
- C_BEATATTACHMODE : char * : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsposonly
- F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0.0=smallest allowed, 1=max allowed)
- F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=min allow, 1=max)
+ C_MAINSEND_OFFS : char * : channel offset of track send to parent
+ B_FREEMODE : bool * : track free item positioning enabled (call UpdateTimeline() after changing)
+ C_BEATATTACHMODE : char * : track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only)
+ F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed)
+ F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=minimum allowed, 1=maximum allowed)
+ I_PLAY_OFFSET_FLAG : int * : track playback offset state, &1=bypassed, &2=offset value is measured in samples (otherwise measured in seconds)
+ D_PLAY_OFFSET : double * : track playback offset, units depend on I_PLAY_OFFSET_FLAG
boolean -
@@ -15887,7 +16057,7 @@
Note: only works with FX that support Cockos VST extensions.
- retval -
+ retval -
buf -
@@ -15919,7 +16089,7 @@
Note: only works with FX that support Cockos VST extensions.
- retval -
+ retval -
buf -
@@ -16096,7 +16266,7 @@
- retval -
+ retval -
buf -
@@ -16156,7 +16326,7 @@
- retval -
+ retval -
buf -
@@ -16186,7 +16356,7 @@
sets the number of input/output pins for FX if available, returns plug-in type or -1 on error
- retval -
+ retval -
inputPins -
outputPins -
@@ -16217,7 +16387,7 @@
gets plug-in specific named configuration value (returns true on success)
- retval -
+ retval -
buf -
@@ -16306,7 +16476,7 @@
- retval -
+ retval -
minval -
maxval -
@@ -16338,7 +16508,7 @@
- retval -
+ retval -
step -
smallstep -
largestep -
@@ -16372,7 +16542,7 @@
- retval -
+ retval -
minval -
maxval -
midval -
@@ -16405,7 +16575,7 @@
- retval -
+ retval -
buf -
@@ -16466,7 +16636,7 @@
gets the effective channel mapping bitmask for a particular pin. high32OutOptional will be set to the high 32 bits
- retval -
+ retval -
high32 -
@@ -16498,7 +16668,7 @@
Get the name of the preset currently showing in the REAPER dropdown, or the full path to a factory preset file for VST3 plug-ins (.vstpreset). Returns false if the current FX parameters do not exactly match the preset (in other words, if the user loaded the preset but moved the knobs afterward). See [TakeFX_SetPreset](#TakeFX_SetPreset).
- retval -
+ retval -
presetname -
@@ -16528,7 +16698,7 @@
Returns current preset index, or -1 if error. numberOfPresetsOut will be set to total number of presets available. See [TakeFX_SetPresetByIndex](#TakeFX_SetPresetByIndex)
- retval -
+ retval -
numberOfPresets -
@@ -16905,16 +17075,19 @@
boolean retval, string name = reaper.ThemeLayout_GetLayout(string section, integer idx)
(Boolean retval, String section, Int idx, String nameOut, Int nameOut_sz) = RPR_ThemeLayout_GetLayout(section, idx, nameOut, nameOut_sz)
- Reaper=5.974
+ Reaper=6.00
Lua=5.3
Gets theme layout information.
- section can be 'global' for global layout override, 'seclist' to enumerate a list of layout sections, otherwise a layout section such as 'mcp', 'tcp', 'trans', etc.
- idx can be -1 to query the current value, -2 to get the description of the section (if not global), or 0..x.
-
- returns false if failed.
+ section can be 'global' for global layout override, 'seclist' to enumerate a list of layout sections, otherwise a layout section such as 'mcp', 'tcp', 'trans', etc.
+ idx can be
+ -1 to query the current value,
+ -2 to get the description of the section (if not global),
+ -3 will return the current context DPI-scaling (256=normal, 512=retina, etc), or 0..x.
+
+ returns false if failed.
boolean retval -
@@ -17218,7 +17391,7 @@
if cdenom is non-NULL, will be set to the current time signature denominator.
- retval -
+ retval -
measures -
cml -
fullbeats -
@@ -17280,7 +17453,7 @@
Gets project framerate, and optionally whether it is drop-frame timecode
- retval -
+ retval -
dropFrame -
@@ -17337,7 +17510,7 @@
Get the QN position and time signature information for the start of a measure. Return the time in seconds of the measure start.
- retval -
+ retval -
qn_start -
qn_end -
timesig_num -
@@ -17371,7 +17544,7 @@
Fills in a string representing the active metronome pattern. For example, in a 7/8 measure divided 3+4, the pattern might be "1221222". The length of the string is the time signature numerator, and the function returns the time signature denominator.
- retval -
+ retval -
pattern -
@@ -17432,7 +17605,7 @@
Find which measure the given QN position falls in.
- retval -
+ retval -
qnMeasureStart -
qnMeasureEnd -
@@ -17814,7 +17987,7 @@
Note: only works with FX that support Cockos VST extensions.
- retval -
+ retval -
buf -
@@ -17846,7 +18019,7 @@
Note: only works with FX that support Cockos VST extensions.
- retval -
+ retval -
buf -
@@ -18061,7 +18234,7 @@
See [TrackFX_GetEQ](#TrackFX_GetEQ), [TrackFX_SetEQParam](#TrackFX_SetEQParam), [TrackFX_GetEQBandEnabled](#TrackFX_GetEQBandEnabled), [TrackFX_SetEQBandEnabled](#TrackFX_SetEQBandEnabled).
- retval -
+ retval -
bandtype -
bandidx -
paramtype -
@@ -18124,7 +18297,7 @@
- retval -
+ retval -
buf -
@@ -18184,7 +18357,7 @@
- retval -
+ retval -
buf -
@@ -18242,7 +18415,7 @@
sets the number of input/output pins for FX if available, returns plug-in type or -1 on error
- retval -
+ retval -
inputPins -
outputPins -
@@ -18362,7 +18535,7 @@
- retval -
+ retval -
minval -
maxval -
@@ -18394,7 +18567,7 @@
- retval -
+ retval -
step -
smallstep -
largestep -
@@ -18428,7 +18601,7 @@
- retval -
+ retval -
minval -
maxval -
midval -
@@ -18461,7 +18634,7 @@
- retval -
+ retval -
buf -
@@ -18522,7 +18695,7 @@
gets the effective channel mapping bitmask for a particular pin. high32OutOptional will be set to the high 32 bits
- retval -
+ retval -
high32 -
@@ -18554,7 +18727,7 @@
Get the name of the preset currently showing in the REAPER dropdown, or the full path to a factory preset file for VST3 plug-ins (.vstpreset). Returns false if the current FX parameters do not exactly match the preset (in other words, if the user loaded the preset but moved the knobs afterward). See [TrackFX_SetPreset](#TrackFX_SetPreset).
- retval -
+ retval -
presetname -
@@ -18584,7 +18757,7 @@
Returns current preset index, or -1 if error. numberOfPresetsOut will be set to total number of presets available. See [TrackFX_SetPresetByIndex](#TrackFX_SetPresetByIndex)
- retval -
+ retval -
numberOfPresets -
@@ -20328,7 +20501,7 @@
\[BR\] Get envelope point by id (zero-based) from the envelope object allocated with [BR_EnvAlloc](#BR_EnvAlloc). Returns true on success.
- retval -
+ retval -
position -
value -
shape -
@@ -20683,7 +20856,7 @@
\[BR\] Get currently loaded image resource and it's flags for a given item. Returns false if there is no image resource set. To set image resource, see [BR_SetMediaItemImageResource](#BR_SetMediaItemImageResource).
- retval -
+ retval -
image -
imageFlags -
@@ -20744,7 +20917,7 @@
To set source properties, see [BR_SetMediaSourceProperties](#BR_SetMediaSourceProperties).
- retval -
+ retval -
section -
start -
length -
@@ -21001,7 +21174,7 @@
[BR] Get MIDI take pool GUID as a string (guidStringOut_sz should be at least 64). Returns true if take is pooled.
- retval -
+ retval -
guidString -
@@ -21031,7 +21204,7 @@
[BR] Get "ignore project tempo" information for MIDI take. Returns true if take can ignore project tempo (no matter if it's actually ignored), otherwise false.
- retval -
+ retval -
ignoreProjTempo -
bpm -
num -
@@ -21116,7 +21289,7 @@
\[BR\] Returns envelope that was captured with the last call to [BR_GetMouseCursorContext](#BR_GetMouseCursorContext). In case the envelope belongs to take, takeEnvelope will be true.
- retval -
+ retval -
takeEnvelope -
ReaperApiFunctionsReference
@@ -21177,7 +21350,7 @@
Note: due to API limitations, if mouse is over inline MIDI editor with some note rows hidden, noteRow will be -1
- retval -
+ retval -
inlineEditor -
noteRow -
ccLane -
@@ -21485,7 +21658,7 @@
[BR] Check if take is MIDI take, in case MIDI take is in-project MIDI source data, inProjectMidiOut will be true, otherwise false.
- retval -
+ retval -
inProjectMidi -
@@ -21515,7 +21688,7 @@
[BR] Get media item under mouse cursor. Position is mouse cursor position in arrange.
- retval -
+ retval -
position -
ReaperApiFunctionsReference
@@ -21885,7 +22058,7 @@
[BR] Get take under mouse cursor. Position is mouse cursor position in arrange.
- retval -
+ retval -
position -
ReaperApiFunctionsReference
@@ -21914,7 +22087,7 @@
Position will hold mouse cursor position in arrange if applicable.
- retval -
+ retval -
context -
position -
@@ -21942,7 +22115,7 @@
[BR] Get the exact name (like effect.dll, effect.vst3, etc...) of an FX.
- retval -
+ retval -
name -
@@ -22361,7 +22534,7 @@
Full loudness analysis. retval: returns true on successful analysis, false on MIDI take or when analysis failed for some reason. analyzeTruePeak=true: Also do true peak analysis. Returns true peak value and true peak position (relative to item position). Considerably slower than without true peak analysis (since it uses oversampling). Note: Short term uses a time window of 3 sec. for calculation. So for items shorter than this shortTermMaxOut can't be calculated correctly. Momentary uses a time window of 0.4 sec.
- retval -
+ retval -
lufsIntegrated -
range -
truePeak -
@@ -22397,7 +22570,7 @@
Same as [NF_AnalyzeTakeLoudness](#NF_AnalyzeTakeLoudness) but additionally returns shortTermMaxPos and momentaryMaxPos (in absolute project time). Note: shortTermMaxPos and momentaryMaxPos actually indicate the beginning of time *intervalls*, (3 sec. and 0.4 sec. resp.).
- retval -
+ retval -
lufsIntegrated -
range -
truePeak -
@@ -22439,7 +22612,7 @@
- retval -
+ retval -
lufsIntegrated -
@@ -23056,7 +23229,7 @@
\[S&M\] Reads a media file tag. Supported tags: "artist", "album", "genre", "comment", "title", or "year". Returns false if tag was not found. See [SNM_TagMediaFile](#SNM_TagMediaFile).
- retval -
+ retval -
tagval -
@@ -36809,6 +36982,36 @@
cpp, get, icon, theme, pointer
+
+ // GetIconThemePointerForDPI
+ GetIconThemePointerForDPI
+ void* (*GetIconThemePointerForDPI)(const char* name, int dpisc);
+
+ Reaper=6.02
+
+
+ returns a named icontheme entry for a given DPI-scaling (256=1:1).
+
+ Note: the return value should not be stored, it should be queried at each paint!
+ Querying name=NULL returns the start of the structure
+
+
+ void* -
+
+
+ name -
+ dpisc -
+
+ ReaperApiFunctionsReference
+ reaper_plugin.h
+
+ Additional C++ Functions
+ reaper_plugin_functions.h
+
+ cpp, get, icon, theme, pointer, dpi
+
+
+
GetIconThemeStruct
@@ -37122,12 +37325,13 @@
GetSetTrackMIDISupportFile
const char* (*GetSetTrackMIDISupportFile)(ReaProject* proj, MediaTrack* track, int which, const char* filename)
- Reaper=5.62
+ Reaper=6.02
- Get or set the filename for storage of various track MIDI characteristics.
-
- If fn != NULL, a new track MIDI storage file will be set; otherwise the existing track MIDI storage file will be returned.
+ Get or set the filename for storage of the MIDI bank/program select file.
+ "which" must be 1.
+
+ If fn != NULL, a new track MIDI storage file will be set; otherwise the existing track MIDI storage file will be returned.
char* -
diff --git a/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-config_var.USDocML b/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-config_var.USDocML
index a360b1e7..d8a97e75 100644
--- a/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-config_var.USDocML
+++ b/UserPlugins/ultraschall_api/DocsSourcefiles/reaper-config_var.USDocML
@@ -3,7 +3,7 @@
Introduction
Introduction to Config Variables
- List of all Config Variables as of Reaper 5.982 and probably are missing some, but should be fairly complete anyway.
+ List of all Config Variables as of Reaper 6.01 and probably are missing some, but should be fairly complete anyway.
These can be used to set configuration-stuff in the preferences, the project-settings, the render-dialog, many context-menus(like MCP or transport-context-menus) and many others.
To change them, you can use the following ReaScript API-functions(requires SWS being installed):
@@ -83,7 +83,7 @@
>[aot](#aot), [cueitems](#cueitems), [itemtexthide](#itemtexthide), [psmaxv](#psmaxv), [psminv](#psminv), [templateditcursor](#templateditcursor)
the following variables are available in pre-releases of Reaper only
- >[bpminfnimport](#bpminfnimport), [disk_peaks_mmapkb](#disk_peaks_mmapkb), [disk_peaks_ramkb](#disk_peaks_ramkb), [maxplayoffsrate](#maxplayoffsrate), [midiccenv](#midiccenv), [midiccinterp](#midiccinterp), [windowflags](#windowflags), [wiring_options](#wiring_options)
+ >none currently
An Introduction
@@ -833,14 +833,12 @@
bpminfnimport
unknown
- only available in pre-releases, yet
- It is an integer
+ It is a double
Unknown, if it's stored in reaper.ini as well...
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -3228,7 +3226,6 @@
disk_peaks_mmapkb
disk_peaks_mmapkb
- only available in pre-releases of Reaper, yet
The Fully-buffer peak files smaller than-inputbox as set in Preferences -> Buffering -> Advanced Disk I/O Settings
It is an integer
@@ -3241,7 +3238,6 @@
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -3250,7 +3246,6 @@
disk_peaks_ramkb
disk_peaks_ramkb
- only available in pre-releases of Reaper, yet
The Fully-buffer peak files smaller than-inputbox as set in Preferences -> Buffering -> Advanced Disk I/O Settings
It is an integer
@@ -3263,7 +3258,6 @@
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -3437,7 +3431,6 @@
>&32=1, Show recording volume name(on), checked
set in Preferences -> Buffering -> Advanced Disk I/O Settings!
- in pre-releases only
>&64=1 - Periodially close excess file handles(experimental)-checkbox unchecked
>&64=1 - Periodially close excess file handles(experimental)-checkbox checked
@@ -5371,13 +5364,10 @@
[nativedrawtext](#nativedrawtext), [playcursormode](#playcursormode), [rulerlayout](#rulerlayout), [showlastundo](#showlastundo), [textflags](#textflags), [timeseledge](#timeseledge),
[tooltips](#tooltips), [trackitemgap](#trackitemgap), [vgrid](#vgrid)
- Only available in pre-releases, yet!
-
Stored in reaper.ini under the same name in the section REAPER.
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -5650,7 +5640,6 @@
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -5668,7 +5657,6 @@
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -12410,7 +12398,6 @@
windowflags
windowflags
- only available in pre-releases of Reaper, yet
It is the Modal window positioning-dropdownlist, as set in Preferences -> General -> Advanced UI/system tweaks
It is an integer
@@ -12423,7 +12410,6 @@
Config Variables
- Pre-Releases
Reaper_Config_Variables
@@ -12432,7 +12418,6 @@
wiring_options
wiring_options
- only available in pre-releases of Reaper, yet
It is the context-menu from within the wiring-diagram
It is an integer-bitfield
@@ -12448,7 +12433,6 @@
Config Variables
- Pre-Releases
Reaper_Config_Variables
diff --git a/UserPlugins/ultraschall_api/Documentation/ChangeLog.html b/UserPlugins/ultraschall_api/Documentation/ChangeLog.html
index ee7f191d..f4b94f94 100644
--- a/UserPlugins/ultraschall_api/Documentation/ChangeLog.html
+++ b/UserPlugins/ultraschall_api/Documentation/ChangeLog.html
@@ -40,6 +40,63 @@
Ultraschall Framework - Changelog
+
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 if 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:
diff --git a/UserPlugins/ultraschall_api/Documentation/Downloads.html b/UserPlugins/ultraschall_api/Documentation/Downloads.html
index 149f21c3..9eb65791 100644
--- a/UserPlugins/ultraschall_api/Documentation/Downloads.html
+++ b/UserPlugins/ultraschall_api/Documentation/Downloads.html
@@ -40,10 +40,10 @@
diff --git a/UserPlugins/ultraschall_api/Documentation/Reaper_API_Video_Documentation.html b/UserPlugins/ultraschall_api/Documentation/Reaper_API_Video_Documentation.html
index d23a0ed2..452407a6 100644
--- a/UserPlugins/ultraschall_api/Documentation/Reaper_API_Video_Documentation.html
+++ b/UserPlugins/ultraschall_api/Documentation/Reaper_API_Video_Documentation.html
@@ -680,4 +680,4 @@ Reaper Video Processor Plugin API
Description:
Notifies that the parameter pointed to by pvar (must be param1..param24 or a user-defined parameter) has changed.
Specify isdone=1 when done modifying parameter (e.g. releasing touch)
-Parameters: |
float pvar | - | the parameter, whose parameter-change you want to notify |
optional integer isdone | - | 1, when done modifying parameter |
View: [all] [C/C++] [EEL] [Lua] [Python] | | Automatically generated by Ultraschall-API 4.00 Beta 2.78 - 66 functions available (Reaper and SWS) |