Skip to content

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

5 - "Eels - Novocaine for the Soul" - 9th of August 2024

30 Aug 14:18
Compare
Choose a tag to compare

5 - "Eels - Novocaine for the Soul" - 9th of August 2024

Has now 1807 functions, with 144 new ones

Note: requires at least Reaper 7.03 now!

new in this release:

  • ReaGirl - an accessible gui-library
    One and a half years in the making, I've finally added ReaGirl, an accessible gui-library for Reaper. It allows you
    to easily code your own guis with labels, checkboxes, buttons, drop down menus, sliders, images and tabs.
    Open the docs with the action "ReaGirl_Help_Introduction_Concepts_Tutorials_Documentation.lua" to read, how to work with it.

  • Preview MIDI-functions
    You can preview now midi-notes, cc, pc and pitch in a certain track with dedicated functions for it.

  • Lane functions
    Various functions around the new track-lane-features of Reaper.

  • Project pos 2 Take-pos 2 Project pos
    Functions to get the take-position at a certain project position and the project-position at a take position.
    Used to be in there in an earlier version and reappear now, due to a bugfix in Reaper.

New features in 5

  • Helpers: SplitReaperString - splits a Reaper-string into its components.
  • Item: GetItemYPos - Returns position and height of the MediaItem in a fixed item lane/free item positioning.
  • Items: MediaItem_GetAllVisibleTransients_ActiveTake - returns the number and positions of visible transients of the active take of a MediaItem.
  • Lanes: GetTrackFixedLanesState - returns Fixed Lanes-state.
  • Lanes: GetTrackLaneNameState - returns Lanes name-state.
  • Lanes: GetTrackLaneRecState - returns Lanes rec-state.
  • Lanes: GetTrackLaneSoloState - returns Lanes solo-state.
  • Lanes: ItemLane_Count - returns the number of item-lanes in a track
  • Lanes: ItemLane_GetAllMediaItems - returns the MediaItems from an item-lanes in a track between start_position and end_position
  • Lanes: ItemLane_GetFromPoint - returns the MediaTrack and the item-lane at a screen-coordinate
  • Lanes: ItemLane_GetPositionAndHeight - returns the position and height of an item-lanes in a track
  • Markers: RippleCut_Regions_Reverse - ripple cuts regions before startposition and moves them towards project-end
  • MIDI: PreviewMidiCCInTrack - previews a midi-cc in a specific armed track
  • MIDI: PreviewMidiNoteInTrack - previews a midi-note in a specific armed track
  • MIDI: PreviewMidiPCInTrack - previews a midi-pc in a specific armed track
  • MIDI: PreviewMidiPitchInTrack - previews a midi-pitch in a specific armed track
  • ReaGirl: AtEnter - Adds a function that shall be run when someone hits Enter while the gui is opened.
  • ReaGirl: AutoPosition_SetNextUIElementRelativeTo - Set the auto-positioning starting point to the position of a certain ui-element.
  • ReaGirl: Background_GetSetColor - Gets/Sets the color of the background.
  • ReaGirl: Base64_Decoder - Converts a Base64-encoded string into a normal string.
  • ReaGirl: Base64_Encoder - Converts a string into a Base64-Encoded string.
  • ReaGirl: Button_Add - Adds a button to a gui.
  • ReaGirl: Button_GetDisabled - Gets a button's disabled(non clickable)-state.
  • ReaGirl: Button_GetRadius - Gets a button's radius.
  • ReaGirl: Button_SetDisabled - Sets a button as disabled(non clickable).
  • ReaGirl: Button_SetRadius - Sets the radius of a button.
  • ReaGirl: Checkbox_Add - Adds a checkbox to a gui.
  • ReaGirl: Checkbox_GetCheckState - Gets a checkbox's current checked-state.
  • ReaGirl: Checkbox_GetDisabled - Gets a checkbox's disabled(non clickable)-state.
  • ReaGirl: Checkbox_SetCheckState - Sets a checkbox's state of the checkbox.
  • ReaGirl: Checkbox_SetDisabled - Sets a checkbox as disabled(non clickable).
  • ReaGirl: Checkbox_SetWidth - sets width of a checkbox, which helps you with autopositioning
  • ReaGirl: DropDownMenu_Add - Adds a dropdown-menu to a gui.
  • ReaGirl: DropDownMenu_GetDimensions - Gets the width of a drop down menu.
  • ReaGirl: DropDownMenu_GetDisabled - Gets a dropdown-menu's disabled(non clickable)-state.
  • ReaGirl: DropDownMenu_GetMenuItems - Gets a dropdown-menu's menu-items and the index of the currently selected menu-item.
  • ReaGirl: DropDownMenu_SetDimensions - Sets the width of a dropdownmenu.
  • ReaGirl: DropDownMenu_SetDisabled - Sets a drop down menu as disabled(non clickable)-state.
  • ReaGirl: DropDownMenu_SetMenuItems - Sets a dropdown-menu's menuitems and the index of the currently selected menu-item.
  • ReaGirl: Ext_Tab_SetSelected - sets a tab of specific ReaGirl-gui-window focused
  • ReaGirl: Ext_Window_Focus - sets focus to an opened ReaGirl-gui-window
  • ReaGirl: Ext_Window_GetState - gets the position, current dimensions and dock-state of an opened/previously opened ReaGirl-window
  • ReaGirl: Ext_Window_IsOpen - gets, if a specific ReaGirl-gui-window is currently opened
  • ReaGirl: Ext_Window_ResetToDefault - resets a ReaGirl-Gui-Window to its default dimensions and dockstate
  • ReaGirl: Ext_Window_SetState - gets the current dimensions and dock-state of an opened/previously opened ReaGirl-window
  • ReaGirl: GetVersion - Returns the version-number of the installed ReaGirl.
  • ReaGirl: Gui_AtExit - Adds a function that shall be run when the gui is closed with reagirl.Gui_Close()
  • ReaGirl: Gui_Close - Closes the gui-window.
  • ReaGirl: Gui_ForceRefresh - Forces a refresh of the gui.
  • ReaGirl: Gui_GetBoundaries - Returns the current boundaries of the ui-elements. Means, from 0 to the the farthest ui-element-width/height at right/bottom edge of the gui-window.
  • ReaGirl: Gui_IsOpen - Checks, whether the gui-window is open.
  • ReaGirl: Gui_Manage - Manages the gui-window.
  • ReaGirl: Gui_New - Creates a new gui by removing all currently(if available) ui-elements.
  • ReaGirl: Gui_Open - Opens a gui-window. If x and/or y are not given, it will be opened centered.
  • ReaGirl: Gui_PreventCloseViaEscForOneCycle - Prevents the closing of the gui via esc-key for one defer-cycle.
  • ReaGirl: Gui_PreventEnterForOneCycle - Prevents the user from hitting the enter-key for one cycle, so the run-function for the enter-key is not run in this cycle.
  • ReaGirl: Gui_PreventScrollingForOneCycle - Prevents the scrolling of the gui via keyboard/mousewheel/swiping for this defer-cycle.
  • ReaGirl: Image_Add - Adds an image to the gui. This image can run a function when clicked on it.
  • ReaGirl: Image_ClearToColor - Clears the image with a set r-g-b-color. It also clears the previously loaded image-filename.
  • ReaGirl: Image_GetDimensions - Gets the width and height of an image.
  • ReaGirl: Image_GetDraggable - Gets the current draggable state of an image.
  • ReaGirl: Image_GetImageFilename - Returns the filename of the currently loaded image.
  • ReaGirl: Image_KeepAspectRatio - Set if the image shall keep its aspect ratio when shown.
  • ReaGirl: Image_Load - Loads a new image-file of an existing image in the gui.
  • ReaGirl: Image_ReloadImage_Scaled - Realoads an image.
  • ReaGirl: Image_SetDimensions - Sets the width and height of an image.
  • ReaGirl: Image_SetDraggable - Sets the current draggable state of an image.
  • ReaGirl: Inputbox_Add - Adds an inputbox to a gui.
  • ReaGirl: Inputbox_GetCursorOffset - Gets an inputbox's current cursor offset.
  • ReaGirl: Inputbox_GetDisabled - Gets an inputbox's disabled(non clickable)-state.
  • ReaGirl: Inputbox_GetPassword - gets an inputbox to show * instead of the text(for password entry, etc)
  • ReaGirl: Inputbox_GetSelectedText - Gets an inputbox's currently selected text.
  • ReaGirl: Inputbox_GetText - Gets an inputbox's current text.
  • ReaGirl: Inputbox_SetDisabled - Sets an inputbox as disabled(non clickable).
  • ReaGirl: Inputbox_SetEmptyText - Sets an inputbox's shown text when nothing has been input.
  • ReaGirl: Inputbox_SetPassword - Sets an inputbox to show * instead of the text(for password entry, etc)
  • ReaGirl: Inputbox_SetText - Sets a new text of an inputbox.
  • ReaGirl: IsValidGuid - Checks, if guid is a valid guid. Can also be used for strings, that contain a guid somewhere in them(strict=false)
  • ReaGirl: Label_Add - Adds a label to the gui.
  • ReaGirl: Label_AutoBackdrop - sets a backdrop from label to underneath a specific ui-element
  • ReaGirl: Label_GetAlignement - Gets the alignment of a label.
  • ReaGirl: Label_GetDraggable - Gets the current draggable state of a label.
  • ReaGirl: Label_GetBackdrop - Gets the backdrop of a label.
  • ReaGirl: Label_GetFontSize - Gets the font-size of a label.
  • ReaGirl: Label_GetStyle - Gets the style of a label.
  • ReaGirl: Label_SetAlignment - Sets the font-size of a label.
  • ReaGirl: Label_SetBackdrop - Sets the backdrop of a label.
  • ReaGirl: Label_SetDraggable - Sets the current draggable state of a label.
  • ReaGirl: Label_SetFontSize - Sets the font-size of a label.
  • ReaGirl: Label_SetLabelText - Sets a new label text to an already existing label.
  • ReaGirl: Label_SetStyle - Sets the style of a label.
  • ReaGirl: Mouse_GetCap - Checks clickstate and mouseclick/wheel-behavior, since last time calling this function and returns their states.
  • ReaGirl: NextLine - Starts a new line, when autopositioning ui-elements using the _add-functions.
  • ReaGirl: ReserveImageBuffer - Reserves a framebuffer which will not be used by ReaGirl for drawing.
  • ReaGirl: ResizeImageKeepAspectRatio - Resizes an image, keeping its aspect-ratio. You can set a background-color for non rectangular-images.
  • ReaGirl: ScreenReader_SendMessage - sends a message to screen-reader users
  • ReaGirl: Slider_Add - Adds a slider to a gui.
  • ReaGirl: Slider_GetDefaultValue - Gets the current set value of the slider.
  • ReaGirl: Slider_GetDimensions - Gets the width of a slid...
