Skip to content

4.00 Beta 2.9: - "Gentle Giant - Two weeks in Spain"

Pre-release
Pre-release
Compare
Choose a tag to compare
@mespotine mespotine released this 05 Feb 21:54
· 3 commits to Ultraschall-API-4.00-beta2.9 since this release

4.00 Beta 2.9: - "Gentle Giant - Two weeks in Spain"

Has now 1111 functions, with 32 new ones

This is the last beta-release for the Ultraschall-API4.00 and the feature-freeze-version. Until the final one, I will only fix bugs.

new in this release:

  • Render_Loop
    You can render now loops, including so called "wet-loops" which are loops, who include reverb and other such effects.
    For them to be renderable properly, they need to "build up" the effects first until it sounds right.
    Render_Loop does exactly that with 2-pass-rendering. The first one is the part, which includes the loop itself+the effects-buildup.
    So it renders the part of the project until the reverb is build up fully+the actual part to be looped.
    The second pass will cut the actual loop out of the first-pass-render and put it where you want it to be.
    You can also influence the fadein/out time and style of the second-pass-rendering, so you can avoid clickings and pops due harsh cuts
    at the beginning or the end of a loop.

  • Secondary Rendering Support
    This is so hot, it only exists(yet) in pre-releases of Reaper. You can set a secondary render-format. And if you render your project, it will render out into both files.
    That means, you can render your project as WAV+MP3 at the same time.
    And all rendering-functions of Ultraschall-API support that new feature, including the current project, projectfiles, render-presets.

  • Marker-functions and Guids
    All marker/region-functions return now the guid of the marker/region as well. Which is really nice for storing additional metadata for markers/regions.
    You can also request the markers/regions by guid now.

  • Envelope States
    You can read now all envelope-states available. Setting will come soon as well.

  • GFX_Init
    Allows you now to center the window by setting x and/or y-position to nil

  • MoveFileOrFolder
    Tired of copying your files around when you just want to move them? Or folders? Behold: MoveFileOrFolder moves files and folders for you.
    This speeds up moving files around in Lua by magnitudes.

  • FXStateChunks and RFXChainFiles
    You can load/store FXStateChunks from/to RFXChainFiles, which are the FX-Chain-files you can save within the FX-Chain-window.

  • Capturing Screen and Windows
    You can now capture screens and windows for screenshots(CaptureScreenAreaAsPNG and CaptureWindowAsPNG).
    Thanks to edgemeal for that.

  • GetTCPWidth
    returns the width of the TrackControlPanel.

  • More and bugfixes
    as usual ;)

