Skip to content

Releases: Ultraschall/ultraschall-lua-api-for-reaper

4.2.005 - "Anne Clark - Our Darkness" - 21st of July 2021

21 Jul 14:58
Compare
Choose a tag to compare

Has now 1406 functions, with 6 new ones

new in this release:

  • Dark Mode in all documentation
    Ever been blinded by the light...ehrm docs? Suffer no more. All docs are now in dark-mode, relayouted with a proper
    color scheme, smaller, faster to load.
    And I nicked some code from X-Raym's fantastic docs, so clicking on function-calls is now copying them into the
    clipboard.
    Also the index has now links that you can link to. So if you want to give somebody a list of all marker-functions,
    click on the ^ next to the category.
    The order of functions is also by category. So all marker-functions are next to each other. Endless scrolling to find
    that one other marker-related-function is now a thing of a past.
    The header on pages is also sticky now. Endless scrolling to switch page is also now a thing of the past.
    Enjoy Darkmode.
    No more sunburns from reading docs. Can you believe it?

  • Normalization on Rendering
    You can use now the new normalization-features of Reaper in all rendering-functions.

  • Parameter Learn
    Some of the ParmLearn functions were hard to use, due some parameters being complex. I added variations of them, so
    setting them is now much more easier.

  • Toggle Beta-Functions
    I almost never finish all new functions, but I deploy them anyway. Though they are not accessible directly, only
    when Ultraschall-API is set to Beta-Mode.
    This can now be done in the API-settings.
    Beta-functions can be found in ultraschall_functions_engine_beta.lua for toying around with them.
    But keep in mind: they aren't released for a good reason. Be careful with them.

  • Bugfixes
    Bugfixes, Bugfixes, Bugfixes...

New features in 4.2.005

  • API: Settings - Beta-functions can now be activated via Ultraschall-API-Settings
  • Docs: Darkmode - all docs are now relayouted and in darkmode! Clicking on functions copies them to the clipboard(thnx to X-Raym)
  • Parameter/Learn/Mapping: AddParmLearn_FXStateChunk2 - variation of AddParmLearn_FXStateChunk that allows setting values more detailed(requested by DanielLumertz and TonE)
  • Parameter/Learn/Mapping: GetParmLearn_FXStateChunk2 - variation of GetParmLearn_FXStateChunk2 that allows setting values more detailed(requested by DanielLumertz and TonE)
  • Parameter/Learn/Mapping: SetParmLearn_FXStateChunk2 - variation of SetParmLearn_FXStateChunk that allows setting values more detailed(requested by DanielLumertz and TonE)
  • Project-Files: GetProject_Render_Normalize - gets the render-normalize-settings from an rpp-file or ProjectStateChunk
  • Project-Files: SetProject_MasterTrackView - sets the master-track-view-settings in an rpp-file or ProjectStateChunk
  • Project-Files: SetProject_Render_Normalize - sets the render-normalize-settings in an rpp-file or ProjectStateChunk

Changes from 4.2.004 to 4.2.005

  • BatchConverter: BatchConvertFiles - supports now retaining metadata from sourcefile
  • Developer Tools: ultraschall_developertool_Display-Altered-Config-Vars.lua - fixed a bug, that omitted some config-vars
  • Docs: RenderPreset-Configfile.txt - added new normalization information
  • Docs: Reaper Internals - updated to Reaper 6.32, ReaImGui 0.5.2
  • Docs: Converter-Pipeline - largely rewritten, so it's now faster, better designed, streamlined
  • DocsManagement: Docs_GetUSDocBloc_ChapterContext - didn't return all chapter-context-entries -> fixed
  • GuiLib: Lokasenna_LoadGuiLib_v2 - didn't load due stupid typo -> fixed
  • Helper functions: StateChunkLayouter - did add unnecessary newline at the end, which faulted IsValidTrackStateChunk -> fixed
  • Markers: MoveMarkersBy - didn't work on markers with 0 in their index number -> fixed(thanks to GNetzer)
  • MediaItem-Management: InsertMediaItemFromFile - didn't insert media into the right track due Reaper API-limitations -> fixed(thanks to Fergler)
  • Parameter/Learn/Mapping: SetParmLearn_FXStateChunk - added error-message, when no such parm-alias exists
  • RenderManagement: AddRenderPreset - supports now render-normalization
  • RenderManagement: ApplyRenderTable_Project - supports now render-normalization
  • RenderManagement: CreateNewRenderTable - supports now render-normalization
  • RenderManagement: DeleteRenderPreset_FormatOptions - supports now deleting presets with render-normalization
  • RenderManagement: GetRenderPreset_RenderTable - supports now render-normalization
  • RenderManagement: GetRenderTable_Project - supports now render-normalization
  • RenderManagement: GetRenderTable_ProjectFile - supports now render-normalization
  • RenderManagement: IsValidRenderTable - supports now render-tables with render-normalization-settings
  • RenderManagement: SetRenderPreset - supports now render-normalization

4.2.004 - "Grandma - kl" - 12th of June 2021

11 Jun 19:26
Compare
Choose a tag to compare

Has now 1400 functions, with 15 new ones

new in this release:

  • Automation Items
    You can get now the automation items by time and you can split them.

  • State Inspector
    Allows now using Ctrl+C and Ctrl+V to copy n paste statechunks from the statechunk-views. That way, you can easily get
    and set statechunks for easier debugging.

  • Rendering
    Razor Edits-rendering is now supported.

  • InputFX
    All inputFX-functions allow now adressing inputfx of specific tracks.

  • GMEM
    You can get now all gmems from a specific gmem-name. You can also get all values from the Video-Sample-Peeker-JSFX to do something with it, like visualizing.

  • Razor Edit
    You can get all razor-edits from the current project as well as checking, whether there's any razor-edit at all.

  • MetaData Presets
    You can get now all metadata-entries from the metadata-presets. Will be enhanced in the future with additional functions.

  • Developer Tools
    Get now the statechunk of items/envelopes/tracks underneath the mouse directly into the clipboard and put the statechunks from clipboard back into it.

  • BatchConverter
    Works now, now that I fixed this stupid bug..cough...cough...

  • Docs updates
    Updated Docs to Reaper 6.29 and added ReaImGui, ReaBlink.

  • Tons of bugfixes and stuff

New features in 4.2.004

  • Automation Items: AutomationItems_GetByTime - gets all automation-items from an envelope at position(requested by AZpercussion)
  • Automation Items: AutomationItem_Split - splits a specific automation-item from an envelope at position(requested by AZpercussion)
  • Developer Tools: EnvelopeStateChunk_from_Clipboard_envelope_to_under_mouse.lua - gets envelopestatechunk from clipboard to envelope under the mouse
  • Developer Tools: EnvelopeStateChunk_from_Clipboard_to_selected_envelope.lua - gets envelope statechunk from clipboard to selected envelope
  • Developer Tools: EnvelopeStateChunk_to_Clipboard_selected_envelope - puts statechunk of selected envelope into clipboard
  • Developer Tools: Find_Duplicated_Lines_In_Clipboard - shows duplicated lines in the string in the clipboard
  • Developer Tools: ItemStateChunk_from_Clipboard_to_first_selected_item.lua - gets trackstatechunk from clipboard to first selected track
  • Developer Tools: ItemStateChunk_from_Clipboard_to_item_mouse.lua - gets itemstatechunk from clipboard to item under the mouse
  • Developer Tools: ItemStateChunk_to_Clipboard_first_selected_item - puts statechunk of first selected item into clipboard
  • Developer Tools: ItemStateChunk_to_Clipboard_item_under_mouse - puts statechunk of item under the mouse into clipboard
  • Developer Tools: TrackStateChunk_to_Clipboard_first_selected_track - puts statechunk of first selected track into clipboard
  • Developer Tools: TrackStateChunk_to_Clipboard_track_under_mouse - puts statechunk of track under the mouse into clipboard
  • Developer Tools: EnvelopeStateChunk_to_Clipboard_envelope_under_mouse - puts statechunk of envelope under the mouse into clipboard
  • Docs: Reaper API-docs - added ReaImGui 0.4.1, OSARA 2021, ReaBlink 0.4.0
  • Examplescript: US_Api_Examples_Visualize_VideoSamplePeekerJSFX.lua - displays the Video Sample Peeker-JSFX-values in a gfx-window
  • GMem: GMem_Read_ValueRange - returns a value-range from gmem-values as a handy table
  • GMem: GMem_GetValues_VideoSamplePeeker - returns the samples as provided by the jsfx "video sample peeker", whose values are used by certain video processor presets
  • MediaItem-Management: ApplyActionToMediaItemTake - allows applying actions to MediaItemTakes
  • MediaItem-Management: CountMediaItemTake_StateChunk - counts all takes in a MediaItemStateChunk
  • MediaItem-Management: GetMediaItemTake_StateChunk - gets a TakeStateChunk from a MediaItemStateChunk
  • Metadata-Management: Metadata_GetAllPresetNames - returns all metadata-presetnames
  • Metadata-Management: Metadata_GetMetaDataTable_Presets - returns all metadata-presetnames
  • Razor Edit: RazorEdit_GetAllRazorEdits - returns a table with all razor-edits available in the current project
  • Razor Edit: RazorEdit_ProjectHasRazorEdit - returns, if the currently opened project contains any Razor Edits
  • Rendering: AreRenderTablesEqual - compares, if two RenderTables are equal
  • Spectral Edit: CountItemSpectralEdit2 - counts all spectral-edits within a take(requested by Fabian)
  • Spectral Edit: GetItemSpectralConfig2 - gets the spectral-config of a take(requested by Fabian)
  • Spectral Edit: GetItemSpectralEdit2 - gets all spectral-edit-states of a take(requested by Fabian)