Read more

4.9 - "Depeche Mode - Everything Counts" - 30th of June 2023

02 Jul 20:42
Compare
Choose a tag to compare

Has now 1663 functions, with 13 new ones and two fewer ones(!)

new in this release:

  • ReaSpaghetti
    Features bugfixes and additions that will make Ultraschall API compatible with Sexan's ReaSpaghetti coding-tool in the future.
    Keep checking for ReaSpaghetti-updates for more details.

  • Razor Edit
    You can now set and resize RazorEdits. The resizing is possible by setting a new length or resizing by a factor, like 0.5 for half or 2 for double the size.

New features in 4.9

  • Docs: links and code-examples - added links to related functions as well as some first code-examples; can now add more very easily
  • DocEngine: Docs_GetAllUSDocBlocsFromFile - loads all USDocBlocs from a file
  • DocEngine: Docs_GetReaperApiFunction_Categories - returns the index-categories of a Reaper-function(including extensions)
  • DocEngine: Docs_GetUSDocBloc_Examples - retrieves the code-example-attributes stored in a USDocBloc
  • DocEngine: Docs_GetUltraschallApiFunction_Categories - returns the index-categories of an Ultraschall-function
  • Envelopes: DeleteTrackEnvelopePointsBetween - removes all envelope-points between start and endposition
  • RazorEdit: RazorEdit_GetBetween_Envelope - get all razor-edits of an envelope between start and endposition one or all razor-edits in a track
  • RazorEdit: RazorEdit_GetBetween_Track - get all razor-edits of a track between start and endposition
  • RazorEdit: RazorEdit_Resize_Envelope - resizes one or all razor-edits in an envelope
  • RazorEdit: RazorEdit_ResizeByFactor_Envelope - resizes one or all razor-edits in an envelope by a factor(requested by Daniel Lumertz)
  • RazorEdit: RazorEdit_Resize_Track - resizes one or all razor-edits in a track
  • RazorEdit: RazorEdit_ResizeByFactor_Track - resizes one or all razor-edits in a track by a factor(requested by Daniel Lumertz)
  • RazorEdit: RazorEdit_Set_Envelope - sets start/endposition of a razor-edit in an envelope
  • RazorEdit: RazorEdit_Set_Track - sets start/endposition of a razor-edit in a track

Changes from 4.8 to 4.9

  • Helper Functions: SFEM - crashed, when the occurred error happened not within a function -> fixed now
  • DocEngine: Docs_GetAllUSDocBlocsFromString - returned nil in case of an error which was wrong; returns -1 now -> fixed now
  • Docs: Reaper Internals - updated to Reaper 6.80
  • Envelopes: MoveTrackEnvelopePointsBy - didn't properly move and cut envelope-points -> fixed
  • MediaItems: RippleCut - didn't properly move and cut envelope-points; cut env-points in all tracks, not just the ones from trackstring -> fixed
  • MediaItems: RippleCut_Reverse - didn't properly move and cut envelope-points; cut env-points in all tracks, not just the ones from trackstring -> fixed
  • MediaItem_Takes: GetProjectPosByTakeSourcePos - removed from release, due a Reaper bug that might remove take-markers; will return when bug is fixed
  • MediaItem_Takes: GetTakeSourcePosByProjectPos - removed from release, due a Reaper bug that might remove take-markers; will return when bug is fixed
  • PodcastMetadata: GetPodcastContributorAttributesAsJSON - fix due fix in GetSetContributor_Attributes
  • PodcastMetadata: GetSetContributor_Attributes - had wrong undocumented parameter in the function which is removed now; added "ctrb_role"
  • PodcastMetadata: GetSetPodcastEpisode_Attributes - removed "epsd_tagline" and "epsd_author"
  • PodcastMetadata: GetSetPodcast_Attributes - added "podc_tagline" and "podc_feed"
  • PodcastMetadata: GetShownoteAttributesAsJSON - timestamp is now in hh:mm:ss:mss
  • PodcastMetadata: PodcastMetadata_CreateJSON_Entry - did only do the first chapter, ignoring the rest; improved layout of JSON -> fixed
  • RazorEdit: RazorEdit_Nudge_Track - index didn't count properly, when envelopes had razor-edits -> fixed now

4.8 - "Sparks - When do I get to sing my way" - 8th of April 2023

11 Jun 13:06
Compare
Choose a tag to compare

Has now 1652 functions, with 37 new ones

new in this release:

  • Docs-Find-functions
    Added now a lot of functions to access the docs of a function directly via API.
    You can also use the various Find-functions to search for functions matching certain words and slugs.
    With that, you can build your own API-search-tools.
    Oh: and you can search the Config-Vars too!

  • UTF8/string-functions for Lua
    Various helperfunctions for dealing with strings and utf8-encoded strings. They'll be added to the string-module of Lua.

  • Store RenderTable as extstate
    You can store and retrieve RenderTables from/to extstates and projextstates. So you can store multiple render-settings in a project.
    So if you have different render-settings for different parts of your project, you can store and restore them now from extstates without having to spam the render-presets.

New features in 4.8

  • Debug: Debug_ShowCurrentContext - calling this function returns/shows the current sourcefile, linenumber and function-context(for debug)
  • HelperFunctions: ConvertIniStringToTable - converts a loaded ini-file into a table
  • HelperFunctions: string.has_alphanumeric - returns if a string has a alphanumeric-character
  • HelperFunctions: string.has_control - returns if a string has a control-character
  • HelperFunctions: string.has_digits - returns if a string has a digit-character
  • HelperFunctions: string.has_hex - returns if a string has a hex-character
  • HelperFunctions: string.has_letter - returns if a string has a letter-character
  • HelperFunctions: string.has_lowercase - returns if a string has a lowercase-character
  • HelperFunctions: string.has_printable - returns if a string has a printable-character
  • HelperFunctions: string.has_space - returns if a string has a space-character
  • HelperFunctions: string.has_uppercase - returns if a string has a uppercase-character
  • HelperFunctions: string.utf8_len - returns the length of an utf8-encoded string; works like string.len
  • HelperFunctions: string.utf8_sub - gets the substring of an utf8-encoded string; works like string.sub
  • Docs: Docs_FindReaperApiFunction_Pattern - searches for api-functions(including extensions) that follow a search pattern
  • Docs: Docs_FindReaperConfigVar_Pattern - searches for configuration variables that follow a search pattern
  • Docs: Docs_FindUltraschallApiFunction_Pattern - searches for Ultraschall Api-functions that follow a search pattern
  • Docs: Docs_GetAllReaperApiFunctionnames - returns all reaper-API-functionnames existing in the docs(includes extensions)
  • Docs: Docs_GetAllUltraschallApiFunctionnames - returns all Ultraschall-API-functionnames existing in the docs(includes extensions)
  • Docs: Docs_GetReaperApiFunction_Call - returns the functioncall of a Reaper-API-function(includes extensions)
  • Docs: Docs_GetReaperApiFunction_Description - returns the description of a Reaper-API-function(includes extensions)
  • Docs: Docs_GetReaperApiFunction_Params - returns the parameters of a Reaper-API-function(includes extensions)
  • Docs: Docs_GetReaperApiFunction_Retvals - returns the returnvalues of a Reaper-API-function(includes extensions)
  • Docs: Docs_GetReaperApiFunction_Requires - returns the required dependencies of a Reaper-API-function(includes extensions)
  • Docs: Docs_GetReaperApiFunction_Tags - returns the tags of a Reaper-API-function(includes extensions)
  • Docs: Docs_GetUltraschallApiFunction_Call - returns the functioncall of a Ultraschall-API-function(includes extensions)
  • Docs: Docs_GetUltraschallApiFunction_Description - returns the description of a Ultraschall-API-function(includes extensions)
  • Docs: Docs_GetUltraschallApiFunction_Params - returns the parameters of a Ultraschall-API-function(includes extensions)
  • Docs: Docs_GetUltraschallApiFunction_Retvals - returns the returnvalues of a Ultraschall-API-function(includes extensions)
  • Docs: Docs_GetUltraschallApiFunction_Requires - returns the required dependencies of a Ultraschall-API-function(includes extensions)
  • Docs: Docs_GetUltraschallApiFunction_Tags - returns the tags of a Ultraschall-API-function(includes extensions)
  • Docs: Docs_LoadReaperApiDocBlocs - (re)loads the entries of the Reaper api-documentation
  • Docs: Docs_LoadReaperConfigVarsDocBlocs - (re)loads the entries of the config-var-documentation
  • Docs: Docs_LoadUltraschallApiDocBlocs - (re)loads the entries of the Ultraschall api-documentation
  • Rendering: GetRenderTable_ExtState - gets a RenderTable stored in an extstate
  • Rendering: GetRenderTable_ProjExtState - gets a RenderTable stored in a projextstate
  • Rendering: SetRenderTable_ExtState - stores a RenderTable in an extstate
  • Rendering: SetRenderTable_ProjExtState - stores a RenderTable in a projextstate