New features in 4.00beta2.9

  • API: StuffMidiMessage-AllMessages_Englisch_Windows.ini - contains all names for all potential StuffMIDIMessage-messages
  • Docs: Concepts: DeferScripts_004_Manipulating_and_Protecting_Defer_loops - describes manipulation of ultraschall.Defer-cycles and how to protect them from manipulation
  • Docs: Concepts: ExtStateManagement_008_MarkerExtStates - describes the marker-extstate-functions
  • Envelope Management: GetEnvelopeState_Act - returns the values of the ACT-entry of a TrackEnvelope/EnvelopeStateChunk
  • Envelope Management: GetEnvelopeState_DefShape - returns the values of the DEFSHAPE-entry of a TrackEnvelope/EnvelopeStateChunk
  • Envelope Management: GetEnvelopeState_LaneHeight - returns the values of the LANEHEIGHT-entry of a TrackEnvelope/EnvelopeStateChunk
  • Envelope Management: GetEnvelopeState_EnvName - returns the envelope-name and possible additional values, if it's an FX-envelope
  • Envelope Management: GetEnvelopeState_NumbersOnly - returns all values of a parameter from an EnvelopeStateChunk, including the undocumented ones when the devs add them
  • Envelope Management: GetEnvelopeState_PooledEnvInstance - returns the attributes of an automation-item within an EnvelopeStateChunk, including the undocumented ones when the devs add them
  • Envelope Management: GetEnvelopeState_PT - returns the attributes of an envelope-point within an EnvelopeStateChunk, including the undocumented ones when the devs add them
  • Envelope Management: GetEnvelopeState_Vis - returns the values of the VIS-entry of a TrackEnvelope/EnvelopeStateChunk
  • File Management: MoveFileOrFolder - moves a file or folder from its old path to a new path
  • FXManagement: GetAllRFXChainfiles - returns all RFXChainfiles currently available in ResourcePath/FXChains
  • FXManagement: GetRecentFX - returns the recent fx-list
  • FXManagement: LoadFXStateChunkFromRFXChainFile - loads an FXStateChunk from an RFXChain-file(requested by XRaym)
  • FXManagement: SaveFXStateChunkAsRFXChainfile - writes an FXStateChunk into an RFXChain-file(requested by XRaym)
  • Image Handling: CaptureScreenAreaAsPNG - captures a screenarea and writes it as png-file(written by edgemeal, big thanks for that!)
  • Image Handling: CaptureWindowAsPNG - captures a window-area and writes it as a png-file(written by edgemeal, big thanks for that!)
  • Image Handling: ResizePNG - resizes a png-file into a new file
  • KB.ini-Management: QueryKeyboardShortcutByKeyID - returns the actual shortcutname as stored by the modifier-key-values in reaper-kb.ini's KEY-entries
  • Metadata-Management: ProjExtState_CountAllKeys - counts the number of keys within a section of a ProjectExtState
  • MIDI-Management: QueryMIDIMessageNameByID - returns the midi-message-name of a midi-message as sendable using StuffMIDIMessage
  • Project Bay: IsValidProjectBayStateChunk - checks, if a ProjectBayStateChunk is a valid one
  • Project Bay: GetAllMediaItems_FromProjectBayStateChunk - returns all items from a ProjectBayStateChunk as MediaItemStateChunkArray
  • Project Management: GetRecentProjects - gets the last x recent projectfilenames, as listed in the recent projects-menu
  • Rendering: Render_Loop - renders a part of a project for later use as loop; supports also the creation of "wetloops" like ones with reverb(requested by musicbynumbers)
  • Scripts: US_Api_Examples_Working_with_FXStateChunks_and_MediaItems.lua - example of working with FXChainStateChunks
  • Themeing: GetAllThemeLayoutNames - returns all layout-names and values of the current theme
  • Themeing: GetAllThemeLayoutParameters - returns all theme-layout-parameter attributes of the current theme
  • Ultraschall Soundboard: Soundboard_PlayFadeIn - starts a sound with fadein, when having the Ultraschall4.00-Soundboard installed
  • User Interface: GetHelpDisplayMode - returns the current help-display-mode
  • User Interface: GetTCPWidth - gets the current width of the TCP(requested by nofish)
  • User Interface: SetHelpDisplayMode - sets the current help-display-mode
  • User Interface: WiringDiagram_GetOptions - gets the current wiring-diagram-options
  • User Interface: WiringDiagram_SetOptions - sets the wiring-diagram-options

