4.00 Beta 2.9: - "Gentle Giant - Two weeks in Spain"
Pre-release4.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