Changes from 4.75 to 4.8

  • Docs: Reaper Internals - updated docs to Reaper 6.78, SWS 2.13.2.0, ReaFab 0.3.10, ReaImGui 0.8.5, ReaLlm 0.4.1 and added PeloReaper 2023.02.19
  • FXManagement: SetFXStateChunk - didn't work properly on tracks without an existing FXChain -> fixed now(thanks to tompad)

4.75 - "Soundgarden - Black Hole Sun" - 19th of December 2022

11 Jun 13:05
Compare
Choose a tag to compare

Has now 1615 functions, with 25 new ones

new in this release:

  • AutoBypass settings
    You can now get and set autobypass for projects as well as global preferences, using GetFXAutoBypassSettings and SetFXAutoBypassSettings.
    You can also force autobypass for an fx, using GetFXAutoBypass_FXStateChunk and SetFXAutoBypass_FXStateChunk.

  • Better ErrorMessages
    Error messages, returned by functions like SLEM() or SFEM, return now more information about, in which script the error happened, in which function exactly and the linenumber.
    So debugging is much more easier now.

  • Resize of gfx-images
    You can now resize gfx-images, load with gfx.loadimg, keeping aspect ratio, using GFX_ResizeImageKeepAspectRatio.
    It's better for making images smaller than making them bigger(causes artifacts) but, you can do it now.

  • Only markers within timerange
    The Count markers-functions allow now counting from start to end-position. That way you can get the exact number of markers within the range.

  • Rendering
    supports now "Render stems pre-fader" and "Only render channels that are sent to parent" options; fixed various bugs with them too.
    You can also get/set, if you want to output statistics-outfiles, using SetRender_SaveRenderStats and GetRender_SaveRenderStats.

  • PodcastMetaData
    fixed various bugs, added contributors and websites and a way to export the podcast-metadata as JSON according to the PodMeta_v1-standard,
    including setting them into ID3, APE, IXML and VORBIS-COMMENT-metadata storage of Reaper.

  • Bugfixes

New features in 4.75

  • FXManagement: GetFXAutoBypass_FXStateChunk - sets autobypass state of an fx within an FXStateChunk
  • FXManagement: GetFXAutoBypassSettings - gets current states of various autobypass-settings
  • FXManagement: SetFXAutoBypass_FXStateChunk - sets autobypass state of an fx within an FXStateChunk
  • FXManagement: SetFXAutoBypassSettings - gets current states of various autobypass-settings
  • GFX-Functions: GFX_ResizeImageKeepAspectRatio - resizes a loaded image while keeping aspect ratio
  • GFX-Functions: GFX_BlitText_AdaptLineLength - draws a text and resizes the the line-lengths so they fit into the width and height-parameters
  • Helper functions: GetRandomString - returns a random generated string with characters (requested by ChatGPT) [p=2622707]
  • PodcastMetadata: CountContributors - counts the podcast contributors stored in an opened project
  • PodcastMetadata: GetChapterAttributesAsJSON get the metadata of a chapter as JSON
  • PodcastMetadata: GetEpisodeAttributesAsJSON get the metadata of an episode as JSON
  • PodcastMetadata: GetPodcastAttributesAsJSON get the metadata of a podcast as JSON
  • PodcastMetadata: GetPodcastEpisodeAttributesPreset_Name - gets the name of an episode-metadata-preset
  • PodcastMetadata: GetPodcastAttributePresetSlotByName - gets the preset-slot of podcast-presets by its name
  • PodcastMetadata: GetEpisodeAttributePresetSlotByName - gets the preset-slot of episode-presets by its name
  • PodcastMetadata: GetPodcastAttributesPreset_Name - gets the name of a podcast-metadata-preset
  • PodcastMetadata: GetPodcastContributorAttributesAsJSON - gets the contributors as JSON
  • PodcastMetadata: GetSetContributor_Attributes - gets/sets the attributes of an episode's contributor
  • PodcastMetadata: GetSetPodcastWebsite - gets/sets websites for a podcast
  • PodcastMetadata: GetShownoteAttributesAsJSON get the metadata of a shownote as JSON
  • PodcastMetadata: PodcastMetadata_CreateJSON_Entry - creates entire podcast-metadata-entry as JSON according to PodMeta_v1-standard
  • PodcastMetadata: PodcastMetaData_ExportWebsiteAsJSON - creates website's metadata as JSON
  • PodcastMetadata: SetPodcastEpisodeAttributesPreset_Name - sets the name of an episode-metadata-preset
  • PodcastMetadata: SetPodcastAttributesPreset_Name - sets the name of a podcast-metadata-preset
  • Rendering: GetRender_SaveRenderStats - gets the save outfile.render_states.html-checkbox-state
  • Rendering: SetRender_SaveRenderStats - sets the save outfile.render_states.html-checkbox-state

Changes from 4.7 to 4.75

  • API: Modulator3000 - reverted speedup of the speedup, as it had trouble on 32-bit-machines -> thanks binbinfr
  • Docs: updated to Reaper 6.72; config-variable-docs has improved index
  • ErrorMessagingSystem: SLEM/ShowLastErrorMessage/SFEM - return now the function, linenumber and sourcefile, in which AddErrorMessage was called
  • FXManagement: GetFXFromFXStateChunk - rewritten from scratch, should be more stable now
  • MarkerManagement: CountAllCustomMarkers - allows now counting custom-markers within a start and end-time
  • MarkerManagement: CountNormalMarkers - allows now counting normal markers within a start and end-time
  • MarkerManagement: CountShownoteMarkers - allows now counting shownotes within a start and end-time
  • MediaItemManagement: InsertMediaItemStateChunkArray - supports now inserting needed tracks, if the number of tracks<the number of tracks needed by the items to be inserted
  • MediaItemManagement: RippleCut - had trouble with projects, where there's only one item on track 1 and no other tracks
  • PodcastMetadata: GetSetChapterMarker_Attributes - supports now setting position "chap_position" and markertitle "chap_title"
  • PodcastMetadata: GetSetPodcast_Attributes - can now get/store attributes either in the current project or a preset, not in both at the same time; removed websites; will be done by GetSetPodcastWebsite instead
  • PodcastMetadata: GetSetPodcastEpisode_Attributes - can now get/store attributes either in the current project or a preset, not in both at the same time
  • PodcastMetadata: GetSetShownoteMarker_Attributes - supports now attribute shwn_linked_audiovideomedia, which allows linking media directly with a time_stamp; supports now setting position "shwn_position" and markertitle "shwn_title"
  • ProjectFiles: GetProject_RenderStems - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • ProjectFiles: SetProject_RenderStems - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: AddRenderPreset - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: ApplyRenderTable_Project - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options; didn't apply various settings -> fixed
  • RenderManagement: ApplyRenderTable_ProjectFile - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: CreateNewRenderTable - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options; default RenderTable did return bool instead of integer for FadeOut_Shape -> fixed (thnx to aurelien)
  • RenderManagement: GetRenderPreset_RenderTable - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: GetRenderTable_Project - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: GetRenderTable_ProjectDefaults - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: GetRenderTable_ProjectFile - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: IsValidRenderTable - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options
  • RenderManagement: SetRenderPreset - supports now new "Render stems pre-fader" and "Only render channels that are sent to parent" options; fixed edge-cases that could prevent presets from being replaced with the new one
  • TrackManagement: GetTrackGroupFlags - supports now Media/Razor-Edit Lead and Follow
  • TrackManagement: GetTrackGroupFlags_HighState - supports now Media/Razor-Edit Lead and Follow
  • TrackManagement: SetTrackGroupFlags - supports now Media/Razor-Edit Lead and Follow
  • TrackManagement: SetTrackGroupFlags_HighState - supports now Media/Razor-Edit Lead and Follow

4.7 - "Pearl Jam - Alive" - 16th of October 2022

11 Jun 12:54
Compare
Choose a tag to compare

Has now 1590 functions, with 58 new ones