Changes from Beta 2.8 to Beta 2.9

  • ChildScripts: GetScriptParameters - produced Lua-error when no parameter was existing -> fixed
  • ChildScripts: GetScriptReturnvalues - docs fixed; didn't reset returnvalue-counter; produced Lua-error when no parameter was existing; had another stupid bug in it that I don't wanna mention... :/ -> fixed
  • ConfigurationManagement: GetIniFileValue - checks now, if the ini-file exists in the first place
  • Defer Management: Defer - returns now boolean always, as well as the defer_identifier
  • Envelope Management: GetArmState_Envelope - reimplemented, should now return future parameters as well, when added by the Reaper-devs
  • FileManagement: GetAllFilenamesInPath - returns now the paths with / as separator only
  • FileManagement: GetMediafileAttributes - did not recognize jpgs with exif-data -> should be fixed now(thanks to rstockm)
  • FileManagement: WriteValueToFile - produced Lua-error when passing a nil-value as filename_with_path -> fixed
  • FXManagement: GetFXStateChunk - counted FXStateChunks, not Takes by parameter TakeFXChain_id -> fixed
  • FXManagement: RemoveFXStateChunkFromItemStateChunk - counted FXStateChunks, not Takes by parameter take_id -> fixed
  • FXManagement: SetFXStateChunk - counted FXStateChunks, not Takes by parameter TakeFXChain_id -> fixed
  • GFX: GFX_Init - when x and/or y position are set to nil, the window will be centered now horizontally, vertically or both
  • Helper Functions: PrintProgressBar - did produce a Lua-error, when percentage==false -> fixed now
  • Marker Management: AddCustomMarker - returns now the indexnumber and guid of the newly added marker as well
  • Marker Management: AddEditMarker - returns now the guid of the marker; did not return the correct marker-id, but rather the shown id; did not add a : after _edit -> fixed
  • Marker Management: AddEditRegion - returns now the guid of the region; did not return the correct marker-id, but rather the shown id -> fixed
  • Marker Management: AddNormalMarker - returns now the guid of the marker; did not return the correct marker-id, but rather the shown id -> fixed
  • Marker Management: AddPodRangeRegion - returns now the guid of the region; did not return the correct marker-id, but rather the shown id -> fixed
  • Marker Management: EnumerateCustomMarkers - returns now the guid of the marker as well
  • Marker Management: EnumerateEditMarkers - returns now the guid of the marker as well
  • Marker Management: EnumerateEditRegion - returns now the guid of the region as well
  • Marker Management: EnumerateNormalMarkers - returns now the guid of the marker as well
  • Marker Management: GetAllCustomMarkers - returns now the guid of the marker as well
  • Marker Management: GetAllEditMarkers - returns now the guid of the editmarkers as well
  • Marker Management: GetAllMarkersBetween - returns now the guid of the markers as well
  • Marker Management: GetAllNormalMarkers - returns now the guid of the markers as well
  • Marker Management: GetAllRegions - returns now the guid of the regions as well
  • Marker Management: GetAllRegionsBetween - returns now the guid of the regions as well
  • Marker Management: GetMarkerAndRegionsByIndex - returns now the guid of the found marker as well
  • Marker Management: GetMarkerByName - returns now an array of guids as well; returned marker-numbers weren't useable with Reaper's own marker-functions due off by 1-error -> fixed
  • Marker Management: GetMarkerByName_Pattern - returns now an array of guids as well; returned marker-numbers weren't useable with Reaper's own marker-functions due off by 1-error -> fixed
  • Marker Management: GetMarkerByScreenCoordinates - retina will now be automatically set; parameter retina removed(please update your scripts!)
  • Marker Management: GetMarkerByTime - retina will now be automatically set; parameter retina removed(please update your scripts!)
  • Marker Management: GetPodRangeRegion - returns now the guid of the podrangeregion as well
  • Marker Management: GetRegionByScreenCoordinates - retina will now be automatically set; parameter retina removed(please update your scripts!)
  • Marker Management: GetRegionByTime - retina will now be automatically set; parameter retina removed(please update your scripts!)
  • Marker Management: GetTimeSignaturesByScreenCoordinates - had typo in functionname, which I corrected(old scripts will still run);retina will now be automatically set; parameter retina removed(please update your scripts!)
  • Marker Management: GetTimeSignaturesByTime - retina will now be automatically set; parameter retina removed(please update your scripts!)
  • Miscellaneous: WinterlySnowflakes - did produce Lua-error, when number of snowflakes was >5000; limited to 5000 now
  • ParmAlias: GetParmAlias_MediaTrack - had wrong functionname in error-messages -> fixed
  • ParmAlias: Docs - all functions ParmLearn-function in the docs move to proper subchapters for clearer index-navigation
  • Project Management: GetAllMediaItems_FromProjectBayStateChunk - didn't return ProjectBayStateChunk properly -> fixed
  • Project Management: GetProject_RenderCFG - returns now the render-cfg-string for the secondary renderformat as well
  • Project Management: SetProject_RenderCFG - allows now setting of secondary render-format as well; backwards compatible with old scripts, who set only primary rendering format in ProjectStateChunks
  • Rendering: AddRenderPreset - allows now adding the render-cfg-string for secondary renderformat as well; had inner variable exposed -> fixed
  • Rendering: ApplyRenderTable_Project - allows now setting the render-cfg-string for secondary renderformat as well
  • Rendering: CreateNewRenderTable - allows now adding the render-cfg-string for secondary renderformat as well; had wrong functionname in docs -> fixed
  • Rendering: DeleteRenderPreset_FormatOptions - deletes now the render-cfg-string for secondary renderformat, if existing
  • Rendering: GetRenderPreset_RenderTable - returns now possible render-cfg-string for secondary renderformat as well; some error-messages didn't work -> fixed
  • Rendering: GetRenderTable_Project - returns now a render-cfg-string for secondary renderformat
  • Rendering: GetRenderTable_ProjectFile - returns now a render-cfg-string for secondary renderformat
  • Rendering: IsValidRenderTable - checks now for the render-cfg-string for secondary renderformat as well
  • Rendering: RenderProject - allows now setting the render-cfg-string for secondary renderformat as well; checks now, if projectfilename is a valid project
  • Rendering: RenderProject_RenderTable - allows now setting the render-cfg-string for secondary renderformat as well; checks now, if projectfilename is a valid project
  • Rendering: SetRenderPreset - allows now setting the render-cfg-string for secondary renderformat as well; set RenderString2="" to remove the secondary renderformat
  • Track Management: GetTrackState_NumbersOnly - had wrong description in the docs -> fixed
  • User Interface: GetHWND_ArrangeViewAndTimeLine - moved to User Interface -> Reaper-Windowhandler in the index of the docs