Changes from 4.2.003 to 4.2.004

  • API: Modulator3000 - reverted binary-chunk back to source-code, due Reaper-path-encoding problems with Umlauts in resourcepath(thanks to rstockm)
  • API-HelperFunctions: SFEM - parameters didn't work as I..ehrm....forgot to add them.... -> fixed
  • ConfigurationManagement: KB-ini-functions - parameter/retval-descriptions were missing information -> fixed
  • Developer Tools: State Inspector - the show item/track/envelope-statechunk modes allow now copy'n'pasting of statechunks from/to clipboard
  • Docs: Filetype Descriptions - added missing descriptions and mouse modifiers for reaper-mouse.ini
  • Docs: Reaper Internals - updated to Reaper 6.29
  • File-Management: BatchConvertFiles - added, as I had forgotten to add it in the last release -> fixed
  • FXManagement: InputFX_AddByName - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_CopyFX - couldn't copy fx to the end of the fx-chain -> fixed; supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_CopyFXFromTakeFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_CopyFXFromTrackFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_CopyFXToTakeFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_CopyFXToTrackFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetCount - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_Delete - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_EndParamEdit - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_FormatParamValue - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_FormatParamValueNormalized - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetChainVisible - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetEnabled - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetEQ - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetEQBandEnabled - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetEQParam - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetFloatingWindow - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetFormattedParamValue - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetFXChain - readded global monitoring-fxchain-entries; supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetFXGUID - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetFXName - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetIOSize - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetNamedConfigParm - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetOffline - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetOpen - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetParam - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetParameterStepSizes - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetParamEx - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetParamName - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetParamNormalized - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetPinMappings - didn't work due bug -> fixed, supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetPreset - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_GetUserPresetFilename - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_MoveFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_MoveFXFromTakeFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_MoveFXFromTrackFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_MoveFXToTakeFX - supports now inputFX of individual tracks as well(thanks to X-Raym)
  • FXManagement: InputFX_MoveFXToT...
Read more

4.2.003 - "Georg Friedrich Händel - Sarabande" - 6th of February 2021

14 Feb 20:41
Compare
Choose a tag to compare

4.2.003 - "Georg Friedrich Händel - Sarabande" - 6th of February 2021

Has now 1385 functions, with 26 new ones

new in this release:

  • BatchConvertFiles
    Ever fancied programming the batch-converter? Now you can, with BatchConvertFiles. No more fiddling around with command-line.

  • GetProjectStateChunk
    Is now improved and finally working stable. What a difficult birth, but now you can access all your project-states available.

  • FXStateChunk-functions
    Getting and setting FXStateChunk-entries should be fully supported now. Some can't be set at runtime in Reaper, due some quirks with setting statechunks, but nevertheless.

  • GetActionCommandIDByFilename
    So here's the story: you have this nice filename of a nice ReaScript and would like to call it for a date or just by Main_OnCommand, but:
    you don't know the ActionCommandID. GetActionCommandIDByFilename will be your knight in shining armor and give you what you need.

  • M1-Mac support
    Now all scripts using Ultraschall-API run smooth on the new Arm-Macs as well. Dozens of fixes and bugreports made it possible.

  • SetUIScale
    Now you can scale your Reaper-window to planet-size, by setting its UI-scaling-factor. So if 2 isn't enough for your oldening eyes, set it to 100.

  • 2nd pass rendering
    Also added, so you can use the new 2nd-pass-rendering-feature in your scripts. Loop Loop!

  • Custom Markers/Regions
    They can now be enumerated, set, deleted and count with "" as well. This will give you all custom-marker/regions instead of a specific one.

  • GetItem_ClickState and GetTrackEnvelope_ClickState
    Stopped working due bugfix in SWS, now returned back to working due bugfix in Ultraschall-API. So getting the currently clicked/dragged item/envelope-point is available again.

  • EditReaScript
    Open a specific ReaScript with a specific window-position and size. So arranging your ReaScript-IDE-windows is now real easy.
    Under the assumption, you have a taste for a nice IDE-arrangement.

  • Bugfixes, improvements, speedups
    The usual cleanup of old functions that usually eliminate bugs and slow code.

New features in 4.2.003

  • Configuration-files: GetActionCommandIDByFilename - get the actioncommand-id of a registered script
  • Docs: misc/USDocML-Specs1_0.txt - describes the USDocML-format I use for my Reaper/Ultraschall-API documentation
  • File-Management: BatchConvertFiles - allows converting files using the batch-converter of Reaper
  • FX-Management: GetDocked_FXStateChunk - gets the docked state of an fxchain from an FXStateChunk
  • FX-Management: GetFXBypass_FXStateChunk - returns the BYPASS-entry-values of an FXStateChunk(bypass and online/offline state)
  • FX-Management: GetFXFloatPos_FXStateChunk - returns the float state and position of the fx-window of an fx in an FXStateChunk
  • FX-Management: GetFXGuid_FXStateChunk - returns the guid of an fx in an FXStateChunk
  • FX-Management: GetFXMidiPreset_FXStateChunk - returns the MIDIPRESET-entry-values of an FXStateChunk(link to midi program change)
  • FX-Management: GetFXWak_FXStateChunk - returns the WAK-entry-values of an FXStateChunk(embed and send keyboardinput to fx)
  • FX-Management: GetLastSel_FXStateChunk - returns the last selected fx of an FXStateChunk
  • FX-Management: GetShow_FXStateChunk - gets the state of visibility of the fxchain-window and a specific fx from an FXStateChunk
  • FX-Management: GetWndRect_FXStateChunk - gets the position of the fxchain-window when floating from an FXStateChunk
  • FX-Management: SetDocked_FXStateChunk - sets the docked state of an fxchain from an FXStateChunk
  • FX-Management: SetFXBypass_FXStateChunk - sets the BYPASS-entry-values of an FXStateChunk(bypass, online/offline-state)
  • FX-Management: SetFXFloatPos_FXStateChunk - sets the float state and position of the fx-window of an fx in an FXStateChunk
  • FX-Management: GetFXGuid_FXStateChunk - sets the new guid of an fx in an FXStateChunk
  • FX-Management: SetFXMidiPreset_FXStateChunk - sets the MIDIPRESET-entry-values of an FXStateChunk(link to midi program change)
  • FX-Management: SetFXWak_FXStateChunk - sets the WAK-entry-values of an FXStateChunk(embed and send keyboardinput to fx)
  • FX-Management: SetLastSel_FXStateChunk - sets the last selected fx of an FXStateChunk
  • FX-Management: SetShow_FXStateChunk - sets the SHOW-entry-values of an FXStateChunk(the currently shown fx in the fxchain)
  • FX-Management: SetWndRect_FXStateChunk - sets the position of the fxchain-window when floating from an FXStateChunk
  • ItemManagement: GetItemImage - gets the image, associated with an item in the item-notes-dialog
  • ItemManagement: SetItemImage - sets the image, associated with an item in the item-notes-dialog
  • MarkerManagement: GetAllCustomMarkerNames - returns all custom-marker-names available in the current project(requested by fernsehmuell)
  • MarkerManagement: GetAllCustomRegionNames - returns all custom-region-names available in the current project(requested by fernsehmuell)
  • Misc: Ultraschall_Api_List_Of_USDocML-Containing_Files.txt - a list of all Lua-files, that contain Ultraschall-API-related USDocBlocs(requested by gxray)
  • User Interface: GetUIScale - gets the scaling of Reaper's UI(requested by willpadgett)
  • User Interface: SetUIScale - sets the scaling of Reaper's UI(requested by willpadgett)