new in this release:

  • Marker Menu
    You can code now your own left-click marker-context-menus. Add Entries with MarkerMenu_InsertEntry and MarkerMenu_InsertEntry_DefaultMarkers
    and start the menu with MarkerMenu_Start. You can add new menuentries or remove them during runtime. So if you add a new marker-menu-entry, it will
    be shown in the menu the next time the user hits left-click on a marker.
    And: you can create menus for custom markers as well. So a custom marker called _ShowNote: can have a different menu than _AliceInWonderland:
    It also includes regions.
    And action-marker.

  • ShowNote/Podcast Metadata
    Relevant for podcasting use-cases, you can now add metadata to shownote/normal-markers as well as podcast/podcast-episode metadata.
    Future versions will include export functions for putting them into the mediafile's metadata.

  • EventManager - Debug
    New features for debugging EventManager stuff, like getting additional states and execution-times. So you can check for performance.
    And if you don't want to code one yourself: there's a EventManager monitoring-script in the developer-tools, which shows you the
    execution-times for each check-function-cycle AND the time from after the end of the execution-time until the next one.
    This allows you to tweak performance for your check-functions. The monitoring-tool even gives you a hint, how low the execution-times
    must be for Reaper's UI not lagging.

  • Get Project-time by MediaSource-time and the other way round
    Get the exact project position from a given source-position or the exact source-position from a project-position.
    So inserting take-markers at project-position is now possible. Or other cool stuff, where you need to convert the
    project-position into take-position.

  • ScaleFromDPIFromScale
    You can convert now the dpi-value currently set into its corresponding scale-value vice versa. With that, you can always scale
    your script's ui properly.

  • Base64De/Encoder, ASCII2HEX2ASCII-enocders
    Used to be slow on bigger strings. Not anymore. Sped up by magnitudes...

  • Create/Get-Render-CFG-functions
    FFMPEG-support added, NONE as video/audio-format added, wmf-support added

  • Render functions
    Support now marker-rendering and fade-in/out-feature

  • Bugfixes Bugfixes Bugfixes

New features in 4.7

  • DeveloperTools: FindCurrentlyUsedExtstatesNamesInAFile - looks through a selected file and checks, whether its strings are currently used extstates
  • DeveloperTools: Monitor Eventmanager - monitors the performance and some attributes of the Eventmanager, so you can optimize the registered events(requested by rstockm)
  • DeveloperTools: MonitorRenderTable - monitors the entries of a RenderTable for the currently opened project
  • EventManager: EventManager_Debug_GetAllActionRunStates - returns a table of, if the actions of a registered event were run in the last event-check-cycle or not
  • EventManager: EventManager_Debug_GetExecutionTime - when debugmode is on, allows to get, how long the last run of checking for events did take in seconds(for benchmarking your eventcheck functions) - requested by rstockm
  • EventManager: EventManager_GetAllEventIdentifier - returns a table with all event-identifiers of all currently registered events
  • EventManager: EventManager_GetAllEventNames - returns a table with all event-names of all currently registered events
  • EventManager: EventManager_GetEventPausedState - returns the paused states of a currently registered event
  • FXManagement: GetFXByGuid - gets a fx by its guid
  • FXManagement: TrackFX_GetAllGuidsFromAllTracks - returns all guids from all tracks of the current project
  • FXManagement: TakeFX_GetAllGuidsFromAllTakes - returns all guids from all takes of the current project
  • MarkerManagement: GetMarkerType - returns the type of a marker
  • MarkerManagement: GetGuidFromCustomMarkerID - returns the guid from a custom-marker-index
  • MarkerManagement: GetGuidFromCustomRegionID - returns the guid from a custom-region-index
  • MarkerManagement: GetCustomMarkerIDFromGuid - returns the custom-marker-index and name from a guid
  • MarkerManagement: GetCustomRegionIDFromGuid - returns the custom-region-index and name from a guid
  • MarkerManagement: MarkerMenu_GetLastClickState - gets the last clickstate, when someone has clicked markers/regions with markermenu running
  • MarkerManagement: MarkerMenu_GetLastTouchedMarkerRegion - gets the last clicked marker/region with markermenu running
  • MarkerManagement: MarkerMenu_CountEntries - counts the number of entries in the markermenu for a specific custom marker/region
  • MarkerManagement: MarkerMenu_CountEntries_DefaultMarkers - counts the number of entries in the markermenu for a specific default marker/region
  • MarkerManagement: MarkerMenu_Debug - shows in the ReaScript-console debug-messages like the right-clicked-marker-type, when using the marker/region-hijack-script(see MarkerMenu_Start)
  • MarkerManagement: MarkerMenu_GetAvailableTypes - gets the marker- and region-types, that are currently added to the marker-menu
  • MarkerManagement: MarkerMenu_GetEntry - gets the action and description of a marker-entry for a certain custom-marker/region-type
  • MarkerManagement: MarkerMenu_GetEntry_DefaultMarkers - gets the action and description of a marker-entry for a certain default-marker/region-type from Ultraschall
  • MarkerManagement: MarkerMenu_GetLastClickedMenuEntry - gets the last clicked marker-menu-entry, including name, position, additional data and marker-type
  • MarkerManagement: MarkerMenu_InsertEntry - inserts a new marker-entry into the marker menu for a custom marker/region
  • MarkerManagement: MarkerMenu_InsertEntry_DefaultMarkers - inserts a new marker-entry into the marker menu for markers/regions of Ultraschall
  • MarkerManagement: MarkerMenu_RemoveEntry - removes the action and description of a marker-entry for a certain custom-marker/region-type
  • MarkerManagement: MarkerMenu_RemoveEntry_DefaultMarkers - removes the action and description of a marker-entry for a certain default-marker/region-type from Ultraschall
  • MarkerManagement: MarkerMenu_RemoveSubMenu - removes a submenu from the marker-menu of a specific custom-marker/region
  • MarkerManagement: MarkerMenu_RemoveSubMenu_DefaultMarkers - removes a submenu from the marker-menu of a specific default marker/region
  • MarkerManagement: MarkerMenu_SetEntry - gets the action and description of a marker-entry for a certain custom-marker/region-type
  • MarkerManagement: MarkerMenu_SetEntry_DefaultMarkers - sets the action and description of a marker-entry for a certain default-marker/region-type from Ultraschall
  • MarkerManagement: MarkerMenu_SetStartupAction - sets a startup-action in the markermenu for a specific custom marker/region
  • MarkerManagement: MarkerMenu_SetStartupAction_DefaultMarkers - sets a startup-action in the markermenu for a certain default-marker/region-type from Ultraschall
  • MarkerManagement: MarkerMenu_Start - starts a background-script that hijacks the marker-context-menu when rightclicking markers/regions
  • MarkerManagement: MarkerMenu_Stop - stops the background-script that hijacks the marker-context-menu when rightclicking markers/regions
  • MarkerManagement: RenumerateNormalMarkers - renumerates the shown-number of all normal-markers
  • MarkerManagement: RenumerateShownoteMarkers - renumerates the shown-number of all shownote-markers
  • MediaItem_Takes: GetProjectPosByTakeSourcePos - gets the project-position of a take's source-position, obeying stretch-markers, offset, etc
  • MediaItem_Takes: GetTakeSourcePosByProjectPos - gets the source-position of a take by the project-position, obeying stretch-markers, offset, etc
  • MediaItemManagement: ToggleCrossfadeStateForSplits - toggles/sets the option for crossfades on splits of MediaItems
  • Navigation: GetNextClosestItemEnd - gets the next closest item-end within given tracks and from a specific position(requested by Moritz Klenk)
  • Navigation: GetNextClosestItemStart - gets the next closest item-start within given tracks and from a specific position(requested by Moritz Klenk)
  • Navigation: GetPreviousClosestItemEnd - gets the previous closest item-end within given tracks and from a specific position(requested by Moritz Klenk)
  • Navigation: GetPreviousClosestItemStart - gets the previous closest item-start within given tracks and from a specific position(requested by Moritz Klenk)
  • PodcastMetadata: GetSetChapterMarker_Attributes - gets/sets metadata-attributes of a chapter-marker(using Ultraschall 4+ methods)
  • PodcastMetadata: GetSetPodcast_Attributes - gets/sets metadata-attributes of a podcast
  • PodcastMetadata: GetSetPodcastEpisode_Attributes - gets/sets metadata-attributes of a podcast-episode
  • PodcastMetadata: GetSetShownoteMarker_Attributes - gets/sets additional attributes of a shownote-marker
  • Rendering: ResolvePresetName - resolves the name of a preset into the correct case-sensitivity, as stored in reaper-render.ini
  • Ultraschall: LUFS_Metering_AddEffect - adds the Ultraschall's LUFS Loudness Metering-JSFX
  • Ultraschall: LUFS_Metering_GetValues - gets currently measured LUFS-values of Ultraschall's LUFS Loudness Metering-JSFX, when running
  • Ultraschall: LUFS_Metering_MatchGain - hits programmaticaly the "Match Gain"-button of Ultraschall's LUFS Loudness Metering-JSFX, when running
  • Ultraschall: LUFS_Metering_Reset - resets the measuring of Ultraschall's LUFS Loudness Metering-JSFX, when running
  • Ultraschall: LUFS_Metering_SetValues - sets LUFS-target/Gain-values of Ultrascha...
Read more

4.6 - "Can - Halleluwah" - 19th of May 2022

19 May 15:32
Compare
Choose a tag to compare

4.6 - "Can - Halleluwah" - 19th of May 2022

Has now 1532 functions, with 32 new ones

new in this release:

  • FromPoint-functions
    You can get now Razor-Edits, TrackEnvelopes and TakeEnvelopes by their coordinates.

  • Razor-Edit-specials
    New Razor-Edit functions in general. Remove now by index and get, if at a specific position is a razor-edit or a gap between them.
    You can also check, whether a certain area overlaps with already existing razor-edit-areas.

  • JSFX-reload
    If you develop JSFX in an external editor and would like to update them in a project to use the latest version, you get functions to do so.
    This should speed up developing and testing jsfx a little better.
    Allows track, take and inputfx!

  • Windows Media Foundation support, as added per Reaper 6.57

  • Shownotes for podcasts
    A new marker-type, that allows storing shownotes. Will be enhanced within the next few releases for additional metadata.

  • User Interface functions for HWND
    More comfortable functions for getting Transport, Arrange and TCP.

New features in 4.6

  • DeveloperTools: MonitorRenderString_Diff - monitors the diffs of the render-string, when setting them in the RenderToFile-dialog and hit Save Settings
  • Envelopes: GetAllActiveEnvelopes_Take - returns all active take-envelopes
  • Envelopes: GetAllActiveEnvelopes_Track - returns all active track-envelopes
  • Envelopes: GetTakeEnvelopeFromPoint - returns the take-envelope at a certain coordinate
  • Envelopes: GetTrackEnvelopeFromPoint - returns the track-envelope at a certain coordinate
  • Envelopes: IsEnvelopeTrackEnvelope - checks, whether an Envelope is a TrackEnvelope
  • FXManagement: InputFX_JSFX_Reload - reloads a jsfx in inputfx, when you've changed the jsfx-source-file
  • FXManagement: TakeFX_JSFX_Reload - reloads a jsfx in a take, when you've changed the jsfx-source-file
  • FXManagement: TrackFX_JSFX_Reload - reloads a jsfx in a track, when you've changed the jsfx-source-file
  • Markers: AddShownoteMarker - adds a shownote-marker
  • Markers: CountShownoteMarkers - counts shownote-markers in a project
  • Markers: DeleteShownoteMarker - deletes a shownote-marker
  • Markers: EnumerateShownoteMarkers - gets a shownote-marker
  • Markers: GetGuidFromShownoteMarkerID - gets the guid of a shownote marker by its index
  • Markers: GetShownoteMarkerIDFromGuid - gets the index of a shownote marker by its guid
  • Markers: IsMarkerShownote - returns, if a marker is a shownote
  • Markers: SetShownoteMarker - sets an already existing shownote-marker
  • MidiEditor: MidiEditor_GetFixOverlapState - gets the Automatically Correct Overlapping Notes-option, as set in the Midi-Editor -> Options-menu
  • MidiEditor: MidiEditor_SetFixOverlapState - sets the Automatically Correct Overlapping Notes-option, as set in the Midi-Editor -> Options-menu
  • PodcastMetadata: PrepareChapterMarkers4ReaperExport - prepares chaptermarkers for metadata-export during rendering
  • PodcastMetadata: RestoreChapterMarkersAfterReaperExport - restores chaptermarkers after metadata-export during rendering
  • RazorEdit: RazorEdit_CheckForPossibleOverlap_Envelope - checks, whether a certain area overlaps with already existing razor-edit-areas of an envelope
  • RazorEdit: RazorEdit_CheckForPossibleOverlap_Track - checks, whether a certain area overlaps with already existing razor-edit-areas of a track
  • RazorEdit: RazorEdit_GetFromPoint - gets a razor-edit-area/gap by coordinate
  • RazorEdit: RazorEdit_IsAtPosition_Envelope - checks, if track has a razor-edit-area or a gap at position; also returns the position of the razor-edit-area or gap at position
  • RazorEdit: RazorEdit_IsAtPosition_Track - checks, if envelope has a razor-edit-area or a gap at position; also returns the position of the razor-edit-area or gap at position
  • RazorEdit: RazorEdit_RemoveByIndex_Envelope - removes a razor-edit-area by its index from an envelope
  • RazorEdit: RazorEdit_RemoveByIndex_Track - removes a razor-edit-area by its index from a track(envelopes stay untouched)
  • Rendering: CreateRenderCFG_WMF_Video - creates the format-settings of the windows media foundation-formats(MPEG-4, mp4, m4a)
  • Rendering: GetRenderCFG_Settings_WMF - gets the format-settings of the windows media foundation-formats(MPEG-4, mp4, m4a)
  • UserInterface: GetHWND_ArrangeView - returns hwnd of the arrangeview, its visible area and right of arrange-state
  • UserInterface: GetHWND_TCP - returns hwnd of the track control panel, its visible area and right of arrange-state
  • UserInterface: GetHWND_Transport - returns hwnd, position, float, dock and hidden-state of transport

Changes from 4.5 to 4.6

  • Clipboard: PutMediaItemsToClipboard_MediaItemArray - could potentially create an undo-point -> fixed
  • Docs: Reaper Internals - updated to Reaper 6.58, SWS 2.13.1.0
  • MediaItems: ApplyActionToMediaItem - doesn't create an undo point anymore
  • MediaItems: ApplyActionToMediaItemArray2 - doesn't create an undo point anymore
  • MediaItems: GetAllMediaItemsInTimeSelection - doesn't create an undo point anymore
  • MediaItems: SetMediaItemsSelected_TimeSelection - doesn't create an undo point anymore; has now parameter for only items that are completely inside the time-selection
  • RazorEdit: RazorEdit_Remove_Envelope - accidentally removed items on first track -> fixed
  • RazorEdit: RazorEdit_Remove_Track - accidentally removed items on first track -> fixed
  • Rendering: AddSelectedItemsToRenderQueue - had inner variable exposed; could potentially create undo-points -> fixed

4.5 - "Frank Zappa - Help I'm a Rock" - 6th of May 2022

06 May 12:53
Compare
Choose a tag to compare

4.5 - "Frank Zappa - Help I'm a Rock" - 6th of May 2022

Has now 1500 functions, with 23 new ones

new in this release:

  • Celebration Time
    Because, I reached 1500 functions for Ultraschall-API. In the beginning, I was sure, that I would maybe have potential for
    300 functions.
    I somehow overdid it, did I? XD

  • Razor Edit
    I gave Razor Edit some love, so you can nudge, add and remove razor-edit-areas much easier for tracks or individual TrackEnvelopes.

  • AutomationItems
    As I needed to bugfix the split and delete-functions for Automation Items, I added some functions to mass-set the select states of automation-items.

  • Developer Actions for ReaScripts
    Need to quickly reopen the last edited script? Or want to open up another and you're too lazy to open up the
    actionlist?
    Behold, new developer-functions do this for you.
    And if you need to open up quickly a new temporary-script to write some small test-code-snippet, you can do it as well.

  • EditReaScript
    Always bothered, that the newly opened script doesn't immediately hold, what you need to start working right away?
    Well, EditReaScript can now automatically add some default-lines into a newly created script. So if you need to
    add your ReaPack-index-information time and again, use this new parameter to make stuff easier for you.

  • Bugfixes
    You're used to it, aren't you?

...up to the next 1500 functions, as soon as my overtyped numb fingers can type again... XD

New features in 4.5

  • AutomationItems: AutomationItem_DeselectAllInTrack - deselects all automation-items in a TrackEnvelope
  • AutomationItems: AutomationItem_DeselectAllSelectStates - deselects all automation-items in all TrackEnvelopes
  • AutomationItems: AutomationItem_GetAllSelectStates - get all automationitem-selection-states in all TrackEnvelopes
  • AutomationItems: AutomationItem_GetSelectStates - get all automationitem-selection-states in a TrackEnvelope
  • AutomationItems: AutomationItem_SelectMultiple - sets selection-state multiple automation-items in a TrackEnvelope
  • DeveloperTools: Create New Temporary Unlisted Lua ReaScript - creates a new temporary script, that isn't listed in the actionlist
  • DeveloperTools: Open Last ReaScript - opens the last edited ReaScript
  • DeveloperTools: Open A ReaScript with Dialog - opens a ReaScript, with a file-chooser-dialog
  • HelperFunctions: GetSetIDEAutocompleteSuggestions - gets/sets the number of suggestions in the IDE for autocomplete
  • Markers: GetTemporaryMarker - retrieves temporarily stored markers/regions for later use
  • Markers: StoreTemporaryMarker - temporarily stores markers/regions for later use
  • RazorEdit: RazorEdit_Add_Envelope - adds a razor-edit-area to a TrackEnvelope
  • RazorEdit: RazorEdit_Add_Track - adds a razor-edit-area to a Track
  • RazorEdit: RazorEdit_CountAreas_Envelope - counts the number of razor-edit-areas in a specific envelope
  • RazorEdit: RazorEdit_CountAreas_Track - counts the number of razor-edit-areas in a track(excluding envelopes)
  • RazorEdit: RazorEdit_GetRazorEdits_Track - returns all razor-edit-areas of a track
  • RazorEdit: RazorEdit_Nudge_Track - nudges the razor-edit-areas of a track
  • RazorEdit: RazorEdit_Nudge_Envelope - nudges the razor-edit-areas of a specific envelope
  • RazorEdit: RazorEdit_Remove - removes all razor-edit-areas of a track including its envelopes
  • RazorEdit: RazorEdit_Remove_Envelope - removes a razor-edit-area from a TrackEnvelope
  • RazorEdit: RazorEdit_RemoveFromEnvelope - removes all razor-edit-areas of a TrackEnvelope
  • RazorEdit: RazorEdit_RemoveFromTrack - removes all razor-edit-areas of a track, leaving envelopes untouched
  • RazorEdit: RazorEdit_Remove_Track - removes a razor-edit-area from a Track
  • Rendering: GetSetRenderBlocksize - gets/sets the render-blocksize
  • TrackStates: GetTrackPlayOffsState - get the Media Playback Offset-entry of a track
  • TrackStates: SetTrackPlayOffsState - sets the Media Playback Offset-entry of a track