Changes from 4.2.002 to 4.2.003

  • Automation Items: AutomationItem_Delete - didn't work due stupid bug, completely rewritten -> fixed(thanks to XRaym)
  • Configuration-files: CountKBIniActions - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: CountKBIniKeys - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: CountKBIniScripts - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: DeleteKBIniActions - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: DeleteKBIniKeys - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: DeleteKBIniScripts - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: GetActionCommandIDByFilename - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: GetKBIniActions - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: GetKBIniActionsID_ByActionCommandID - setting filename_with_path=nil uses default reaper-kb.ini; rewritten and sped up by magnitudes; returns found indices as table now; didn't work with command-id-numbers -> fixed(thanks to Aaron Cendan)
  • Configuration-files: GetKBIniFilepath - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: GetKBIniKeys - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: GetKBIniKeys_ByActionCommandID - setting filename_with_path=nil uses default reaper-kb.ini; rewritten and sped up by magnitudes; returns found indices as table now; didn't work with command-id-numbers -> fixed(thanks to Aaron Cendan)
  • Configuration-files: GetKBIniScripts - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: GetKBIniScripts_ByActionCommandID - setting filename_with_path=nil uses default reaper-kb.ini; rewritten and sped up by magnitudes; returns found indices as table now; didn't work with command-id-numbers -> fixed(thanks to Aaron Cendan)
  • Configuration-files: QueryKeyboardShortcutByKeyID - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: SetKBIniActions - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: SetKBIniKeys - setting filename_with_path=nil uses default reaper-kb.ini
  • Configuration-files: SetKBIniScripts - setting filename_with_path=nil uses default reaper-kb.ini
  • Developer Tools: ultraschall_functions_ProjectManagement_ProjectFiles_Module.lua - uses now the project active at script-start.
  • Developer Tools: ultraschall_ShowProjectDiffs.lua - doesn't need to save the project anymore to show changes in the projectfile
  • Docs: Reaper Internals - update to Reaper 6.20, SWS 2.12.1.3; added missing retvals and params, removed duplicated ones
  • Docs: Render-presetfile-docs - added 2nd pass render-option
  • Doc-Engine: Docs_GetUSDocBloc_Params - returns now 0, when no retval is found
  • Doc-Engine: Docs_GetUSDocBloc_Retvals - returns now 0, when no retval is found
  • Developer: EditReaScript - allows now setting position and size of the to-open-IDE-window
  • EnvelopeManagement: GetTrackEnvelope_ClickState - works now again
  • File-Management: CountDirectoriesAndFilesInPath - flushes cache on Reaper 6.20+ to be more reliable
  • File-Management: DirectoryExists - flushes cache on Reaper 6.20+ to be more reliable
  • File-Management: GetAllDirectoriesInPath - flushes cache on Reaper 6.20+ to be more reliable
  • File-Management: GetAllFilenamesInPath - flushes cache on Reaper 6.20+ to be more reliable
  • File-Management: GetAllRecursiveFilesAndSubdirectories - flushes cache on Reaper 6.20+ to be more reliable
  • HelperFunctions: CheckActionCommandIDFormat - returns now true, when the command-id-number is passed over as string as well; fixes some functions(thanks to Aaron Cendan)
  • HelperFunctions: IsOS_Mac - works now on arm-macs as well(thanks to rstockm)
  • MarkerManagement: AddEditMarker - works now on arm-macs as well(thanks to rstockm)
  • MarkerManagement: AddEditRegion - works now on arm-macs as well(thanks to rstockm)
  • MarkerManagement: AddPodRangeRegion - works now on arm-macs as well(thanks to rstockm)
  • MarkerManagement: Count...
Read more

### 4.2.002 - "Dave Brubeck - Take Five" - 25th of December 2020

25 Dec 02:43
Compare
Choose a tag to compare

Has now 1359 functions, with 8 new ones

new in this release:

  • Get/Set Comment-field of fx
    You can now get and set the comment-field of trackfx and takefx programmatically. Also gave me the chance to fix some bugs as well ;)

  • Linesorting script for clipboard-content
    Sometimes, you would love to sort the lines in the clipboard. Now you can, using the new developer-tool.

  • bugfixes and docs
    various bugfixes and update to Reaper Internals to Reaper 6.19, SWS 2.12.1.1, JS-extension 1.220

New features in 4.2.002

  • DeveloperTools: ultraschall_developertool_SortLinesInClipboardText.lua - sorts the lines of the string in the clipboard
  • FX-Management: CountFXFromFXStateChunk - counts the number of fx in an FXStateChunk
  • FX-Management: GetFXComment_FXStateChunk - allows getting the comment of an fx within an FXStateChunk(requested by en5ca)
  • FX-Management: GetTrackFXComment - gets the text in the comment-field of a trackfx(requested by en5ca)
  • FX-Management: GetTakeFXComment - gets the text in the comment-field of an itemfx(requested by en5ca)
  • FX-Management: InputFX_GetComment - gets the text in the comment-field of an inputfx
  • FX-Management: SetFXComment_FXStateChunk - allows setting the comment of an fx within an FXStateChunk(requested by en5ca)
  • FX-Management: SetTrackFXComment - sets the text in the comment-field of a trackfx(requested by en5ca)
  • FX-Management: SetTakeFXComment - sets the text in the comment-field of an itemfx(requested by en5ca)

Changes from 4.2.001 to 4.2.002

  • API: Settings - allows now turning on/off confirmation dialogs in certain devtools(for streamlined manipulation of strings); had some bug, when not set a value yet -> fixed
  • Docs: Reaper Internals - updated to Reaper 6.19 and SWS 2.12.1.1 and JS-extension 1.220
  • File-Management: PreviewMediaFile - allows now setting the output-channel of the preview as well
  • FX-Management: GetFXFromFXStateChunk - didn't return possible comment-field -> fixed
  • FX-Management: GetFXSettingsString_FXLines - didn't work due stupid bug on my side; crashed when an fx didn't have fx-lines available -> both fixed(thanks to woodslanding)
  • Helper functions: EditReaScript - allows now opening the last file you opened up with this function by passing nil; adding Ultraschall-API is now supported; optionally add this script to the actionlist; docs were wrong -> fixed
  • Helper functions: Base64_Decoder - fixed off-by-one-error that could mess up the last character in the Base-64-string under certain conditions
  • Helper functions: Base64_Encoder - had inner variable exposed -> fixed
  • RenderManagement: ApplyRenderTable_Project - didn't always apply Mono-Media and Multi-Channel-checkboxes properly -> fixed(thanks to aurelien)
  • RenderManagement: ApplyRenderTable_ProjectFile - didn't always apply Mono-Media and Multi-Channel-checkboxes properly -> fixed(thanks to aurelien)

4.1.007 - "Frank Zappa - Carolina Hard-Core Ecstasy" - 21st of October 2020

30 Nov 01:37
Compare
Choose a tag to compare

Has now 1342 functions, with 48 new ones

new in this release:

  • Default v6-Theme-functions
    Ever wanted to write scripts that do, what the theme-adjuster can? Here's your chance.
    42 functions give you life, themeiverse and all the rest needed.

  • EditReaScript
    Create new scripts and open them in the IDE right from a script. Or edit an existing one. Now possible with EditReaScript().

  • GetFocusedFX and GetLastTouchedFX
    Basically like Reaper's own ones BUT I improved the parameter-interface so it is actually useable for regular scripters.

  • SFEM
    Sometimes, you want to get the first error-message that has happened in your script, which signals, what's the first thing that went wrong.
    SFEM(for Show First Error Message) is your way to go.

  • IsItemVisible and IsTrackVisible
    That's right, you can check now, if an item or track is visible in the arrangeview.
    You can check, whether they are fully in arrangeview or just partially.

  • Small Fixes and Docs
    Small bugfixes here and there as well updates to the docs for Reaper 6.15 and SWS 2.12.1