Changes from 4.4 to 4.5

  • AutomationItem_Delete - did also delete selected automation-items in other TrackEnvelopes -> fixed(thanx to X-Raym)
  • AutomationItem_Split - did also split automation-items in other TrackEnvelopes under certain conditions -> fixed(thanx to X-Raym)
  • Docs: general - anchors in the index of documents didn't scroll correctly -> fixed
  • HelperFunctions: Create2DTable - did create a 3d-table instead, when using default-values -> fixed
  • HelperFunctions: Create3DTable - did create a 4d-table instead, when using default-values -> fixed
  • HelperFunctions: EditReaScript - has new parameter that allows setting default-lines into a newly created script; returns now, if script had been created or already existed; always uses the last edited script as set in reaper.ini when filename==nil
  • HelperFunctions: MKVOL2DB - returned -44 instead of -144 as minimum dB-value -> fixed
  • RazorEdit: RazorEdit_GetAllRazorEdits - allows now excluding track and/or envelope-razoredit-areas from the list
  • TrackStates: SetTrackAutoRecArmState - reimplemented with a cleaner codebase(hopefully future proof)
  • UserInterface: GetItemButtonsVisible - added "hide when take is less than xx pixel"-option
  • UserInterface: SetItemButtonsVisible - added "hide when take is less than xx pixel"-option; optional parameter weren't optional -> fixed

"Dispatch - Open Up" - 27 of April 2022

27 Apr 16:01
Compare
Choose a tag to compare

4.4 - "Dispatch - Open Up" - 27 of April 2022

Has now 1477 functions, with 20 new ones

new in this release:

  • SpectralPeak-View-functions
    You can now set the options for the spectral-peak-view of MediaItems.

  • AddProjectMarker
    This is an alternative to Reaper's own AddProjectMarker-function. It returns the GUID, the index of the added marker
    and fixes some edge-case-issues with the original function.

  • BatchConverter-FXStateChunk
    You can get and set the FXChain of the BatchConverter programmatically, now using FXStateChunks.

  • Docs
    Added functions of the new extensions ReaLim and ReaFab and updated the functions of all other extensions and Reaper itself.
    SetProjExtState and SetExtState-descriptions also include now a list of sections, used by scripts/extensions. That way, you
    can prevent naming conflicts and therefore accidentally overwritten configs/data.

  • Marker-Functions
    Rewritten, so they are much faster now, especially adding markers.

  • DevTool: Marker Guid Displayer
    This one displays the index, guid and name of all markers/regions in the current project.
    This way, you can monitor, if your marker-functions get the correct guids from a marker.

  • Bugfixes
    Per tradition...

New features in 4.4

  • BatchConverter: GetBatchConverter_NotifyWhenFinished - gets the state of the "notify when finished"-checkbox
  • BatchConverter: SetBatchConverter_NotifyWhenFinished - sets the state of the "notify when finished"-checkbox
  • DeveloperTools: Display All Marker Region Guids - monitors all marker/region-guids in the ReaScript-console
  • DeveloperTools: Display_ExtStateSectionsOfScriptsInFolder - displays all set-extstate-sections used in scripts within a folder
  • DeveloperTools: Display_ProjExtStateSectionsOfScriptsInFolder - displays all set-projextstate-sections used in scripts within a folder
  • Docs: Reaper Internals - added ReaLim 0.3.0 and ReaFab 0.3.10
  • FXManagement: GetBatchConverter_FXStateChunk - gets the FXChain currently used by the BatchConverter
  • FXManagement: SetBatchConverter_FXStateChunk - sets the FXChain used by the BatchConverter
  • Markers: AddProjectMarker - an alternative to Reaper's own function, that covers some edgecases and returns guid and actual marker/region-index as well
  • Markers: GetEditMarkerIDFromGuid - gets an edit-marker id by its guid
  • Markers: GetEditRegionIDFromGuid - gets an edit-marker id by its guid
  • Markers: GetGuidFromEditMarkerID - gets the guid of an edit-marker
  • Markers: GetGuidFromEditRegionID - gets the guid of an edit-marker
  • MetaData: MetaDataTable_Create - returns an empty metadatatable, which holds all possible metadata-entries
  • MetaData: MetaDataTable_GetProject - returns a metadatatable, which holds all metadata-entries of the current project
  • Projects: Main_SaveProject - saves a project and allows giving it a filename
  • Render: GetRenderTable_ProjectDefaults - returns a rendertable with all render settings of the project's defaults
  • SpectralView: SpectralPeak_GetColorAttributes - gets noise-threshold, opacity and variance of the spectral view
  • SpectralView: SpectralPeak_GetMaxColor - returns the maxmium color of the spectral view
  • SpectralView: SpectralPeak_GetMinColor - returns the minimum color of the spectral peak view
  • SpectralView: SpectralPeak_SetColorAttributes - sets noise-threshold, opacity and variance of the spectral view
  • SpectralView: SpectralPeak_SetMaxColor - sets the maximum color of the spectral peak view
  • SpectralView: SpectralPeak_SetMaxColor_Relative - sets the spectrum color of the spectral peak view, relative to the minimum spectral-view color
  • SpectralView: SpectralPeak_SetMinColor - sets the minimum color of the spectral peak view

Changes from 4.3 to 4.4

  • DeveloperTools: Config Var Displayer - crashed, when double-value is NaN -> fixed
  • Docs: Reaper API-docs - restructured the index into more useful categories; updated to Reaper 6.56, ReaImGui 0.6.1 and ReaPack 1.2.4
  • FileManagement: CreateValidTempFile - raised number of potential temp-file-variants to 2147483648
  • HelperFunctions: Main_OnCommandByFilename - didn't remove temporary scripts sometimes due Reaper bug -> fixed
  • HelperFunctions: MIDI_OnCommandByFilename - didn't remove temporary scripts sometimes, partially due Reaper bug -> fixed
  • Markers: AddCustomMarker - reworked code so it's faster now; sometimes, the returned guid could be wrong -> fixed
  • Markers: AddCustomRegion - reworked code so it's faster now; sometimes, the returned guid could be wrong -> fixed
  • Markers: AddEditMarker - reworked code so it's faster now; sometimes, the returned guid could be wrong -> fixed
  • Markers: AddEditRegion - reworked code so it's faster now; sometimes, the returned guid could be wrong -> fixed
  • Markers: AddNormalMarker - reworked code so it's faster now; sometimes, the returned guid could be wrong -> fixed
  • Markers: GetGuidFromNormalMarkerID - returned -1 in case of an error, though this makes no sense -> returns nil now
  • Markers: GetNormalMarkerIDFromGuid - returned nil or guid when no normal marker was found instead of -1 -> fixed
  • ProjectManagement: GetProjecStateChunk - didn't work under certain circumstances -> fixed
  • ProjectManagement: IsValidReaProject - didn't return true when parameter was 0, though it being a valid project -> fixed
  • Render: GetRender_ResampleMode - didn't return correct resample-mode when Render to File-Dialog was open(Reaper 6.43+) -> fixed
  • Render: GetRenderTable_Project - didn't correctly return "CloseAfterRender" -> fixed
  • Render: SetRender_ResampleMode - didn't set correct resample-mode when Render to File-Dialog was open(Reaper 6.43+) -> fixed
  • UserInterface: GetBatchFileItemConverterHWND - didn't return hwnd of batch-converter anymore -> fixed

"Eskobar - Someone New" - 22nd of February 2022

22 Feb 16:40
Compare
Choose a tag to compare

Has now 1457 functions, with 34 new ones

new in this release:

  • ParmLearn-dialog defaults
    You can now get/set the default settings for the Parm-Learn-dialog. So you can now reset it to your preferred settings before learning a new parameter.

  • Media Explorer features
    You can now get/set volume, rate, pitch and even output-channels of the media explorer and various checkboxes.

  • SetItem-functions
    There were set item-function missing, though their get counterpart was there. So, I added more set functions.

  • Rendering - Only Normalize Files That Are Too Loud
    You can now choose, whether to normalize only files that are too loud

  • Rendering FFMPEG-only
    With FFMPEG-dll installed, you have access to more render-output-functions. You can now create render-strings for these formats as well.

  • Developer Tools now automatically installed
    To simplify working with devtools, they are now automatically installed with ReaPack-update.
    If you happen to have some of them duplicated, run the action "ultraschall_Remove_Developertools_From_Reaper.lua"

  • Dev Tool: Log SetProjExtState/SetExtState access
    You can log now, if (proj)extstates are set in the ReaScript-console. That way you can monitor, if setting them runs smoothly.
    Just run the accompanying developer-tool for it.

  • Docs updates for Reaper Internals

  • Bugfixes
    as usual...

New features in 4.3

  • DeveloperTools: Toggle_Logging_SetExtState_SetProjExtState_access - logs set access to (proj)extstates while using US-API to the ReaScript console
  • ErrorMessagingSystem: DAEM - like ultraschall.DeleteAllErrorMessages(), just shorter
  • GFX-Management: GFX_GetTextLayout - returns the flag-value you can use for gfx.setfont, allowing different text-layouts
  • Markers: GetGuidFromNormalMarkerID - gets the guid of a normal marker by its index
  • Markers: GetNormalMarkerIDFromGuid - gets the index of a normal marker by its guid
  • MediaExplorer: MediaExplorer_SetAutoplay - sets the autoplay-checkbox
  • MediaExplorer: MediaExplorer_SetDeviceOutput - sets device-output of the Media Explorer
  • MediaExplorer: MediaExplorer_SetPitch - sets the pitch of the Media Explorer
  • MediaExplorer: MediaExplorer_SetRate - sets the rate of the Media Explorer
  • MediaExplorer: MediaExplorer_SetStartOnBar - sets the Start on bar-checkbox of the Media Explorer
  • MediaExplorer: MediaExplorer_SetVolume - sets the volume of the Media Explorer
  • MediaItems: SetItemAllTakes - sets the all-takes-setting of an item or a mediaitem-statechunk
  • MediaItems: SetItemChanMode - sets the channel mode of an item or a mediaitem-statechunk
  • MediaItems: SetItemFadeIn - sets fadein of an item or a mediaitem-statechunk
  • MediaItems: SetItemFadeOut - sets fadeout of an item or a mediaitem-statechunk
  • MediaItems: SetItemGUID - sets the GUID of an item or a mediaitem-statechunk
  • MediaItems: SetItemIGUID - sets the IGUID of an item or a mediaitem-statechunk
  • MediaItems: SetItemIID - sets the IID of an item or a mediaitem-statechunk
  • MediaItems: SetItemLoop - sets the loop-source-state of an item or a mediaitem-statechunk
  • MediaItems: SetItemMute - sets mutestate of an item or a mediaitem-statechunk
  • MediaItems: SetItemName - sets name of the first take in an item or a mediaitem-statechunk
  • MediaItems: SetItemPlayRate - sets the playrate-settings in an item or a mediaitem-statechunk
  • MediaItems: SetItemSampleOffset - sets the sample offset-state of an item or a mediaitem-statechunk
  • MediaItems: SetItemSelected - sets the selected-state of an item or a mediaitem-statechunk
  • MediaItems: SetItemVolPan - sets the volume and pan-values of an item or a mediaitem-statechunk
  • ParameterLearn: GetParmLearn_Default - gets default-settings for the parameter-learn-dialog(requested by akademie)
  • ParameterLearn: SetParmLearn_Default - sets default-settings for the parameter-learn-dialog(requested by akademie)
  • Rendering: CreateRenderCFG_FLV_Video - creates a render-string for flv export(with FFMPEG installed only)
  • Rendering: CreateRenderCFG_MPEG1_Video - creates a render-string for MPEG-1 export(with FFMPEG installed only)
  • Rendering: CreateRenderCFG_MPEG2_Video - creates a render-string for MPEG-2 export(with FFMPEG installed only)
  • Rendering: GetRenderCFG_Settings_MPEG1_Video - returns settings of render-string for MPEG-1, when FFMPEG is installed
  • Rendering: GetRenderCFG_Settings_MPEG2_Video - returns settings of render-string for MPEG-2, when FFMPEG is installed
  • TrackManagement: ConvertTrackstringToArray - converts all tracknumbers of a trackstring and returns them as an array
  • Themeing: GetAllThemeElements - returns a table with all Walter-theme-element-names available
  • Themeing: GetTrack_ThemeElementPositions - returns a table with all Walter-theme-elements of a track with names, position and visibility-states

Changes from 4.2.006 to 4.3

  • DeveloperTools: findConfigVarsToggledByActions - fixed dozens of bugs; supports now all config-vars; improved the layout of the output file; has now "do you really want to run me?"-question, as this script could ruin your Reaper installation
  • Docs: Reaper Internals - updated to Reaper 6.47, JS-extension 1.301, ReaImGui 0.5.10, ReaBlink 0.4.4, SWS 2.13.0.0
  • MarkerManagement: AddCustomMarker - returns now the custom-marker-index, within all custom markers only, as well; allows now creating markers with the same name on the same position(workaround for Reaper-limitation)
  • MarkerManagement: AddCustomRegion - returns now the custom-region-index, within all custom regions only, as well; allows now creating regions with the same name on the same position(workaround for Reaper-limitation)
  • MarkerManagement: AddEditMarker - returns now the edit-marker-index, within all edit markers; allows now creating markers with the same name on the same position(workaround for Reaper-limitation)
  • MarkerManagement: AddEditRegion - returns now the edit-region-index, within all edit regions; allows now creating regions with the same name on the same position(workaround for Reaper-limitation)
  • MarkerManagement: AddNormalMarker - returns now the normal-marker-index, within all normal markers; improved automatic numbering; allows now creating markers with the same name on the same position(workaround for Reaper-limitation) -> fixed
  • MarkerManagement: CountNormalMarkers - did count custom-markers as well -> fixed
  • MarkerManagement: CountNormalMarkers_NumGap - didn't count normal markers only, but rather all -> fixed
  • MarkerManagement: EnumerateNormalMarkers - did include custom-markers as well -> fixed
  • MarkerManagement: SetNormalMarker - did set custom-markers as well -> fixed
  • MediaItemManagement: GetAllMediaItemsFromTrack - had problems, when a track had no item -> fixed(thnx to Distressor)
  • MediaItemManagement: SetItemPosition - did return -1 in case of an error, whereas it should return nil instead -> fixed
  • MediaItemManagement: SetItemLength - did return -1 in case of an error, whereas it should return nil instead -> fixed
  • MediaItemManagement: SetItemImage - did return -1 in case of an error, whereas it should return nil instead -> fixed
  • ProjectManagement: GetProjectStateChunk - fixed edgecase, that prevented getting a ProjectStateChunk
  • ProjectManagement: GetProject_Render_Normalize - allows now normalize only files that are too loud-option
  • ProjectManagement: SetProject_Render_Normalize - allows now normalize only files that are too loud-option
  • Rendering: AddRenderPreset - allows now normalize only files that are too loud-option
  • Rendering: ApplyRenderTable_Project - allows now normalize only files that are too loud-option
  • Rendering: ApplyRenderTable_ProjectFile - allows now normalize only files that are too loud-option
  • Rendering: CreateRenderCFG_AVI_Video - added formats that need FFMPEG installed
  • Rendering: CreateRenderCFG_DDP - returned string was wrong due typo -> fixed(thnx to loTrT)
  • Rendering: CreateRenderCFG_MKV_Video - added formats that need FFMPEG installed
  • Rendering: CreateRenderCFG_MOVMAC_Video - removed unused \0-byte at end of render-string -> fixed
  • Rendering: CreateRenderCFG_WebMVideo - added formats that need FFMPEG installed
  • Rendering: GetRenderCFG_Settings_AVI_Video - added formats, that need FFMPEG installed
  • Rendering: GetRenderCFG_Settings_MKV_Video - added formats, that need FFMPEG installed
  • Rendering: GetRenderCFG_Settings_MOVMac_Video - didn't work; was missing the format-dropdownlist-settings -> fixed
  • Rendering: GetRenderCFG_Settings_QTMOVMP4_Video - added video-format-retval; added formats, that need FFMPEG installed
  • Rendering: GetRenderCFG_Settings_WebMVideo - added formats, that need FFMPEG installed
  • Rendering: GetRenderPreset_RenderTable - allows now normalize only files that are too loud-option
  • Rendering: GetRenderTable_Project - allows now normalize only files that are too loud-option
  • Rendering: GetRenderTable_ProjectFile - allows now normalize only files that are too loud-option
  • Rendering: IsValidRenderTable - allows now normalize only files that are too loud-option
  • Rendering: RenderProject_RenderTable - allows now normalize only files that are too loud-option
  • Rendering: SetRenderPreset - allows now normalize only files that are too loud-option
  • TrackManagement: GetTrackLockState - didn't return lock-state reliably -> fixed(thanx to Distressor)
  • UserInterface: GetMediaExplorerHWND - didn't work under certain circumstances -> fixed
  • WebRC: WebInterface_GetInstalledInterfaces - could break, if html-pages had no title-tag in them -> ...
Read more

"The Beatles - The continuing story of Bungalow Bill" - 24th of December 2021

24 Dec 17:46
Compare
Choose a tag to compare

4.2.006 - "The Beatles - The continuing story of Bungalow Bill" - 24th of December 2021

Has now 1423 functions, with 17 new ones