New features in 4.1.007

  • Developer: EditReaScript - edits a ReaScript in Reaper's IDE; creates it, if not yet existing
  • ErrorMessagingSystem: SFEM - returns the first error message from the current script-run
  • FXManagement: GetFocusedFX - returns the focused FX(easier than Reaper's own API-function)
  • FXManagement: GetLastTouchedFX - returns the last touched fx(easier than Reaper's own API-function)
  • MediaItem-Management: IsItemVisible - returns, if a MediaItem is visible or not
  • TrackManagement: IsTrackVisible - returns, if a track is visible or not
  • ThemeManagement: Theme_Defaultv6_GetEnvFaderSize - gets the current size of the faders of envelopes when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetEnvNameSize - gets the current size of the name of envelopes when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetEnvSize - gets the current size of the envelope when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetEnvFolderIndent - gets the current indentation-related-to-trackfolder-setting when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetHideTCPElement - gets the current hidden-states of tcp-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetMCPAlignControls - gets the current alignement of controls in tcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetMCPBorderStyle - gets the current border-style of the mcp when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetMCPFolderIndent - gets the current folder indentation of mcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetMCPMeterExpansion - gets the current MCP meter expansion when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetMCPSizeAndLayout - gets the current MCP-size and layout when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetStyleMCPElement - gets the style of an mcp-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPAlignControls - gets the current alignement of controls in tcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPInputSize - gets the current size of the input-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPFolderIndent - gets the new folder-indent-size of tcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPMeterLocation - gets the current location of the meter-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPMeterSize - gets the current size of the meter-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPNameSize - gets the current size of the track-name-label when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPSizeAndLayout - gets the current TCP-size and layout when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTCPVolumeSize - gets the current size of the volume-element when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTransPlayRateSize - gets the current size of the playrate-slider when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_GetTransSize - gets the current size of the transport when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetEnvFaderSize - sets the current size of the faders of envelopes when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetEnvNameSize - sets the new size of the name of envelopes when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetEnvSize - sets the new size of the envelope when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetEnvFolderIndent - sets the new indentation-related-to-trackfolder-setting when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetHideTCPElement - sets the hidden-states of tcp-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetMCPAlignControls - sets the new alignement of controls in tcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetMCPBorderStyle - sets the new border-style of the mcp when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetMCPFolderIndent - sets the new folder indentation of mcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetMCPMeterExpansion - sets the new MCP meter expansion when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetMCPSizeAndLayout - sets the new MCP-size and layout when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetStyleMCPElement - sets the style of an mcp-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPAlignControls - sets the new alignement of controls in tcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPInputSize - sets the new size of the input-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPFolderIndent - sets the new folder-indent-size of tcp when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPMeterLocation - sets the new location of the meter-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPMeterSize - sets the new size of the meter-element when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPNameSize - sets the new size of the track-name-label when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPSizeAndLayout - sets the new TCP-size and layout when using default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTCPVolumeSize - sets the new size of the volume-element when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTransPlayRateSize - sets the new size of the playrate-slider when using the default v6-theme
  • ThemeManagement: Theme_Defaultv6_SetTransSize - sets the new size of the transport when using the default v6-theme

Changes from 4.1.006 to 4.1.007

  • Developer Tools: Theme Parameter Monitor - didn't stop script, when closed by close-window-button -> fixed
  • ThemeManagement: Theme_Defaultv6_SetMCPSize - didn't work, when no layout was present already -> fixed
  • TrackManagement: GetAllVisibleTracks_Arrange - returns the found tracks now as MediaTrack-objects as well; didn't find master-track under certain circumstances -> fixed
  • UserInterface: TCP_SetWidth - errors in the docs -> fixed

4.1.006 - "Rage against the machine - Renegades of Funk" - 11th of October 2020

30 Nov 01:36
Compare
Choose a tag to compare

Has now 1294 functions, with 54 new ones

new in this release:

  • InputFX/MonitoringFX
    You can now code monitoringFX the same as you already could code TrackFX and TakeFX. Ever wanted to set a full FXChain into monitoring fx? Now you can.
    54 functions only for that. I must be insane...

  • ParameterModulation
    Fixed a bug and therefore added a new feature for parameter linking.
    ParmModTables have now two entries to set the index of the linked plugin:
    PARMLINK_LINKEDPLUGIN and PARMLINK_LINKEDPLUGIN_RELATIVE.
    To set an absolute plugin-index, set PARMLINK_LINKEDPLUGIN=absolute-index and PARMLINK_LINKEDPLUGIN_RELATIVE=nil
    To set a relative plugin-index, set
    PARMLINK_LINKEDPLUGIN=any number and
    PARMLINK_LINKEDPLUGIN_RELATIVE=0(current plugin), negative(higher in the FXChain), positive(lower in the FXChain)
    GetFunctions will usually have the linked plugin indexed in a relative-to-the-current-plugin-index(Reaper's standard behavior).

  • RenderFixes
    Renderfunctions sometimes created peak-files when not necessary. This is fixed now and speeds up the time between finished render and returning to the project.

New features in 4.1.006

  • FXManagement: InputFX_AddByName - adds an fx as monitoring fx
  • FXManagement: InputFX_CopyFX - copies a monitoring fx and inserts it at a new position
  • FXManagement: InputFX_CopyFXFromTakeFX - copies a monitoring fx to a takeFX
  • FXManagement: InputFX_CopyFXFromTrackFX - copies a trackfx into a monitoring fx
  • FXManagement: InputFX_CopyFXToTakeFX - copies a monitoring fx to a takeFX
  • FXManagement: InputFX_CopyFXToTrackFX - copies a monitoring fx into a track as trackfx
  • FXManagement: InputFX_Delete - deletes a certain monitoring-fx
  • FXManagement: InputFX_EndParamEdit - no idea what this function does, but it exists for trackFX and now for monitoring-fx too
  • FXManagement: InputFX_GetChainVisible - returns, if the current monitoring-fx-chain is visible and the index of the currently visible fx
  • FXManagement: InputFX_GetCount - returns the number of available monitoring-fx
  • FXManagement: InputFX_GetEnabled - returns, if a certain monitoring-fx is enabled or not
  • FXManagement: InputFX_GetEQ - returns the index of the first ReaEQ-instance in monitoring-fx; optionally creates an instance
  • FXManagement: InputFX_GetEQBandEnabled - returns the enabled/disabled state of a band of a ReaEQ-instance in monitoring-fx
  • FXManagement: InputFX_GetEQParam - returns the parameter-value of a ReaEQ-instance in monitoring-fx
  • FXManagement: InputFX_GetFloatingWindow - returns the hwnd of a floating monitoring-fx-window
  • FXManagement: InputFX_GetFormattedParamValue - returns the current value of a parameter of a monitoring fx formatted
  • FXManagement: InputFX_GetFXChain - gets the FXStateChunk of the current monitoring-fx-chain
  • FXManagement: InputFX_GetFXGUID - returns the guid of a monitoring-fx
  • FXManagement: InputFX_GetFXName - returns the name of a monitoring-fx
  • FXManagement: InputFX_GetIOSize - returns the plugin-type and the number of input/output pins(if available) for a monitoring-fx
  • FXManagement: InputFX_GetNamedConfigParm - returns the plug-in specific named configuration value of a monitoring-fx
  • FXManagement: InputFX_GetNumParams - returns the number of parameters of a monitoring-fx
  • FXManagement: InputFX_GetOffline - returns, if a certain monitoring-fx is offline or not
  • FXManagement: InputFX_GetOpen - returns, if a certain monitoring-fx is visible or not
  • FXManagement: InputFX_GetParam - returns the current, maximum and minimum value of a parameter of a monitoring-fx
  • FXManagement: InputFX_GetParamEx - returns the current, maximum, minimum and mid-values of a parameter of a monitoring-fx
  • FXManagement: InputFX_GetParameterStepSizes - returns the stepsizes of a parameter of a monitoring-fx
  • FXManagement: InputFX_GetParamName - returns the name of a parameter of a monitoring-fx
  • FXManagement: InputFX_GetParamNormalized - returns a normalized version of the current value of a parameter of a monitoring-fx
  • FXManagement: InputFX_GetPinMappings - returns the current pin-mappings of a monitoring-fx
  • FXManagement: InputFX_GetPreset - returns the name of the currently selected preset
  • FXManagement: InputFX_GetPresetIndex - returns the index of the currently selected monitoring-fx plus all available presets
  • FXManagement: InputFX_GetUserPresetFilename - gets the preset's-filename(which stores the presets) of a certain monitoring-fx
  • FXManagement: InputFX_FormatParamValue - formats a value in the style of a parameter
  • FXManagement: InputFX_FormatParamValueNormalized - formats a value in the style of a parameter as normalized
  • FXManagement: InputFX_MoveFX - moves a monitoring fx to a new position
  • FXManagement: InputFX_MoveFXFromTakeFX - moves a takeFX to the monitoring-fx-chain
  • FXManagement: InputFX_MoveFXToTakeFX - moves a monitoring-fx into take as takeFX
  • FXManagement: InputFX_MoveFXFromTrackFX - moves a trackFX to the monitoring-fx-chain
  • FXManagement: InputFX_MoveFXToTrackFX - moves a monitoring-fx into a track as trackFX
  • FXManagement: InputFX_NavigatePresets - navigates through the presets of a monitoring-fx
  • FXManagement: InputFX_SetEnabled - set a monitoring-fx enabled or disabled
  • FXManagement: InputFX_SetEQBandEnabled - sets a enable-state of a band of a ReaEQ-instance in monitoring-fx
  • FXManagement: InputFX_SetEQParam - sets new values of a band of a ReaEQ-instance in monitoring-fx
  • FXManagement: InputFX_SetFXChain - sets a FXStateChunk into the monitoring-fx-chain; optionally replaces it
  • FXManagement: InputFX_SetOffline - sets a monitoring-fx offline/online
  • FXManagement: InputFX_SetOpen - sets visibility of a monitoring fx visible/invisible
  • FXManagement: InputFX_SetParam - sets a parameter of a monitoring-fx
  • FXManagement: InputFX_SetParamNormalized - sets a parameter of a monitoring-fx as normalized value
  • FXManagement: InputFX_SetPinMappings - sets the pinmappings of a monitoring-fx
  • FXManagement: InputFX_SetPreset - sets a preset of a monitoring-fx by presetname
  • FXManagement: InputFX_SetPresetByIndex - sets a preset of a monitoring-fx by presetindex
  • FXManagement: InputFX_Show - sets visibility and floating-state of a monitoring-fx
  • FXManagement: InputFX_QueryFirstFXIndex - queries the first fx within monitoring fx with a certain fxname
  • FXManagement: ParmModTable - new entry PARMLINK_LINKEDPLUGIN_RELATIVE, which allows indexing linked parameters relative to current fx(thanks to anton9 and Justin)

Changes from 4.1.005 to 4.1.006

  • Docs: ReaperAPIDocs - updated to JS-extension 1.217
  • Docs: VideoProcessor - added default-value-descriptions for param
  • FXManagement: AddParmMod_ParmModTable - produced nil-error with invalid fx-index; didn't correctly set the linked-parameter index(thanks to anton9 and Justin)
  • FXManagement: CreateDefaultParmModTable - didn't correctly return the linked-parameter index(thanks to anton9 and Justin)
  • FXManagement: GetParmModTable_FXStateChunk - didn't correctly return the linked-parameter index(thanks to anton9 and Justin)
  • FXManagement: IsValidParmModTable - didn't correctly check the linked-parameter index(thanks to anton9 and Justin)
  • FXManagement: SetParmMod_ParmModTable - produced nil-error with invalid fx-index; didn't correctly set the linked-parameter index(thanks to anton9 and Justin)
  • Rendering: Render_Loop - created unneeded peakfiles under some circumstances -> fixed(thanks to pandabot)
  • Rendering: RenderProject - created unneeded peakfiles under some circumstances -> fixed(thanks to pandabot)
  • Rendering: RenderProject_Regions - created unneeded peakfiles under some circumstances -> fixed(thanks to pandabot)
  • Rendering: RenderProject_RenderTable - created unneeded peakfiles under some circumstances -> fixed(thanks to pandabot)

4.1.005 - "The Beatles - I want you(she's so heavy)" - 25th of September 2020

30 Nov 01:35
Compare
Choose a tag to compare

Has now 1240 functions, with 25 new ones

new in this release:

  • Parameter Modulation/Learn/Alias/LFOLearn
    A long time feature-request finally fulfilled. You have full access to programmatically get/alter parameter-modulation, parameter aliases, LFOLearn or Learn in general.
    So anything you would want to do with parameter-modulation can now be scripted.
    I'm curious, what will happen because of that feature. Surprise me.
    Requested by so many.
    Please consider donating, as this was a massive undertaking. Holy cow!

  • SLEM
    Allows now different output-targets, so outputting the last error-message to the ReaScript-console or even the clipboard is possible with that.

  • Lua-ReferenceManual
    Now included is the Lua 5.3 reference-manual, so it's always at your hand when needed.

  • Ultraschall-API settings dialog
    There's now an Ultraschall-API settings dialog. Not much in there yet, but you can already set, where SLEM() or
    ultraschall.ShowLastErrorMessage() shall output their error-messages.
    More to follow.

  • Launchpad_functions
    I wrote some launchpad 1st generation-functions, which you can find in the misc-folder. So if you want to be able to program its button's lights, you can do it.

  • Gmem functions
    For those of you, who want to use different gmem-names in your functions, you sometimes run into trouble, that you can't restore the old gmem-attachement again, as you can't get its old name.
    Now you can. Gmem_GetCurrentAttachedName returns the last used gmem-attachname. Keep it to later attach the old gmem back.
    This works best, if you add the dofile-line to activate Ultraschall-API as first code-line in your script.

  • Filemanager demo
    To showcase the background-copying-functions, I wrote a small filemanager demo, which is now available in the example-scripts.
    It shows you, how you can copy even large files in the background and still manage to run the UI of a script without having to code complex background-copying-routines.

  • MB works again on Windows and Linux
    Broke in Reaper 6 but I could fix it so replacing the button-texts is possible again. Mac-users are out of luck, as the button-texts can't be replaced there in the first place. Sorry.

  • GetUserInputs on Mac
    Also broke with Reaper 6 due some internal changes of Reaper. I finally managed to make it work again.
    So you can get and set the captions and retvals again of the GetUserInputs-dialog.
    Resizing of caption/retval-fields and the positioning of the GetUserInput-window doesn't work on Mac currently, but will return later.
    So you can use these parameters safely on Mac and one of the future updates will make it work out of a sudden. :)

New features in 4.1.005

  • API: requirements - raised required Reaper-version to 6.05
  • API: Settings-Dialog - allows you to set US-API-default-settings(currently the default output of ShowLastErrorMessage()/SLEM())
  • Docs: FXManagement - added chapters about Introduction, Manipulating individual effects, Working with FX-StateChunks, Working with FX-StateChunk's functions
  • Docs: ParameterMod/Learn/Mapping - added chapters about Introduction, Parameter Alias, Parameter LFO Learn, Parameter Mapping Learn
  • Docs: Lua Reference Manual - now added for Lua 5.3, so you have its manual right at hand
  • DeveloperTools: MonitorParmModulation.lua - monitors a certain parameter-modulation and shows the contents of its ParmModTable
  • EnvelopeManagement: IsAnyNamedEnvelopeVisible - returns, if there's a specific named-envelope set to visible in any track
  • EnvelopeManagement: IsEnvelope_Track - returns, if an envelope is a TrackEnvelope(true) or a TakeEnvelope(false)
  • EnvelopeManagement: IsTrackEnvelopeVisible_ArrangeView - returns, if a TrackEnvelope is currently visible in arrangeview
  • Examplescript: US_Api_Examples_FileManager_example_showcasing_background_copying.lua - a simple file-manager which showcases background-copying
  • FXManagement: AddParmMod_ParmModTable - adds a new parameter-modulation of a specific FX in an FXStateChunk via a ParmModTable
  • FXManagement: CountParmModFromFXStateChunk - counts the number of parameter-modulations of a specifix FX in an FXStateChunk
  • FXManagement: CreateDefaultParmModTable - creates a ParameterModulationTable which holds Reaper's default values and can be altered
  • FXManagement: DeleteParmAlias2_FXStateChunk - like DeleteParmAlias_FXStateChunk, but allows indexing by parameter-index, not by number of existing aliasnames
  • FXManagement: DeleteParmModFromFXStateChunk - deletes a parameter-modulation of a specific FX in an FXStateChunk
  • FXManagement: GetAllParmAliasNames_FXStateChunk - gets all parameter-aliasnames of a specific fx from an FXStateChunk
  • FXManagement: GetParmAlias2_FXStateChunk - like GetParmAlias_FXStateChunk but allows indexing by parameter-index instead
  • FXManagement: GetParmModTable_FXStateChunk - returns a table with all values of a certain parameter-modulation of an fx
  • FXManagement: GetFXSettingsString_FXLines - returns the statestring of an fx as base64 and decoded-binary string
  • FXManagement: IsValidParmModTable - returns, if a table is a valid ParmModTable(used for altering Parameter-Modulations)
  • FXManagement: SetParmAlias2_FXStateChunk - like SetParmAlias_FXStateChunk but indexes by parameterindex, not already existing aliases
  • FXManagement: SetParmMod_ParmModTable - sets a parameter-modulation of an fx in an FXStateChunk via a ParmModTable
  • GFX-Management: GFX_DrawEmbossedSquare - draws an embossed square with optional background
  • GMEM: Gmem_GetCurrentAttachedName - returns the name of the currently attached gmem
  • Helper Functions: ActionsList_GetAllActions - returns all actions and shortcuts currently visible in the opened actionlist
  • Helper Functions: Create2DTable - creates a 2-dimensional table, of which all fields are indexable right away; optionally set to a default value
  • Helper Functions: Create3DTable - creates a 3-dimensional table, of which all fields are indexable right away; optionally set to a default value
  • Helper Functions: CreateMultiDimTable - create an up to 10-dimensional table, of which all fields are indexable right away; optionally set to a default value
  • Misc: Launchpad_functions - if you have a first generation LaunchPad by Novation, you can program it via a function-library in the misc-folder
  • ProjectManagement: AutoSave_GetMinutes - returns the number of minutes, at which a new autosaved project shall be saved
  • ProjectManagement: AutoSave_GetOptions - gets several auto-save-options
  • ProjectManagement: AutoSave_SetMinutes - sets the number of minutes, at which a new autosaved project shall be saved
  • ProjectManagement: AutoSave_SetOptions - sets several auto-save-options
  • ProjectManagement: GetProject_Author - gets the author of a projectfile or ProjectStateChunk(requested by dragonetti)

Changes from 4.1.004 to 4.1.005

  • API: print - replaces null-characters now with . when displaying strings containing them
  • API: print2 - replaces null-characters now with . when displaying strings containing them
  • API: print_alt - replaces null-characters now with . when displaying strings containing them
  • API: print_update - replaces null-characters now with . when displaying strings containing them
  • Docs: AddParmAlias_FXStateChunk - was missing parameter in functioncall -> fixed
  • Docs: ParmLearn-docs - corrected information and added missing stuff
  • Docs: Reaper; GetUserInputs - added information about how to pass over default-retvals and its limitations
  • Docs: Reaper Internals - updated to Reaper 6.14
  • Error Messaging-System: ReadErrorMessage - allows now keeping error-message readstate as unread
  • Error Messaging-System: ShowLastErrorMessage - additional parameters and retvals for more control of the output-target and messagetype returned
  • Error Messaging-System: SLEM - additional parameters and retvals for more control of the output-target and messagetype returned
  • EventManager: Eventmanager mainscript - always executed the checks-functions before updating externally sent states which could lead to race-condition-problems -> fixed(thanks to rstockm)
  • File Management: CopyFile_AddFileToQueue - basic check, if the target-file is the same as the source-file and throws an error in these cases
  • File Management: GetAllDirectoriesInPath - omitted folderseparator in returned folders, if it hasn't been passed into parameter path
  • File Management: CopyFile_GetRemainingFilesToCopy - returned the wrong number of remaining files -> fixed
  • FXManagement: GetFXFromFXStateChunk - returns now the start and endoffset of the returned lines, so they could be used for string substitution; didn't return anything under some circumstances -> fixed
  • FXManagement: GetParmAudioControl_FXStateChunk - deprecated
  • FXManagement: GetParmLFO_FXStateChunk - deprecated
  • FXManagement: GetParmMIDIPLink_FXStateChunk - deprecated
  • Helper Functions: ActionsList_GetSelectedActions - returns now the shortcuts of the selected actions as well
  • ParmAlias: AddParmLearn_FXStateChunk - did not add aliasnames with spaces correctly, added it to one parameter higher than requested -> fixed
  • ParmAlias: SetParmLearn_FXStateChunk - did not set aliasnames with spaces correctly -> fixed
  • TrackManagement: SetTrackStateChunk_Tracknumber - had inner variable exposed -> fixed
  • User Interface: GetUserInputs - workaround for Mac, so th...
Read more

4.1.004 - "I, E.T." - 21st of July 2020

30 Nov 01:35
Compare
Choose a tag to compare

Has now 1215 functions, with 15 new ones

new in this release:

  • Background Copying
    You can now copy files in the background(as additional defer-loops) within your script, while you do other stuff in your main defer-loops.
    You can set a buffer-size, which means, how much shall be copied per defer-cycle to balance between transfer-speed and possible Reaper-GUI-lags.

  • TimeToMeasures
    This allows you to convert a time in seconds to measures. I've used it in one script to set pre-roll(which only accepts measures) to a length in seconds.

  • RenderCodes for FFMPEG 4.1.3 on Windows
    If you've installed FFMPEG 4.1.3 in your Reaper-installation, you have additional output-render-formats available. I've added docs for these renderstring-settings now as well.

  • Updated docs, examplescripts and bugfixes

New features in 4.1.004

  • Docs: Concepts: Background Copying - decribes, how to program the background-copying-queue
  • FileManagement: CopyFile_AddFileToQueue - add files to the background-copying-queue
  • FileManagement: CopyFile_FlushCopiedFiles - flush the files from the copied list of the background-copying-queue
  • FileManagement: CopyFile_GetBufferSize - get the current copying-buffer size of the background-copying-queue
  • FileManagement: CopyFile_GetCopiedStatus - returns the current copy-status of a file in the background-copying-queue
  • FileManagement: CopyFile_GetCurrentlyCopiedFile - get the currently copied file in the background-copying-queue
  • FileManagement: CopyFile_GetCurrentlyRunningCopyInstances - get amount of currently running background-copying-instances
  • FileManagement: CopyFile_GetPausedState - get paused state of the background-copying-queue
  • FileManagement: CopyFile_GetRemainingFilesToCopy - get the remaining files in the background-copying-queue
  • FileManagement: CopyFile_IsCurrentlyCopying - returns, if background-copying is currently copying
  • FileManagement: CopyFile_Pause - toggle pausing of the background-copying-instances
  • FileManagement: CopyFile_SetBufferSize - set the new copying-buffer-size of the background-copying-queue
  • FileManagement: CopyFile_StartCopying - start copying all files in the background-copying-queue
  • FileManagement: CopyFile_StopCopying - stop copying the files in the background-copying-queue
  • Helper Functions: TimeToMeasures - converts a time to measures
  • Project Management: GetProject_MetaDataStateChunk - gets the statechunk from a project, which holds all metadata

Changes from 4.1.003 to 4.1.004

  • Docs: Reaper Internals - updated to Reaper 6.13
  • Docs: render-codes - added codes, who are available after having FFMPEG 4.1.3 installed
  • Docs: VideoProcessor-docs - added detailed description for @param and reworked code-examples, as they didn't work previously(thanks to Eliseat)
  • Examplescripts: US_Api_Examples_Render_Current_Project.lua - updated to the more recent rendering-functions(used the first and outdated ones)
  • Examplescripts: US_Api_Examples_Render_Project.lua - updated to the more recent rendering-functions(used the first and outdated ones)
  • Examplescripts: US_Api_Examples_Render_Region_of_current_Project.lua - updated to the more recent rendering-functions(used the first and outdated ones)
  • File Management: ReadBinaryFile_Offset - produced nil-error, when offset was after file's end; returned false in case of an error, even though it should return integer -> fixed
  • File Management: ReadBinaryFileFromPattern - returned false in case of an error, even though it should return integer -> fixed
  • File Management: ReadBinaryFileUntilPattern - returned false in case of an error, even though it should return integer -> fixed
  • MediaItems: RippleCut - moving of markers didn't work; added optional parameter which allows optionally moving markers as well
  • Rendering: CreateNewRenderTable - did not allow EmbedMetadata being optional -> fixed(thanks to aurelien)
  • Rendering: RenderProject - produced error, when a project's timeselection start&end where stored "backwards"; rendercfg for secondary rendering didn't work and caused havoc in numerous functions -> fixed (thanks to elzoido)

4.1.003 - "Premier" - 1st of July 2020

30 Nov 01:34
Compare
Choose a tag to compare

Has now 1200 functions, with 54 new ones

new in this release:

  • Theme Parameter Access and monitoring script
    Since Reaper 6, Cockos added the option of influencing a theme via so called theme-parameters. One such example is WhiteTie's Default Reaper6-Theme,
    which can be influenced via the theme-adjuster.
    And here's the thing: this can not only be influenced, it can also be programmed.
    So if you wanted to write scripts, who automatically adjust things without having to use the theme-adjuster, by using GetAllThemeLayoutParameters, ApplyAllThemeLayoutParameters, GetAllThemeLayoutParameters, GetThemeParameterIndexByDescription,
    GetThemeParameterIndexByName, SetThemeParameterIndexByDescription and SetThemeParameterIndexByName.
    And if you want to know, which theme-parameters can be set and which values are the right ones, the developer-package includes now a Theme-Parameter monitoring script.
    With that, you can see altered parameters(in Reaper's default v6 theme, for instance) and use the aforementioned functions to influence them accordingly.
    Just run the "Script: ultraschall_Add_Developertools_To_Reaper.lua"-script after installing the update and there you have it.
    One huge step into theme-customization...

  • MetaData
    Since Reaper has metadata-export-capabilities now, I've added nice and handy functions to get and set them, including docs and everything.
    The rendering-functions also allow now switching on the metadata-embedding, so there's no excuse anymore to not use it.

  • LangPack Compare-script
    This is probably useful for translators among you. I wrote a script, which compares two ReaperLangPack-files and returns the differences between the two into the clipboard.
    That way you can compare the most recent official LangPack with a former one and can see immediately, what has been added/altered and into where, so you can update your translation accordingly.
    Just run the "Script: ultraschall_Add_Developertools_To_Reaper.lua"-script after installing the update and there you have it.

  • Envelope Activation
    When working with envelopes, especially when scripting, you can not really work with envelopes, unless they are activated. Funny enough: there's no "Activate"Envelope"-function in Reaper's own API.
    So I tried to find ways around it.
    With ActivateEnvelope(good for send-envelopes), ActivateTrackPanEnv, ActivateTrackPreFXPanEnv, ActivateTrackPreFXVolumeEnv, ActivateTrackTrimVolumeEnv, ActivateTrackVolumeEnv you can activate most of
    the most important envelopes and therefore script them.
    Some are still missing, so I hope, I can add the missing ones too...

  • TrackManager
    It has been requested in the feature-request subforum and the general-forum: functions for the trackmanager.
    Thing is, it is quite useful, but there are simply no actions available for it, even though having shortcuts set to some of the basics can be very handy.
    So I added TrackManager_ClearFilter, TrackManager_OpenClose, TrackManager_ShowAll, TrackManager_SelectionFromProject, TrackManager_SelectionFromList, TrackManager_SetFilter who allow you to script many
    of the ui-elements of the track manager.

  • Lokasenna's Gui Lib v2
    now part of Ultraschall-API. Just run the function Lokasenna_LoadGuiLib_v2, which loads the GUI-Lib version deployed with Ultraschall-API including all its classes and the rest is the same as you are used to.
    There's nothing to worry, if you've already installed Lokasenna's GuiLib v2, as the version I deploy is independent of it.
    So you can safely use both on one system.

  • Ignore-Audio checkbox of video-items
    This is requested from time to time again, so I finally added it: the possibility to set the "ignore audio"-checkbox of a video-item.
    GetItem_Video_IgnoreAudio and SetItem_Video_IgnoreAudio are the functions of your choice.

  • Setting Aliasnames for FX-plugins
    Not available in the regular API, but in Ultraschall-API. This has been requested shortly before this release, a way to set the alternative/alias name of track and item-fx.
    A demofile US_Api_Examples_SetAliasNamesOfFX-Plugins.lua shows, what you can do with it...

  • SetTimeUnit
    Allows setting the timeunit of the transportfield, the ruler and the alternative ruler. Good for toggling through-actions...

  • Image Handling
    ResizeJPG, ConvertPNG2JPG and ConvertJPG2PNG give you more control over managing different image-files.

  • Bugfixes and other stuff
    For rendering, FXChains(as requested), updated nomenclature of functions, SLEM allows now getting more than just the last error-message, etc, etc

New features in 4.1.003

  • Developer Tools: Developer LangPack - added developer-langpack for Reaper 6.12c
  • Developer Tools: ultraschall_developertool_Theme_Parameter_Monitor.lua - monitor and manipulate theme-parameters(like from the default Reaper6-theme)
  • Developer Tools: ultraschall_developertool_Compare_LangPacks.lua - allows you to select two ReaperLangPack-files and puts missing/changed entries from each file into the clipboard
  • Envelopes: ActivateEnvelope - activates an envelope, so it can be shown in the arrangeview(thanks to sexan; requested by daniellumertz)
  • Envelopes: ActivateTrackPanEnv - activates the pan-envelope lane of a track
  • Envelopes: ActivateTrackPanEnv_TrackObject - activates the pan-envelope lane of a trackobject
  • Envelopes: ActivateTrackPreFXPanEnv - activates the pre-fx-pan-envelope lane of a track
  • Envelopes: ActivateTrackPreFXPanEnv_TrackObject - activates the pre-fx-pan-envelope lane of a trackobject
  • Envelopes: ActivateTrackPreFXVolumeEnv - activates the pre-fx-volume-envelope lane of a track
  • Envelopes: ActivateTrackPreFXVolumeEnv_TrackObject - activates the pre-fx-volume-envelope lane of a trackobject
  • Envelopes: ActivateTrackTrimVolumeEnv - activates the trim-volume-envelope lane of a track
  • Envelopes: ActivateTrackTrimVolumeEnv_TrackObject - activates the trim-volume-envelope lane of a trackobject
  • Envelopes: ActivateTrackVolumeEnv - activates the volume-envelope lane of a track
  • Envelopes: ActivateTrackVolumeEnv_TrackObject - activates the volume-envelope lane of a trackobject
  • Envelopes: GetTakeEnvelopeUnderMouseCursor - returns the take-envelope currently under the mouse
  • FXManagement: GetTakeFX_AlternativeName - gets the alternative/aliasname of a takefx(requested by dimtok)
  • FXManagement: GetTrackFX_AlternativeName - gets the alternative/aliasname of a trackfx(requested by dimtok)
  • FXManagement: SetTakeFX_AlternativeName - sets the alternative/aliasname of a takefx(requested by dimtok)
  • FXManagement: SetTrackFX_AlternativeName - sets the alternative/aliasname of a takefx(requested by dimtok)
  • GUI: Lokasenna's Gui Lib v2 - added his Gui-Lib v2 into Ultraschall-API; will not affect other possible GuiLib-installations on the current Reaper-installation
  • GUI: Lokasenna_LoadGuiLib_v2 - loads Lokasennas Gui-Lib and all available classes into your script
  • Image Handling: ResizeJPG - resizes jpgs to new jpgs
  • Image Handling: ConvertPNG2JPG - converts png into jpg
  • Image Handling: ConvertJPG2PNG - converts jpg into png
  • MediaItem Management: GetItem_Video_IgnoreAudio - gets the current state of the ignore audio-checkbox of a video-source of a MediaItem's take(requested by earhax)
  • MediaItem Management: SetItem_Video_IgnoreAudio - sets the state of the ignore audio-checkbox of a video-source of a MediaItem's take(requested by earhax)
  • Metadata Management: Metadata_BWF_GetSet - gets, sets BWF-metadata-tags from/in the current project
  • Metadata Management: Metadata_CART_GetSet - gets, sets CART-metadata-tags from/in the current project
  • Metadata Management: Metadata_CUE_GetSet - gets, sets CUE-metadata-tags from/in the current project
  • Metadata Management: Metadata_ID3_GetSet - gets, sets ID3-metadata-tags from/in the current project
  • Metadata Management: Metadata_INFO_GetSet - gets, sets INFO-metadata-tags from/in the current project
  • Metadata Management: Metadata_IXML_GetSet - gets, sets IXML-metadata-tags from/in the current project
  • Metadata Management: Metadata_VORBIS_GetSet - gets, sets VORBIS-metadata-tags(for Opus/Ogg-files) from/in the current project
  • Render Management: GetRender_AddRenderedFilesToProject - gets the checkbox-state for add rendered items to new tracks in project-checkbox in the Render to File-dialog
  • Render Management: GetRender_EmbedMetaData - gets the checkbox-state for embed-metadata in the Render to File-dialog
  • Render Management: GetRender_NoSilentFiles - gets the checkbox-state for "Do not render files that are likely silent"-checkbox in the Render to File-dialog
  • Render Management: GetRender_TailLength - gets the current taillength, as set in the Render to File-dialog
  • Render Management: SetRender_AddRenderedFilesToProject - gets the checkbox-state for add rendered items to new tracks in project-checkbox in the Render to File-dialog
  • Render Management: SetRender_EmbedMetaData - sets the checkbox for embed-metadata in the Render to File-dialog
  • Render Management: SetRender_NoSilentFiles - sets the checkbox-state for "Do not render files that are likely silent"-checkbox in the Render to File-dialog
  • Render Management: SetRender_TailLength - sets the current taillength, as set in the Render to File-dialog
  • Theme Management: ApplyAllThemeLayoutParameters - applies changes theme-layout parameters to the current theme; use GetAllThemeLayoutParameters to get an alterable table
  • Theme Management: GetThemeParameterIndexByDescription - gets the them...
Read more

4.1.002 - "The Buzzcocks - Why can't I touch it" - 8th of June 2020

30 Nov 01:33
Compare
Choose a tag to compare

Has now 1146 functions, with 17 new ones

new in this release:

  • Video window-Toggle Fullscreen
    You can now toggle the video-window fullscreen/non-fullscreen via VideoWindow_FullScreenToggle.

  • Activate/Deactivate Mute-envelopes
    Wasn't possible until now: activation and deactivation of Mute-Envelopes, as otherwise you cannot write to them.

  • MuteActions more stable
    They should now set mute-envelope-points properly, no matter of mute-env-armstate and/or automation-mode.

  • Project-Diffs-Developertool
    Reimplemented, so it shows only the diff-lines now.

  • Benchmarking-functions
    You can have multiple benchmark-slots, so benchmarking multiple values at the same time is now possible.
    That way, you can benchmark the whole script and individual functions in one go.

  • Item Buttons can be now toggled
    Now, you can toggle the buttons shown at the top of the MediaItem, like mute, FX, Envelopes, etc. Change them in one go, to have different "profiles"
    of MediaItem-buttons, that reflect the usecases of your different projects.

  • PreventUIRefresh and RestoreUIRefresh
    Like Reaper's own PreventUIRefresh, but prevents accidental misuse of its counter, as the counting up is done by PreventUIRefresh and the "reset" of a
    PreventUIRefresh can be undone by RestoreUIRefresh.
    When using RestoreUIRefresh(true), all ultraschall.PreventUIRefresh-calls are reset, so the user-interface of Reaper is useable again.

  • bugfixes and readdition of accidentally deleted function..oops ;)

New features in 4.1.002

  • Benchmarking: Benchmark_GetAllStartTimesAndSlots - returns the starttimes of all current benchmark-measuring-slots as a handy table(index=slot number)
  • Envelope Management: SetEnvelopeState_Act - sets bypass and automation-items-behavior
  • Envelope Management: SetEnvelopeState_DefShape - sets the default-envelope shapes and pitch-snap-settings
  • Envelope Management: SetEnvelopeState_LaneHeight - sets the height and compacted state of an envelope
  • Envelope Management: SetEnvelopeState_Vis - sets the visibility-state of an envelope
  • Mute Management: ActivateMute - activates a mute-envelope of a track
  • Mute Management: ActivateMute_TrackObject - activates a mute-envelope of a track
  • Mute Management: DeactivateMute - deactivates a mute-envelope of a track
  • Mute Management: DeactivateMute_TrackObject - deactivates a mute-envelope of a track
  • Take Management: GetTake_ReverseState - returns, if a take is reversed or not
  • User Interface: GetItemButtonsVisible - gets the individual item-buttons visible/invisible-state
  • User Interface: GetPreventUIRefreshCount - the number of times you need to restore UI-refresh
  • User Interface: PreventUIRefresh - prevents refreshing of the user-interface, more solid, than Reaper's own PreventUIRefresh-function
  • User Interface: RestoreUIRefresh - restores a prevented UI-refreshing
  • User Interface: SetItemButtonsVisible - sets the individual item-buttons visible/invisible
  • User Interface: VideoWindow_FullScreenToggle - toggles full-screen-state of the video-processor-window(requested by vectorwarrior)

Changes from 4.1.001 to 4.1.002

  • Benchmarking: Benchmark_GetStartTime - has now additional optional parameter slot to get the starttime of a certain benchmarking-slot(requested by rstockm)
  • Benchmarking: Benchmark_MeasureTime - has now additional optional parameter slot, with which you can store multiple measurings into different slots, for more benchmarks than just one(requested by rstockm)
  • Developer Tools: ultraschall_developertool_Project_State_Diffs_Monitor.lua - improved so it now only shows changed lines and therfore proper diffs
  • Docs: Reaper internals - updated to Reaper 6.11, SWS 2.11.0 and JS-extension 1.215; added accidentally missing functions
  • Docs: US-docs - functionname's last ) was not bold for some reason -> fixed
  • Envelope Management: GetEnvelopeState_DefShape - added missing descriptions for returnvalues for pitch-snap
  • GUI: Scythe - loads its libraries from UserPlugins\ultraschall_api\3rd_party_modules\Scythe\ now, so it shouldn't get in conflict with user's own installation of a Scythe-instance
  • Marker Management: CountNormalMarkers - optimized speed
  • Marker Management: GetAllMarkersBetween - parameters can be nil now, allowing to be used for projectstart and projectend
  • Marker Management: GetAllRegionsBetween - parameters can be nil now, allowing to be used for projectstart and projectend
  • Marker Management: EnumerateNormalMarkers - optimized speed
  • Marker Management: SetNormalMarker - optimized speed
  • Marker Management: DeleteNormalMarker - optimized speed
  • Marker Management: IsMarkerNormal - optimized speed
  • Mute Management: GetNextMuteState - returns now the mutestate, even if no mute-envelope is active
  • Mute Management: GetNextMuteState_TrackObject - returns now the mutestate, even if no mute-envelope is active
  • Mute Management: GetPreviousMuteState - returns now the mutestate, even if no mute-envelope is active
  • Mute Management: GetPreviousMuteState_TrackObject - returns now the mutestate, even if no mute-envelope is active; didn't return envIDX correctly -> fixed
  • Mute Management: ToggleMute - sets now mute-envelope point regardless of env-recarm or automation-mode; activates inactive mute-envelopes now as well
  • Mute Management: ToggleMute_TrackObject - sets now mute-envelope point regardless of env-recarm or automation-mode; activates inactive mute-envelopes now as well
  • Project Files: GetProject_MarkersAndRegions - supports now returning regions-states of selected and region render-matrix; fixed bugs with selected regions not recognized(thanks to aurelien)
  • Render: ApplyRenderTable_Project - had problem, when applied twice in a script -> fixed(thanks to aurelien)
  • Render: ApplyRenderTable_ProjectFile - had problem, when applied twice in a script -> fixed(thanks to aurelien)
  • SetRender_SaveCopyOfProject - got accidentally deleted, readded it now (thanks to aurelien)