new in this release:

  • Brickwall Limiting Support
    The rendering-functions support now brickwall-rendering and the render-preset-functions the new possibility to
    store the rendering-path as well(as of Reaper 6.43)

  • CAF-support
    CAF is now supported as well with rendering.

  • GFX_GetChar
    Gives you a more powerful version of gfx.getchar, which returns the characters and optionally a readable version of
    non-printable characters.
    It also allows you managing the clipboard directly inside of it, so you don't need to code cmd+x/c yourself.

  • New MetaData-functions added
    For ASWG, AXML, CAFINFO, FLACPIC, IFF and WAVEEXT. I also updated the docs for other metadata-functions to include
    newly added tags.

  • Deprecated Checker for scripters
    A new devtool allows you to check lua-scripts inside a folder, if they use deprecated functions. It also warns you,
    if one of them still uses a function that got actually removed.

  • Bugfixes
    And cleanup, cleanup, cleanup

New features in 4.2.006

  • DeveloperTools: Check scripts in folder for deprecated functions - checks, whether a folder contains Lua-scripts that ue deprecated or removed API-functions
  • Docs: function changelogs - include now changelogs for each function beginning from Reaper 6.42+, SWS 2.12.1.3+, ReaBlink 0.4.0, JS 1.22+, ReaImGui 0.5.8+
  • Docs: deprecated-states - include now deprecated-states for each depreacted function which includes since when and a possible alternative
  • Doc-Engine: Docs_GetUSDocBloc_Changelog - returns the changelogs from each US-DocML-entry
  • Doc-Engine: Docs_GetUSDocBloc_Deprecated - returns the attributes of the deprecated-tag of an US-DocBloc
  • Doc-Engine: Docs_GetUSDocBloc_LinkedTo - returns the entries of the linked_to-tags insie an USDocML-entry
  • GFX-Management: GFX_GetChar - a more powerful version of gfx.getchar, with additional clipboard management and conversion of non-printable characters to readable ones
  • Helper Functions: ReturnReaperExeFile_With_Path - returns the name of the reaper-executable including its path
  • MetaData: Metadata_ASWG_GetSet - gets/sets ASWG-metadata
  • MetaData: Metadata_AXML_GetSet - gets/sets AXML-metadata
  • MetaData: Metadata_CAFINFO_GetSet - gets/sets metadata for CAF-files
  • MetaData: Metadata_FLACPIC_GetSet - gets/set metadata to embed pictures into flac-files
  • MetaData: Metadata_IFF_GetSet - gets/set metadata for iff
  • MetaData: Metadata_WAVEXT_GetSet gets/set metadata for wavext
  • ParmAlias: GetParmAlias_by_FXParam_FXStateChunk - gets the parmalias_id by fx-parameter, that you can use as parameter id for Set/Get/Delete-ParmAlias-functions
  • ParmLearn: GetParmLearnID_by_FXParam_FXStateChunk - gets the parmlearn_id by fx-parameter, that you can use as parmlearn_id for Set/Get/Delete-ParmLearn-functions(requested by TonE)
  • ParmLFOLearn: GetParmLFOLearn_by_FXParam_FXStateChunk - gets the parm_lfolearn_id by fx-parameter, that you can use as parameter id for Set/Get/Delete-ParmLFOLearn-functions
  • Render Management: GetRenderTargetFiles - returns the render-target and filenames of all render-files, if they would be rendered right now
  • Render Management: GetRenderCFG_Settings_CAF - gets settings of a render-string of the caf-format
  • Render Management: CreateRenderCFG_CAF - creates a render-string for the CAF-format

Changes from 4.2.005 to 4.2.006

  • API: bugs - newly added functions from last release weren't working, due oversight -> fixed
  • API: deprecated - replaced most of the deprecated functions US-API used
  • API: minimum Reaper version - raised minimum Reaper-version to Reaper 6.20
  • API: Settings - Beta-functions-feature removed, as it was pointless and slowed down initializing US-API
  • Developer: EditReaScript - allows now setting docking state and watchlist-size; didn't add scripts, when the file already existed, contrary to what the docs suggested; didn't reset old values in reaper.ini -> fixed
  • DeveloperTools: ultraschall_developertool_CheckForNewConfigVars - tries now to read possible config-vars from reaper.exe directly(windows only atm)
  • DeveloperTools: ultraschall_developertool_Display-Altered-Config-Vars - shows now the diffs to old values as well
  • DeveloperTools: ultraschall_developertool_Display-Altered-ConfigFile-Entries - shows diffs to old values when entries are numerical; added missing ini-files
  • DocEngine: Docs_GetUSDocBloc_Description - had problems with description-tags without any line in it -> fixed
  • DocEngine: Docs_RemoveIndent - had inner variable exposed -> fixed
  • Docs: All docs - you can create now a custom.css file in the Documentation-folder to customize the style of the docs
  • Docs: MediaItemStateChunk-docs - added new behavior of Reaper 6.33 to just enclose source-files with " that have a space in filename or path
  • Docs: Reaper Internals - updated to Reaper 6.43 and ReaImGui 0.5.8
  • Docs: Reaper-API-docs - All-View jumped to the top of the document instead of just unhiding functioncalls -> fixed
  • Docs: RenderPreset-Configfile.txt - updated to Reaper 6.43
  • EventManager: general - didn't start on Linux distributions due case-typo in ultraschall_EventManager.lua-filename -> fixed (thanks to dronenb)
  • FileManagement: GetAllDirectoriesInPath - has now an optional filter-parameter, to just get directories of a certain pattern
  • FileManagement: GetAllFilenamesInPath - has now an optional filter-parameter, to just get filenames of a certain pattern; returned pure path as well -> fixed
  • FileManagement: GetAllRecursiveFilesAndSubdirectories - has now optional filter-parameters for folders and files
  • FXManagement: InputFX_GetEQBandEnabled - new bandtypes added, as added by Reaper 6.43
  • FXManagement: InputFX_GetEQParam - new bandtypes added, as added by Reaper 6.43
  • FXManagement: InputFX_SetEQBandEnabled - new bandtypes added, as added by Reaper 6.43
  • FXManagement: InputFX_SetEQParam - new bandtypes added, as added by Reaper 6.43
  • MediaItem Management: InsertMediaItemFromFile - didn't place editcursor correctly at the end of item, when length==-1 -> fixed
  • Mute: ToggleMute - didn't unmute under certain conditions; sometimes created additional envelope-points when unneccessary -> fixed
  • ParmLearn: AddParmLearn_FXStateChunk2 - parameter midi_channel falsely expected to be 0-15 not 1-16 as documented -> fixed(thanks to TonE)
  • ParmLearn: GetParmLearn_FXStateChunk2 - didn't check for non existing ParmLearns and threw nil error -> fixed(thanks to TonE)
  • ParmLearn: SetParmLearn_FXStateChunk2 - had massive errors in the docs -> fixed(thanks to TonE)
  • ProjectManagement: GetProject_Render_Normalize - supports now brickwall-settings
  • ProjectManagement: SetProject_Render_Normalize - supports now brickwall-settings
  • Rendering: AddRenderPreset - supports now brickwall-limiting and output-directory
  • Rendering: ApplyRenderTable_Project - supports now brickwall-limiting
  • Rendering: ApplyRenderTable_ProjectFile - supports now brickwall-limiting
  • Rendering: CreateNewRenderTable - supports now brickwall-limiting
  • Rendering: CreateRenderCFG_WAV - supports now 32 Bit PCM(7) and 8 Bit u-Law(8) as BitDepth
  • Rendering: GetOutputFormat_RenderCfg - supports now CAF as well; returned the decoded render-string only, not the base64-decoded one; the latter is now retval #3
  • Rendering: GetRenderCFG_Settings_AIFF - when passing nil, it returns now the default-project-render-settings for aiff
  • Rendering: GetRenderCFG_Settings_FLAC - when passing nil, it returns now the default-project-render-settings for flac
  • Rendering: GetRenderCFG_Settings_OGG - when passing nil, it returns now the default-project-render-settings for ogg
  • Rendering: GetRenderCFG_Settings_OPUS - when passing nil, it returns now the default-project-render-settings for opus
  • Rendering: GetRenderCFG_WAV - when passing nil, it returns now the default-project-render-settings for wav; supports now 32 Bit PCM(7) and 8 Bit u-Law(8) as BitDepth; returned wrong value as BitDepth -> fixed
  • Rendering: GetRenderCFG_WAVPACK - when passing nil, it returns now the default-project-render-settings for wavpack
  • Rendering: GetRenderCFG_Settings_XXX - all those functions could produce error, when sending in non-Base-64-strings -> fixed
  • Rendering: GetRenderPreset_RenderTable - supports now brickwall-limiting and the output-diretory, if stored; did not return secondary render-string, when having a presetname with spaces in it -> fixed
  • Rendering: GetRenderTable_Project - supports now brickwall-limiting
  • Rendering: GetRenderTable_ProjectFile - supports now brickwall-limiting
  • Rendering: IsValidRenderTable - supports now brickwall-limiting
  • Rendering: RenderProject_RenderTable - didn't return filenames due changes in statechunks in Reaper 6.33 -> fixed(thnx to aurelien)
  • Rendering: SetRenderPreset - supports now brickwall-limiting; didn't set some settings, when normalize-target had + in its value -> fixed
  • Rendering: various - many render-cfg-functions who work with floats didn't work properly -> fixed
  • User Interface: Windows_Find - had inner variable exposed -> fixed