Ultraschall Framework - Changelog
4.00 - "Aphrodite's Child - Four Horsemen"
Changes from Beta 2.9 to Final
- API: GetApiVersion - returns now the build-number as well
- API: Reapack-API-xml-generator.lua - fixed filename-creation for non-beta-versions
- FileManagement: CheckForValidFileFormats - improved check for jpg and jpg with exif-metadata
- FXManagement: SetFXStateChunk - allows now adding FXStateChunks to StateChunks with no existing FXStateChunk as well; didn't add FXStateChunks correctly under some circumstances -> fixed(thanks to XRaym)
- Image Handling: CaptureScreenAreaAsPNG - doesn't work on Mac under some still unknown circumstances
- Image Handling: CaptureWindowAsPNG - doesn't work on Mac under some still unknown circumstances
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
4.00 Beta 2.80: - "Starsailor - Four to the Floor"
Note: Ultraschall-API needs now Reaper 6.02 or higher. Please update to Reaper 6. It's worth it!
Has now 1079 functions, with 20 new ones and 23 deprecated ones removed
new in this release:
Improved Defer Management
Ultraschall.Defer allows you now to set and get the timer-settings of a given ultraschall.Defer-cycle.
You can even do this from the outside of the deferred script!
You can also protect now ultraschall.Defer-cycles from being stopped from the outside.
Rendering functions
The RenderPreset-functions do work again, after some changes in the way Reaper stores render-presets since Reaper 6.02.
They also allow you to use: preset-names with spaces. (I know, this should have been in there from the beginning... ;) )
GetItem_ClickState
Is now fully functional. That means, if you call this function in every defer-cycle of a script, you can actually monitor clicked and dragged MediaItems.
This will open up new ways of editing and item-manipulation, like RippleDrag, etc.
FXStateChunk
They can now be counted, added, removed and gotten. Means: I added the missing functions for working with them, so you can fully work with FXStateChunks now.
XRaym will love that :D
GetProjectLength
unlike Reaper's own API-function GetProjectLength, this one returns the end of the last itemedge, the last regionedge, marker and time-sigmarker
Easy Clipboarding
FromClip and ToClip allow you now to get/put strings from/to the clipboard without having to type gazillions of characters.
GetProject and GetTrackState-functions
I completely reworked most of them, so they will now return all values, even those, which I haven't put into the docs yet.
That means, if the devs add new values, you can retrieve them right away, without being dependent on me to add them.
Will do the same with the Set-functions in the future.
New features in 4.00beta2.80
- Helper functions: FloatCompare - compares two float-numbers, with the a chance to set a precision to compare against(thanks to fernsehmuell)
- Helper functions: FromClip - gets a string from the clipboard
- Helper functions: ToClip - puts a string into the clipboard
- DeferManagement: GetDeferCycleSettings - allows getting mode and timer-settings of running ultraschall.Defer-cycles at runtime and even from the outside of the deferred script
- DeferManagement: SetDeferCycleSettings - allows setting mode and timer-settings of running ultraschall.Defer-cycles at runtime and even from the outside of the deferred script
- FXManagement: CountFXStateChunksInStateChunk - counts the FXStateChunks within a Project-/Track-/ItemStateChunk(requested by XRaym)
- FXManagement: RemoveFXStateChunkFromTrackStateChunk - removes a FXStateChunk from a TrackStateChunk(requested by XRaym)
- FXManagement: RemoveFXStateChunkFromItemStateChunk - removes a certain FXStateChunk from an ItemStateChunk(requested by XRaym)
- MediaItems: GetEndOfItem - returns the endposition of a MediaItem(thanks to fernsehmuell)
- MediaItems: GetAllMediaItemAttributes_Table - returns all attributes of a MediaItem as a handy table(requested by fernsehmuell)
- MediaItems: GetAllSelectedMediaItemsBetween - returns all selected MediaItems between start- and endposition within certain tracks of your choice(requested by fernsehmuell)
- MediaItems: SetAllMediaItemAttributes_Table - sets all attributes of a MediaItems using an attributes table, like the one returned by GetAllMediaItemAttributes_Table(requested by fernsehmuell)
- Reaper Internals: Jumping_FX_Button_in_TCP-demo.zip - demoes, how Set/GetLayout-functions work; includes a demo theme and a script, that influences it, including comments
- Reaper Internals: RenderPreset-Configfile.txt - documentation of the Render-Presets of Reaper
- Reaper Internals: Reaper-ProjectDefault-ConfigSettings.txt - documents all reaper.ini-entries, responsible for default project settings
- Reaper Internals: Reaper-StuffMidiMessage-Codes(engl_shortlist).txt - holds all messages and their meaning for StuffMIDIMessage
- Reaper Internals: StuffMidiMessage-docs.txt - describes the usage of the StuffMIDIMessage-function
- Render Management: GetRender_EmbedStretchMarkers - gets the current state of the "Embed stretch markers/transient guides"-checkbox from the Render to File dialog
- Render Management: SetRender_EmbedStretchMarkers - sets the current state of the "Embed stretch markers/transient guides"-checkbox from the Render to File dialog
- ProjectManagement: GetProjectState_NumbersOnly - returns all numerical values, associated with a certain state
- ProjectManagement: GetProject_PooledEnvAttach - gets the pooled-envattach-state
- ProjectManagement: GetProjectLength - gets the length of the current active project, as well as the position of the last itemedge, regionend, marker, time-sig-marker(requested by rstockm)
- TrackManagement: GetTrackState_NumbersOnly - returns all numerical values, associated with a certain state
Changes from Beta 2.79 to Beta 2.80
- API: deprecated - allows showing a warning message, if a script uses a deprecated function in a script; will be shown only once until Reaper restarts, so scripts are stil useable
- Defer Management: GetDeferIdentifier - removed
- Defer Management: GetDeferRunState - removed Defer01-Defer20 management; threw Lua-error, when passing nonstring as identifier -> fixed
- Defer Management: Defer1 through Defer20 - removed
- Defer Management: Defer - mode and timer can also be set now from the outside of the defer-cycle; can now be protected from stopping it from the outside; couldn't be stopped from the outside when mode~=2 -> fixed
- Defer Management: GetDeferRunState - was missing parameters in the docs due typo -> fixed
- Defer Management: StopDeferCycle - didn't work, when mode=2 of a ultraschall.Defer-cycle -> fixed
- Docs: DeferScripts_004_Working_with_Defer_Identifiers - removed
- Docs: Defer - reworked docs and removed all references to Defer1 through Defer20
- Docs: JS-Extension - updated to 0.998
- Docs: Reaper - updated to Reaper 6.03
- Docs: render-codes-decoded-base64-strings.txt - removed last 00-byte in every string(except DDP), as it was wrongly there
- Event Manager: Eventmanager_RemoveEvent - couldn't be found due typo in new module-loader -> fixed (thanks to rstockm)
- Event Manager: EventManager_RemoveAllEvents_Script - couldn't be found due typo in new module-loader -> fixed
- Helper functions: Base64_Decoder - removed small bug, which added a nullbyte at end of strings
- MediaItems: GetSelectedMediaItemsAtPosition - sped up a little; returns now a MediaItemStateChunkArray as well
- ProjectManagement: GetProject_AddMediaToProjectAfterRender - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_AutoCrossFade - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_CursorPos - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_DefPitchMode - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_EnvAttach - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Feedback - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_GlobalAuto - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Grid - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_GroupDisabled - simplified implementation, future values added by Reaper-devs will now be returned properly; didn't return anything, when no groups were disabled -> fixed
- ProjectManagement: GetProject_GroupOverride - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_HorizontalZoom - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_ItemMixBehavior - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Lock - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Loop - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_LoopGran - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterAutomode - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterFXByp - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterMuteSolo - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterNChans - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterPanMode - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterSel - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterTrackColor - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterTrackHeight - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterTrackView - didn't return the new values added in recent Reaper-versions -> fixed and stabilized
- ProjectManagement: GetProject_MasterTrackView - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterVolume - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MasterWidth - simplified implementation, future values added by Reaper-devs will now be returned properly; didn't return 1 in case of +100 width -> fixed
- ProjectManagement: GetProject_MaxProjectLength - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_MixerUIFlags - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_PanLaw - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_PanMode - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_PeakGain - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Playrate - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_ProjOffsets - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_RecMode - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_RenderDitherState - simplified implementation, future values added by Reaper-devs will now be returned properly; updated docs with new options like embed stretch markers
- ProjectManagement: GetProject_RenderFreqNChans - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_RenderRange - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_RenderResample - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_RenderSpeed - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_RenderStems - simplified implementation, future values added by Reaper-devs will now be returned properly; updated docs with new rendering selected tracks/media through master-options
- ProjectManagement: GetProject_RippleState - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_SMPTESync - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_SampleRate - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Selection - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_TakeLane - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Tempo - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_TempoTimeSignature - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_TimeBase - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_Timemode - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_TrackMixingDepth - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_UseRecConfig - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_VerticalZoom - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: GetProject_VideoConfig - simplified implementation, future values added by Reaper-devs will now be returned properly
- ProjectManagement: SetProject_RenderDitherState - updated docs with new options like embed stretch markers
- ProjectManagement: SetProject_RenderStems - updated docs with new rendering selected tracks/media through master-options
- Reaper Internals: render-codes-decoded-base64-strings.txt - added new settings for AIFF
- Render Management: AddRenderPreset - supports now embed stretch markers-checkbox; works only with render-presets as of Reaper 6; supports now presetnames with spaces in it
- Render Management: ApplyRenderTable_Project - supports now embed stretch markers-checkbox as of Reaper 6
- Render Management: ApplyRenderTable_ProjectFile - supports now embed stretch markers-checkbox as of Reaper 6
- Render Management: CreateRenderCFG_AIFF - added Embed Beat Length-checkbox, as included with Reaper 6
- Render Management: CreateNewRenderTable - added new "Embed stretch markers/transient guides"-settings as of Reaper 6; CloseAfterRender wasn't accepted as boolean -> fixed
- Render Management: GetRenderCFG_Settings_AIFF - returns Embed Beat Length-checkbox, as included with Reaper 6
- Render Management: GetRenderPreset_Names - reimplemented; supports now presetnames with spaces in them as well
- Render Management: GetRenderTable_Project - supports now "Embed stretch markers/transient guides"-settings as of Reaper 6
- Render Management: GetRenderTable_ProjectFile - supports now "Embed stretch markers/transient guides"-settings as of Reaper 6
- Render Management: GetRenderPreset_RenderTable - reimplemented due changed reaper-render.ini-format in Reaper 6, should be more stable now; backwards compatible to old Reaper 5 presets
- Render Management: DeleteRenderPreset_Bounds - supports now presetnames with spaces in it
- Render Management: DeleteRenderPreset_FormatOptions - supports now presetnames with spaces in it
- Render Management: IsValidRenderTable - checks now as well new "Embed stretch markers/transient guides"-settings as of Reaper 6
- Render Management: RenderProject_RenderTable - supports now new Embed stretch markers/transient guides-checkbox as of Reaper 6
- Render Management: SetRenderPreset - supports now new Embed stretch markers/transient guides-checkbox as of Reaper 6; supports now spaces in preset-names as well
- TakeManagement: GetFXStateChunk - parameter TakeFXChain_id wasn't optional due typo -> fixed(thanks to XRaym)
- TakeManagement: SetFXStateChunk - docs were unclear, that only setting NOT inserting is possible; could crash, if no FXStateChunk for setting could be found -> fixed(thanks to XRaym)
- TrackManagement: GetTrackPeakColorState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackBeatState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackAutoRecArmState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackMuteSoloState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackIPhaseState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackIsBusState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackBusCompState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackShowInMixState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackFreeModeState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackRecState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackVUState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackHeightState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackINQState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackNChansState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackBypFXState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackPerfState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackMIDIOutState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackMainSendState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackLockState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackAutomodeState - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackMidiCTL - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackWidth - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackPanMode - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackScore - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- TrackManagement: GetTrackVolPan - improved implementation, it returns now new values as well, who are added by the Reaper-devs and aren't documented yet
- User Interface: GetReaperWindowPosition_Left - removed
- User Interface: GetReaperWindowPosition_Right - removed
- User Interface: GetItem_ClickState - remembers now the dragged item+take, even if mouse-cursor is not above it anymore
4.00 Beta 2.79: - "Yes - Owner of a lonely heart"
Has now 1082 functions, with 12 new ones
New in this release:
NOTE: There are some new features, who make use of Reaper v6-features. Please update soon, as Reaper 6 will be a requirement soon!
Speedup when loading US-API
I made a modules-system, which speeds up loading and initalization as well as memory-use of the Ultraschall-API by magnitudes.
This approach loads only the functions needed by your script(used to load all functions in earlier versions).
The loading is now about 86% faster and memoryuse is 56% less.
And what do you need to do to make use of the modules approach?
Well, nothing. The Ultraschall-API does it for you! (requested by many, so hope, this helps you a lot).
Marker/Region Extstates
Reaper 6.02 added some new features, which gives a unique guid for a marker. This again, helped me adding a feature I wanted to have for a long time: Marker/Region Extstates. They work like regular ProjectExtStates, but have the benefit, that they allow saving additional key-value stores associated with a certain marker/region.
And even if you change the whole order of the markers, the extstates will still be attached to the marker of your choice.
Possible usecase: storing the render-format-settings as region-extstates for region-rendering or simply adding additional metadata to markers/regions, that are needed but would spam the markertitle shown in the arrangeview.
Experiment with it, you'll quickly get the idea and ideas for practical usecases!
Blitting an image centered
Sometimes, you want to blit an image into gfx-windows centered. Problem is: it's not easy to do. Until now, as I added the function GFX_BlitImageCentered, which does exactly that.
That means, you can pass to the function the position of the center of the image and change rotate/scale. This makes zooming in and out of images much more easier, as they stay at their position.
Subtitles SRT-import/export
You can import and export now SRT-files for subtitles. This should allow you to use regions as subtitle-feature.
ConvertStringToBits and ConvertBitsToString
This can be helpful, if you have a string, which represents a binary-number: Just convert it with this function and voila, you can work with the bits themselves.
And if you need to do it the other direction, use ConvertBitsToString. That way, you can work easily on a bitlevel, if fiddling with bitshifting is too difficult for you.
Bugfixes with ArrangeViewSnapShots, Markers
Should now work like a charm.
New features in 4.00beta2.79
- API: loadspeed - sped up loading speed by 86%, as API will now only load functions, actually needed, not all of them; memory need is reduced by about 56%.
- Docs: Reaper Internals - updated to Reaper 6.02
- ExtStateManagement: GetMarkerExtState - gets an extstate from a specific marker/region
- ExtStateManagement: SetMarkerExtState - sets an extstate for a specific marker/region
- GFX: GFX_BlitImageCentered - blits an image centered at a given position, to make "zooming"-effects easy to produce
- Helper Functions: ConvertBitsToString - converts a table with bits(entries with 0 or 1) into its string-representation
- Helper Functions: ConvertStringToBits - converts a string into its bit-representation
- Markermanagement: GetMarkerIDFromGuid - get the markerid from a guid
- Markermanagement: GetGuidFromMarkerID - get the guid from a marker
- Scrubbing: Scrubbing_MoveCursor_GetToggleState - gets the current toggle-state for when scrubbing using an action/surface
- Scrubbing: Scrubbing_MoveCursor_Toggle - toggles the state for when scrubbing using an action/surface
- Subtitles: ReadSubtitles_SRT - imports a SubRip-srt-subtitlefile
- Subtitles: SaveSubtitles_SRT - export a SubRip-srt-subtitlefile
Changes from Beta 2.78 to Beta 2.79
- API: Reapack-API-xml-generator.lua - didn't correctly create zip-archive of the API stored in GitHub -> fixed
- ArrangeView Snapshots: DeleteArrangeviewSnapshot - deleted all Arrangeview-Snapshots instead of the slot-one and didn't check for valid value for parameter slot -> fixed
- ArrangeView Snapshots: IsValidArrangeviewSnapshot - regression, didn't return false, if no snapshot was available in a certain slot -> fixed
- ArrangeView Snapshots: RetrieveArrangeviewSnapshot - had inner variable exposed -> fixed
- ConfigurationManagement: CountValuesByPattern - didn't count at all(for some reason), errors in docs -> fixed(thanks to reapero)
- Developer: ultraschall_developertool_Display-Altered-Config-Vars.lua - didn't work with rc-pre-releases of Reaper -> fixed
- Marker Management: AddCustomRegion - was expecting length, although declared as regionend in the docs -> fixed
- Marker Management: MoveRegionsBy - still had debug-code in it, which could display messageboxes and overwrite global variables -> fixed (sorry for that)
- Marker Management: SetCustomRegion - had docs of AddCustomRegion -> fixed
- Project Management: GetProject_MarkersAndRegions - supports now guids of markers and regions, as introduced in Reaper 6.02
4.00 Beta 2.78: - "Tchaikovski - Overture 1812" - 5th of November 2019
Has now 1070 functions, with 41 new ones
New in this release:
Event Manager
Additional functions and features to improve handling, development, monitoring and debugging of events.
Fixed some bugs, that need startup-events to be readded again. Sorry for that.
SLEM
like ultraschall.ShowLastErrorMessage() but faster to type. I should have added this much more earlier.
MIDI-notes
Now you can send easily Midi: notes, cc-messages, pc and pitchbends.
Defer
One Defer-function to rule them all. You can set, how often to run the defer-cycle and give it an identifier.
With that identifier, you can stop that specific defer-cycle from the outside!
Way better than killing all scripts with the action "ReaScript: Close all running reaScripts".
PingMe
Puts out a message including linenumber and function, in which the PingMe-function was executed.
You can output the message in the ReaScript-console, as messagebox and into the clipboard, even retaining old clipboard-contents.
This can be used as simpler version of hooks to monitor internal behavior.
StateInspector supports gmem
You can monitor now gmem-states as well, which is handy for developers of JSFX and Video-Processor-related scripts.
New features in 4.00beta2.78
- DeferManagement: Defer - runs a deferred loop; you can decide how often it runs; allows you to give it a unique identifier to access, watch and stop it from anywhere! better than Defer1 through Defer20! Use this one, when in doubt! (requested by rstockm)
- Debug: PingMe - shows a message with the current scriptfilename and linenumbers of execution for debugging purposes, like hooks but "lighter"
- Docs: Concepts - added chapters EventManager_The_Basic_Concept, EventManager_AlterRetrieve and EventManager_Debugging
- ErrorMessagingSystem: SLEM - this works like ultraschall.ShowLastErrorMessage() but is easier to type.
- EventManager: EventManager_DebugMode - starts/stops the debug-mode of the EventManager, which adds additional debugging features
- EventManager: EventManager_DebugMode_UserSpace - allows getting the contents of the userspace as used by a registered eventcheck-function, for debugging purposes(DebugMode must be set to on)
- EventManager: EventManager_GetEventIdentifier - returns the EventIdentifier of a registered event, by id
- EventManager: EventManager_GetLastCheckfunctionState - returns the last state of the checkfunction of a certain event, by numbered id(requested by rstockm)
- EventManager: EventManager_GetLastCheckfunctionState2 - returns the last state of the checkfunction of a certain event, by EventIdentifier(requested by rstockm)
- EventManager: EventManager_GetLastUpdateTime - returns the last time, when any event got updated(requested by rstockm)
- EventManager: EventManager_GetPausedState - returns, if a certain event is paused or not, by numbered id(requested by rstockm)
- EventManager: EventManager_GetPausedState2 - returns, if a certain event is paused or not, by EventIdentifier(requested by rstockm)
- EventManager: EventManager_GetRegisteredEventID - returns the id of a certain event by EventIdentifier, which is the position within all currently registered events
- Examplescript: US_Api_Examples_EventManager_HowTo.lua - an example on how to add an event to the EventManager(requested by rstockm)
- Helper Functions: ConvertFunction_FromHexString - converts and loads a function from hexstring as generated by function ConvertFunction_ToHexString
- Helper Functions: ConvertFunction_ToHexString - converts a function into a hexstring which can be reconverted into a function by function ConvertFunction_FromHexString
- MIDIManagement: MIDI_SendMidiCC - sends a MIDI-CC-message to a device or virtual keyboard or Reaper itself as shortcut
- MIDIManagement: MIDI_SendMidiNote - sends a MIDI-note to a device or virtual keyboard or Reaper itself as shortcut
- MIDIManagement: MIDI_SendMidiPC - sends a MIDI-PC-message to a device or virtual keyboard or Reaper itself as shortcut
- MIDIManagement: MIDI_SendMidiPitch - sends a MIDI-Pitchbend-message to a device or virtual keyboard or Reaper itself as shortcut
- Project Management: SetProject_MasterFXByp - sets the fx-bypass-state of the master-track in a projectfile or a ProjectStateChunk
- Project Management: SetProject_MasterMuteSolo - sets the mute-solo-state of the master-track in a projectfile or a ProjectStateChunk
- Project Management: SetProject_MasterNChans - sets the number of channels and vu-metering-settings of the mastertrack in a projectfile or a ProjectStateChunk
- Project Management: SetProject_MasterPanMode - sets the panmode of the track
- Project Management: SetProject_MasterTrackColor - sets the color of the track
- TrackManagement: AnyTrackFreeItemPositioningMode - returns, if any track has free item positioning mode activated
- TrackManagement: AnyTrackFXBypass - returns, if any track has fx-bypass activated(optionally with master-track)
- TrackManagement: AnyTrackHiddenTCP - returns, if any track is hidden in TCP(optionally with master-track)
- TrackManagement: AnyTrackHiddenMCP - returns, if any track is hidden in MCP(optionally with master-track)
- TrackManagement: AnyTrackPhased - returns, if any track is phase-inverted
- TrackManagement: AnyTrackRecarmed - returns, if any track is recarmed
- TrackManagement: AnyTrackRecMonitored - returns, if any track is rec-monitored
- UltraschallSoundboard: Soundboard_Play - starts playing a certain player within the Ultraschall Soundboard
- UltraschallSoundboard: Soundboard_PlayList_Next - starts the next Soundboard-player-slot
- UltraschallSoundboard: Soundboard_PlayList_Previous - starts the previous Soundboard-player-slot
- UltraschallSoundboard: Soundboard_PlayList_SetIndex - sets the current Soundboard-player-slot, optionally starts playing it
- UltraschallSoundboard: Soundboard_PlayList_CurrentIndex - returns the current Soundboard-player-slot
- UltraschallSoundboard: Soundboard_Stop - stops playing a certain player within the Ultraschall Soundboard
- UltraschallSoundboard: Soundboard_StopAllSounds - stops all player within the Ultraschall Soundboard
- UltraschallSoundboard: Soundboard_TogglePlay_FadeOutStop - toggles playing and stop with fadeout of a certain player within the Ultraschall Soundboard
- UltraschallSoundboard: Soundboard_TogglePlayStop - toggles play-stop of a certain player within the Ultraschall Soundboard
- UltraschallSoundboard: Soundboard_TogglePlayPause - toggles play-pause of a certain player within the Ultraschall Soundboard
Changes from Beta 2.77 to Beta 2.78
- Configuration Management: GetIniFileExternalState - was missing retval in the docs
- DeferManagement: GetDeferRunState - gets now Defer-cycles-runstate, of deferred-functions, started by the new function Defer, as well
- DeferManagement: StopDeferCycle - stops now Defer-cycles, started by the new function Defer, as well
- DeveloperTools: StateInspector - supports now displaying gmem-states as well(hit g or look in the menu)
- Docs: Reaper-Internals - updated JS-extension to 0.995
- DocEngine: Docs_GetUSDocBloc_Description - didn't return right markup-type and version -> fixed
- EventManager: EventManager_EnumerateStartupEvents - was missing retval paused -> fixed
- EventManager: EventManager_EnumerateStartupEvents2 - was missing retval paused -> fixed
- EventManager: EventManager_PauseEvent - had typo in parameter-name, so it was ignored -> fixed(thanks to rstockm)
- EventManager: EventManager_RemoveStartupEvent2 - had wrong functionname in docs -> fixed
- EventManager: EventManager_ResumeEvent - had typo in parameter-name, so it was ignored -> fixed(thanks to rstockm)
- EventManager: EventManager_SetEvent - you can now pass nil for parameters, who you don't want to change
- EventManager: EventManager_SetStartupEvent - you can now pass nil for parameters, who you don't want to change
- EventManager: EventManager_Start - checks now, if EventManager-script exists and returns false if not; didn't unregister the EventManager-script again, after it was run -> fixed(thanks to rstockm)
- EventManager: StartupEvent-functions - had to rewrite the function-encoding, so StartupEvents must be re-registered by you to work, sorry for that
- EventManager: EventManager-script - returns now the current event-check-function's state and a debugmode
- Helper Functions: Base64_Encoder - was completely broken due "improvements" -> fixed now
- Helper Functions: GetApiVersion - put retval "number versionnumber" as first returnvalue, for easier versioncomparison(sorry for any inconvenience)
- RenderManagement: RenderProject_RenderTable - didn't return filearray -> fixed
- TrackManagement: AnyTrackMute - hadn't parameter master documented -> fixed
- Ultraschall.ini: CountUSExternalState_key - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini
- Ultraschall.ini: CountUSExternalState_sec - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini
- Ultraschall.ini: DeleteUSExternalState - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini; didn't work for the last key in the ini-file -> fixed
- Ultraschall.ini: EnumerateUSExternalState_key - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini
- Ultraschall.ini: EnumerateUSExternalState_sec - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini
- Ultraschall.ini: GetUSExternalState - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini
- Ultraschall.ini: SetUSExternalState - allows now to set a different filename within the Ressource-folder, other than ultraschall.ini
4.00 Beta 2.77: - "Monkeys with Tools - Call the planet doctor" - 1st of October 2019
Has now 1029 functions with 44 new ones! Yes, I crossed the thousand!
New in this release:
Event Manager
Killer Feature Time and long requested by many of you!
The EventManager allows you to run actions, when certain states occur/statechanges occur.
That way you can automatize running actions under certain circumstances without having to run your own defer-script for that.
Kudos to @fernsehmuell, who was essential in the initial designs of it!
ShowXXXInputMenu
Shows different Context-menus, like TrackInput, TrackPanel, TrackArea, TrackRouting, Ruler, MediaItem, Track/TakeEnvelope,
EnvelopePoint, EnvelopePoint for Automation Items, AutomationItems-contextmenu.
Reaper's own function ShowPopupMenu is quite difficult to use, so I made some, who make it easier.
RunLuaSourceCode
Runs Luacode directly without having to create a script for it.
Main_OnCommand_LuaCode
Runs Luacode as child-script directly without having to create a script for it.
GetTimeByMouseXPosition
returns projecttime at x-screenposition, which can be nice for mouse-editing-specific actions.
ReplacePatternInString
Like Lua's string.gsub(), this replaces a pattern within a string with a replacement string, but you can choose,
which one shall be replaced. And unlike string.gsub() only that one will be replaced, not the occurences after that.
GetItem_ClickState and GetTrackEnvelope_ClickState
Return, if a MediaItem/EnvelopePoint is currently clicked and hovered by the mouse. Could be used for some nice and handy things.
GetAllActions
Sped up and returns now more attributes, like action-type(script, native, custom, extension), termination-state of scripts, consolidate-state for custom actions.
ConvertFunction_FromBase64String and ConvertFunction_ToBase64String
Convert a Lua-function to/from a BASE64-string. That way, you can exchange functions via extstates. Convert to Base64-string, put the string into an extstate,
read the string from the extstate and convert it back to a function.
Bugfixes and optimzations
Optimized and bugfixed tons of other stuff, thanks to many bugreports and a lot of feedback from many of you.
Big thanks for that :)
New features in 4.00beta2.77
- Defer Management: GetDeferRunState - gets the current runstate of a ultraschall-defer-loop in the current or a specific scriptinstance(requested by rstockm)
- Docs: EventManager - added concepts docs for detailed description, on how to use and code the EventManager
- Envelope Management: GetTrackEnvelope_ClickState - returns the currently clicked TrackEnvelope-Point
- Error Messaging System: SuppressErrorMessages - suppresses and unsuppresses error-messages of the error messaging system
- EventManager: EventManager_AddEvent - registers a new event to the EvenManager-checkingqueue
- EventManager: EventManager_AddStartupEvent - adds an event into the ini-file of the EventManager, to be registered at startup of the ini-file
- EventManager: EventManager_CountRegisteredEvents - counts the number of registered events
- EventManager: EventManager_CountStartupEvents - counts the number of currently available startup-events for the EventManager
- EventManager: EventManager_EnumerateEvents - returns attributes of specific registered events
- EventManager: EventManager_EnumerateEvents2 - enumerates attributes of an event by EventIdentifier
- EventManager: EventManager_EnumerateStartupEvents - enumerates attributes of a startup-event
- EventManager: EventManager_EnumerateStartupEvents2 - enumerates attributes of a startup-event by an EventIdentifier
- EventManager: EventManager_IsValidEventIdentifier - checks, if an EventIdentifier is a valid and currently registered one
- EventManager: EventManager_PauseEvent - pauses a registered event in the EventManager
- EventManager: EventManager_RemoveAllEvents_Script - removes all events, registered by a script with a certain ScriptIdentifier
- EventManager: EventManager_RemoveEvent - removes an event from the EvenManager-checkingqueue
- EventManager: EventManager_RemoveStartupEvent - removes a registered-at-startup-event for the EventManager by EventIdentifier
- EventManager: EventManager_RemoveStartupEvent2 - removes a registered-at-startup-event for the EventManager
- EventManager: EventManager_ResumeEvent - resumes a paused and registered event in the EventManager
- EventManager: EventManager_SetEvent - sets an already existing event in the EvenManager-checkingqueue
- EventManager: EventManager_SetStartupEvent - sets an event in the ini-file of the EventManager, which will be registered at startup of the ini-file
- EventManager: EventManager_Start - starts the EventManager
- EventManager: EventManager_Stop - removes all events registered by the current script/a specific ScriptIdentifier; stops the EventManager, if all scripts who have registered events have used this function
- EventManager: Ultraschall_EventManager.lua - the backgroundscript for the EventManager
- Helper Functions: ConvertFunction_FromBase64String - loads a function from a BASE64-string
- Helper Functions: ConvertFunction_ToBase64String - converts a function into a BASE64-string
- Helper functions: Main_OnCommand_LuaCode - runs Luacode in a temporary new script, without the need to create it first
- Helper functions: ReplacePatternInString - replaces a certain occurence(and only that one) of a pattern in a string with a replacement
- Helper functions: RunLuaSourceCode - runs Lua-code directly from a string
- MediaItem Management: GetItem_ClickState - returns the currently clicked MediaItem
- MediaItem Management: GetItem_HighestRecCounter - returns the highest reccounter in the current project
- MediaItem Management: GetItem_Number - returns the itemnumber of a MediaItem within a project(requested by XRaym)
- Project Management: GetProjectFilename - returns the filename of a currently opened project
- Project Management: SetProject_GlobalAuto - sets global automation override-state a projectfile or a ProjectStateChunk
- Project Management: SetProject_Lock - sets locked-state of a projectfile or a ProjectStateChunk
- Project Management: SetProject_MasterAutomode - sets automation-mode of the mastertrack in a projectfile or a ProjectStateChunk
- Project Management: SetProject_Playrate - sets playrate-state of a projectfile or a ProjectStateChunk
- Project Management: SetProject_MasterSel - sets selection-state of the master-track in a projectfile or a ProjectStateChunk
- Project Management: SetProject_Tempo - sets the tempo settings(bpm, beat, denominator) a projectfile or a ProjectStateChunk
- Ultraschall: DeleteUSExternalState - deletes an extstate from the ultraschall.ini(requested by rstockm)
- User Interface: GetTimeByMouseXPosition - returns projecttime at x-screenposition
- User Interface: ShowTrackInputMenu - shows a TrackInput-contextmenu
- User Interface: ShowTrackPanelMenu - shows a TrackPanel-contextmenu
- User Interface: ShowTrackAreaMenu - shows a TrackArea-contextmenu
- User Interface: ShowTrackRoutingMenu - shows a TrackRouting-contextmenu
- User Interface: ShowRulerMenu - shows a Ruler-contextmenu
- User Interface: ShowMediaItemMenu - shows a MediaItem-contextmenu
- User Interface: ShowEnvelopeMenu - shows a Track/TakeEnvelope-contextmenu
- User Interface: ShowEnvelopePointMenu - shows an EnvelopePoint-contextmenu
- User Interface: ShowEnvelopePointMenu_AutomationItem - shows an EnvelopePoint-contextmenu for Automation Items
- User Interface: ShowAutomationItemMenu - shows an AutomationItems-contextmenu
Changes from Beta 2.761 to Beta 2.77
- Actions: GetAllActions - sped up by magnitudes; returns now actiontype, consolidate-state, termination-state of actions as well; supports now section 1(invisible custom actions)
- API: functions - moved all functions into modules for future modular-concept
- Configuration Files: CountIniFileExternalState_sec - had inner variable exposed -> fixed
- Configuration Files: EnumerateIniFileExternalState_sec - did return keys instead of sections -> fixed
- Configuration Files: GetKBIniKeys - enhanced description for osc
- Configuration Files: SetKBIniKeys - enhanced description for osc
- Docs: Reaper Internals - updated to Reaper 5.983 and JS-extension 0.992
- DocEngine: Docs_GetUSDocBloc_ChapterContext - returned an additional empty non-existant chapter -> fixed
- DocEngine: Docs_GetUSDocBloc_Requires - could produce a Lua-error -> fixed
- Defer Management: GetDeferIdentifier - you can optionally pass a script-identifier now, to get the defer-identifier of another scriptinstance(used to support only the current script instance)
- Helper Functions: IsValidMatchingPattern - moved to docs-index API-Helper functions -> Data Manipulation
- Helper Functions: SecondsToTime - moved to docs-index API-Helper functions -> Data Manipulation
- Helper Functions: SecondsToTimeString_hh_mm_ss_mss - moved to docs-index API-Helper functions -> Data Manipulation
- Helper Functions: SplitStringAtLineFeedToArray - didn't always return the last entry of the passed string -> fixed (thanks to Aurelien)
- Helper Functions: TimeStringToSeconds_hh_mm_ss_mss - moved to docs-index API-Helper functions -> Data Manipulation
- Helper Functions: TimeToSeconds - moved to docs-index API-Helper functions -> Data Manipulation
- HWND: GetActionsHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetBatchFileItemConverterHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetConsolidateTracksHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetExportProjectMIDIHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetPreferencesHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetProjectDirectoryCleanupHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetProjectSettingsHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetRenderQueueHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetRenderToFileHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetRenderingToFileHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetSaveLiveOutputToDiskHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- HWND: GetVideoHWND - moved to docs-index User Interface -> Reaper-Windowhandler
- Media Explorer: MediaExplorer_OnCommand - moved function in docs to index Media Explorer
- Media Explorer: UpdateMediaExplorer - moved function in docs to index Media Explorer
- Project Management: CheckForChangedProjectTabs - checks now as well, if projectfilenames have changed, by either loading a project or saving a project under a new filename(requested by lexaproductions)
- Project Management: GetProject_GlobalAuto - added description for global-automation-override_state
- Project Management: GetProject_MasterGroupFlagsState - moved to correct docsindex Project Management
- Project Management: ProjectTabs-check - initialization had a bug, which could cause CheckForChangedProjectTabs to fail at times -> fixed
- Project Management: SetProject_MasterGroupFlagsState - moved to correct docsindex Project Management
- SpectralEdit: AddItemSpectralEdit - parameter end_pos was actually length -> fixed (thanks to XRaym)
- SpectralEdit: GetItemSpectralEdit - retval end_pos was actually length -> fixed (thanks to XRaym)
- SpectralEdit: SetItemSpectralEdit - parameter end_pos was actually length -> fixed (thanks to XRaym)
- Ultraschall: EnumerateUSExternalState_sec - had problems, when ultraschall.ini was stored with CR+LF-lineendings -> fixed (thanks to rstockm)
- Ultraschall: IsTrackSoundboard - sped up execution by removing useless loop(thanks rstockm)
- Ultraschall: IsTrackStudioLink - sped up execution by removing useless loop(thanks rstockm)
- Ultraschall: IsTrackStudioLinkOnAir - sped up execution by removing useless loop; didn't work correctly on Mac -> fixed(thanks rstockm)
- Ultraschall: moved ultraschall.ini-related functions to Ultraschall Specific-index in the docs
- User Interface: GetReaperWindowPosition_Left - deprecated
- User Interface: GetReaperWindowPosition_Right - deprecated
- User Interface: GetUserInputs - only working on Windows, currently. Working on fixing it.
- User Interface: MB - only working on Windows, currently. Working on fixing it.
4.00 Beta 2.761: - "Coldplay - Fix You" - 23rd of August 2019
Has now 985 functions with 8 new ones!
IMPORTANT!: This is a massive critical bugfix release. About 60 functions returned wrong returnvalues in case of an error.
If you use any of the functions listed in Changes from Beta 2.76 to Beta 2.761, you should check, if your scripts still work.
This is totally my fault, as I had some of them wrong to begin with.
My apologies for any inconvenience.... :/
New in this release:
Critical Bugfixes
In case of errors, many functions returned wrong returnvalues or had faulty returnvalues stated in the docs. All of them are fixed now.
Please check, if your scripts use any of the functions listed in Changes for more details.
Hope this is the last time, stuff like that happened...
GetProjectStateChunk
gets a full StateChunk of the current project(finally working!)
Now you can get all states of your project!
MediaExplorer
Get the HWND(GetMediaExplorerHWND), update the listview(UpdateMediaExplorer) and run an action, associated with the MediaExplorer-section(MediaExplorer_OnCommand).
ConvertYCoordsMac2Win
Y-coordinates on Mac are different from the ones in Windows/Linux, meaning, pixel 0 is at the bottom, while Windows/Linux start on top.
This function converts the y-coordinates between these two coordinate-systems.
New version of Config-Vars-displayer-script
Shows changes with doubles without a problem now, is faster, uses the config-var-docs included with the API to get the currently accepted config-vars. I also improved the layout a bit.
New features in 4.00beta2.761
- Helper functions: FindPatternsInString - finds all occurrences of a matching-pattern in a string
- Helper functions: IsWithinTimeRange - returns, if a time is within a start and endtime, takes care of the precision-problem time-positions in Lua have
- ProjectManagement: GetProjectStateChunk - returns the ProjectStateChunk of the current project(finally working!)
- Scripts: ultraschall_developertool_Display-Altered-Config-Vars.lua - new version, which solves the faulty-displaying-of-double-issue, faster and improved layout. Uses now ConfigVars-Docfile to read the currently supported ConfigVars.
- Trackmanagement: IsSplitAtPosition - returns, if a split/mediaitemend/mediaitemstart exists at a certain position, within certain tracks
- User Interface: ConvertYCoordsMac2Win - converts y-coordinates between Windows/Linux and Mac related coordinatesystems
- User Interface: GetMediaExplorerHWND - gets the HWND-windowhandler of the Media Explorer
- User Interface: UpdateMediaExplorer - updates the listview of the Media Explorer
- User Interface: MediaExplorer_OnCommand - runs an Media Explorer action(just like Reaper's Main_OnCommand and Midi_OnCommand-functions); runs no scripts yet, only native/extension actions
Changes from Beta 2.76 to Beta 2.761
- Automation Items: GetProject_CountAutomationItems - didn't return the right retval in case of an error -> fixed
- ColorManagement: RGB2Grayscale - didn't return the right retval in case of an error -> fixed
- Configuration Files: CountIniFileExternalState_sec - did count keys instead of sections -> fixed(thanks to rstockm)
- Configuration Files: CountUSExternalState_sec - did count keys instead of sections -> fixed(thanks to rstockm)
- Configuration Files: CountUSExternalState_key - didn't return the right retval in case of an error -> fixed
- Configuration Files: DeleteKBIniActions - didn't return the right retval in case of an error -> fixed
- Configuration Files: DeleteKBIniScripts - didn't return the right retval in case of an error -> fixed
- Configuration Files: DeleteKBIniKeys - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateIniFileExternalState_sec - did enumerate keys instead of sections -> fixed(thanks to rstockm)
- Configuration Files: EnumerateKeysByPattern - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateSectionsByPattern - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateUSExternalState_sec - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateUSExternalState_key - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateValuesByPattern - didn't return the right retval in case of an error -> fixed
- Configuration Files: SetIniFileExternalState - didn't return the right retval in case of an error -> fixed
- Docs: Api-docs - went through all of them and removed MarkDown-issues, though I should do something on this MarkDown-issue. It's a drag...
- Docs: Doc-Engine - had wrong parameters and retvals in numerous functions...fixed(ooops)
- Docs: Doc-Engine: Docs_ConvertPlainTextToHTML - was missing html-codes in the description due me encoding it wrong
- Docs: GetRenderingToFileHWND - had parameters described, that don't exist -> fixed
- Docs: Reaper Internals - updated to Reaper 5.982, JSextension 0.990 added configvars from developer-releases
- Docs: Reaper: GetTrackSendInfo_Value - fixed Markdown-formatting-problems
- Docs: Reaper: print-functions - all print-functions, like sprint, fprint, gfx.printf, etc include now formatting information in the description.
- Docs: Reaper: SetTrackSendInfo_Value - fixed Markdown-formatting-problems
- EnvelopeManagement: SetArmState_Envelope - didn't return the right retval in case of an error -> fixed
- FileManagement: CountLinesInFile - didn't return the right retval in case of an error -> fixed
- FileManagement: GetLengthOfFile - didn't return the right retval in case of an error -> fixed
- FileManagement: MakeCopyOfFile_Binary - didn't return the right retval in case of an error -> fixed
- FileManagement: ReadValueFromFile - didn't return the right retval in case of an error -> fixed
- FileManagement: ReadBinaryFileUntilPattern - didn't return the right retval in case of an error -> fixed
- FileManagement: ReadBinaryFileFromPattern - didn't return the right retval in case of an error -> fixed
- FXManagement: AddParmLFOLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a LFOLEARN entry to become PARMLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: AddParmLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a PARMLEARN entry to become LFOLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: AddParmAlias_FXStateChunk - enhanced doc-description
- FXManagement: CountParmAlias_FXStateChunk - returns now -1 in case of an errorenhanced doc-description
- FXManagement: CountParmLearn_FXStateChunk - returns now -1 in case of an error; enhanced doc-description
- FXManagement: CountParmLFOLearn_FXStateChunk - returns now -1 in case of an error; enhanced doc-description
- FXManagement: DeleteParmAlias_FXStateChunk - enhanced doc-description
- FXManagement: DeleteParmLFOLearn_FXStateChunk - enhanced doc-description
- FXManagement: GetParmModulationChunk_FXStateChunk - enhanced doc-description
- FXManagement: GetParmLFOLearn_MediaTrack - enhanced doc-description
- FXManagement: GetFXStateChunk - had layoutproblem, when the passed StateChunk was taken from a ProjectStateChunk -> fixed(thanks to lossius)
- FXManagement: SetFXStateChunk - didn't return the right retval in case of an error -> fixed
- FXManagement: SetParmLFOLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a LFOLEARN entry to become PARMLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: SetParmLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a PARMLEARN entry to become LFOLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: SetParmAlias_FXStateChunk - enhanced doc-description
- Helper Functions: CompareStringWithAsciiValues - returned -1 in case of an error, although boolean should be returned -> fixed
- Helper Functions: ConvertIntegerIntoString2 - didn't return the right retval in case of an error -> fixed
- Helper Functions: GetScriptFilenameFromActionCommandID - didn't return the right retval in case of an error -> fixed
- Helper Functions: GetUserInputs - did change the tables passed as default-retvals -> fixed now
- Helper Functions: IsItemInTrack - changed error-retval to nil; didn't return the right retval in case of an error -> fixed
- Helper Functions: LoadFunctionFromExtState - didn't return the right retval in case of an error -> fixed
- Helper Functions: SetIntConfigVar_Bitfield - didn't return the right retval in case of an error -> fixed
- Helper Functions: ToggleStateAction - wrongly stated to return boolean instead of integer in the docs -> fixed
- Helper Functions: ToggleStateButton - wrong retval-description in the docs -> fixed
- Marker Management: DeleteNormalMarker - returned wrong retval in case of an error -> fixed
- Marker Management: DeleteEditMarker - returned wrong retval in case of an error -> fixed
- Marker Management: EnumerateEditRegion - returned wrong retval in case of an error -> fixed
- Marker Management: SetMarkerByIndex - returned wrong retval in case of an error -> fixed
- MediaItem Management: GetItemSpectralConfig - didn't return the right retval in case of an error -> fixed
- MediaItem Management: GetItemSpectralVisibilityState - didn't return the right retval in case of an error -> fixed
- MediaItem Management: GetMediaItemTake - didn't return the right retval in case of an error -> fixed
- MediaItem Management: RippleInsert_MediaItemStateChunks - had inner variable exposed
- MediaItem Management: SetItemLength - didn't return the right retval in case of an error -> fixed
- MediaItem Management: SetItemPosition - didn't return the right retval in case of an error -> fixed
- MediaItem Management: SetItemUSTrackNumber_StateChunk - didn't return in some errorcases, potentially resulting in a Lua-error -> fixed
- MediaItem Management: SplitMediaItems_Position - didn't return the right retval in case of an error -> fixed
- Project Management: GetProject_GetRegion - returned wrong retval in case of an error -> fixed
- Project Management: GetProject_CountMasterHWOuts - returned wrong retval in case of an error -> fixed
- Project Management: GetProject_MasterGroupFlagsState - returned wrong retval in case of an error -> fixed
- Project Management: GetProject_MasterGroupFlagsHighState - returned wrong retval in case of an error -> fixed
- Rendering: ApplyRenderTable_Project - stated nil as retval in case of an error, though it is false -> fixed
- Rendering: ApplyRenderTable_ProjectFile - stated nil as retval in case of an error, though it is false -> fixed
- Rendering: GetRenderPreset_RenderTable - stated false as retval in case of an error, though it is nil -> fixed
- Track Management: RemoveMediaItem_TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- Track Management: RemoveMediaItemByIGUID_TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- Track Management: RemoveMediaItemByGUID_TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- Track Management: SetMediaItemStateChunkinTrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- User Interface: GetVideoHWND - returned wrong retval in case of an error -> fixed
- Video: VID_Pixels2VideoUIStateCoords - returned wrong retval in case of an error -> fixed
- Video: VID_VideoUIStateCoords2Pixels - returned wrong retval in case of an error -> fixed
4.00 Beta 2.76: - "The Police - Walking on the Moon" - 20th of July 2019
Has now 977 functions with 42 new ones!
New in this release:
Parameter Learn
You can set/get/delete parameter-learning in Statechunks.
1) get a StateChunk
2) get its FXStateChunk using GetFXStateChunk
3) alter this FXStateChunk using the ParmLearn-functions
4) set this FXStateChunk using SetFXStateChunk
5) (re-)apply the final StateChunk to the Track/Item
Localize
You can localize your scripts using an external localize-file.
If that exists, ultraschall.Localize will convert your string into it's localized one, otherwise it uses it's original text.
DocEngine
long time on my list, functions for the DocEngine. With them, you can use my Reaper-internal-sourcefiles (.USDocML) and create your own conversions of them.
get_action_context_MediaItemDiff
a function, which helps you to get the diff of an MediaItem since last time calling this function. Good for RippleDrag-features.
AddSelectedItemsToRenderQueue
this adds MediaItems into the Render-Queued, either as single-queued or multiqueued-project-files(requested by Travesty)
GetUserInputs
allows now setting the length of the captions-fields.
No more cutting off of longer captions!(requested by Julian Sader)
More functions, more bugfixes, updated Reaper-docs, speedups
New features in 4.00beta2.76
- Actions: GetAllActions - gets all actions, actioncommandids and scriptnames of all actions in a specific section
- DocEngine: Docs_ConvertPlainTextToHTML - converts a plaintext into html
- DocEngine: Docs_GetAllUSDocBlocsFromString - gets all US_DocBlocs from a string
- DocEngine: Docs_GetUSDocBloc_ChapterContext - gets the chapters of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Description - gets the description of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Functioncall - gets a functioncall of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_NextChapter - gets the slug of the next chapter of the US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Params - gets the parameters of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_PreviousChapter - gets the slug of the previous chapter of the US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Requires - gets the requires-tag from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Retvals - gets the retvals of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Slug - gets the slug from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_SourceDocument - gets the source-document-entry from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_TargetDocument - gets the target-document-entry from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Tags - gets the tags-entry from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Title - gets the title from an US_DocBloc
- DocEngine: Docs_RemoveIndent - removes indentation from a text(usually taken from an US_DocBloc)
- Docs: Concepts: Localize_001_Introduction - Introduction to Localization
- Docs: Concepts: Localize_002_LangPack_Fileformat - How to write the translation-file
- Docs: Concepts: Localize_003_Localize_Functions - usage of Localization functions
- FXManagement: AutoDetectVSTPlugins - auto-searches for the vst-plugin-folder
- FXManagement: AddParmAlias_FXStateChunk - adds a parameter-alias-entry to an FXStateChunk
- FXManagement: AddParmLearn_FXStateChunk - adds a parameter-learn-entry to an FXStateChunk
- FXManagement: AddParmLFOLearn_FXStateChunk - adds a parameter-lfo-learn-entry to an FXStateChunk
- FXManagement: CountParmAlias_FXStateChunk - counts parameter-alias-entries in an FXStateChunk
- FXManagement: CountParmLearn_FXStateChunk - counts parameter-learn-entries in an FXStateChunk
- FXManagement: CountParmLFOLearn_FXStateChunk - counts parameter-lfo-learn-entries in an FXStateChunk
- FXManagement: DeleteParmAlias_FXStateChunk - deletes a parameter-alias-entry from a specific fx in an FXStateChunk
- FXManagement: DeleteParmLFOLearn_FXStateChunk - deletes a parameter-lfo-learn-entry from a specific fx in an FXStateChunk
- FXManagement: DeleteParmLearn_FXStateChunk - deletes a ParmLearn-entry from a specific fx in an FXStateChunk
- FXManagement: ScanDXPlugins - rescans all DX(DirectX)-plugins, optionally scans all or just the new ones
- FXManagement: ScanVSTPlugins - rescans all vst-plugins, optionally clears vst-plugin-cache first
- FXManagement: SetFXStateChunk - sets an FXStateChunk into a TrackStateChunk or MediaItemStateChunk
- FXManagement: SetParmAlias_FXStateChunk - sets a parameter-alias-entry from a specific fx in an FXStateChunk
- FXManagement: SetParmLearn_FXStateChunk - sets a parameter-learn-entry from a specific fx in an FXStateChunk
- FXManagement: SetParmLFOLearn_FXStateChunk - sets a parameter-lfo-learn-entry from a specific fx in an FXStateChunk
- GFX-Management: GFX_SetFont - sets a font to be used in a gfx-window; adjust Mac-fonts to match the size of Windows-fonts(unlike Reaper's own gfx.setfont)(code by lokasenna with contributions by Justin and Schwa)
- HelperFunctions: get_action_context_MediaItemDiff - gets the MediaItemDifference(position, start, end, length, offset) since last time calling this function. Good for ripple-drag-scripts.
- Localize: Localize - localizes a string, using the texts from a translationfile; can be used with or without ultraschall. at the beginning
- Localize: Localize_RefreshFile - reloads an already set translation-file, so translations can be updated at runtime
- Localize: Localize_UseFile - sets a translationfile, that shall be used by function ultraschall.Localize
- Localize: ultraschall_translation_file_format.USLangPack - has a description of the USLangPack-fileformat for usage with the Localize-functions(see in misc-folder)
- Misc: Developer_Reaper5965.ReaperLangPack - a language-pack, which displays the sections, in which the caption is located in a langpack
- ReaMote: AutoSearchReaMoteSlaves - autosearches for new ReaMote-slaves
- Render: AddSelectedItemsToRenderQueue - adds selected MediaItems to render-queue as either one render-queued-project or individual projects(requested by Travesty)
- Render: GetRenderingToFileHWND - gets the hwnd of the rendering-to-file-dialog, during rendering
- Tools: LangPack2Developer_langpack_converter.lua - converts a language-pack into a developer-langpack, which displays the sections, in which every caption is located in the langpack
- Tools: ultraschall_Add_Developertools_To_Reaper.lua - allows installing developertools into Reaper (requested by X-Raym)
- Tools: ultraschall_developertool_CheckForNewConfigVars.lua - checks the individual lines of a string in clipboard for valid config-vars; thought I already had added that...
- Tools: ultraschall_Remove_Developertools_From_Reaper.lua - allows removing already installed developertools from Reaper
- Track Management: AnyTrackMute - returns, if any track is muted; optionally includes the master-track as well
Changes from Beta 2.75 to Beta 2.76
- API: versionscheck - had problems with pre/rc and dev-versions of Reaper -> fixed(reported by X-Raym)
- Docs: Concepts-RenderTable - layout was totally messed up due Markdown -> fixed
- Docs: FileType-Description - added missing info to ReaperConfigZip-Filetype-description
- Docs: Index - index in all docs was missing chapters -> fixed
- Docs: updated Reaper-docs to 5.980 and JS-extension 0.989
- Helpers: GetPath - when filename has no path, it returns now "", filename
- Helpers: GetUserInputs - allows now setting width of the captions-fields(requested by Julian Sader), allows now commas in captions and default-values as well; title is now the one defined by the title-parameter(used to have temporary title previously) (reported by X-Raym)
- Helpers: SplitStringAtLineFeedToArray - sped up by magnitudes, should now work much faster with megabyte-strings
- Markers: GetAllRegions - returned index in allregionsarray[index][3] wasn't 1-based, causing problems with other functions -> fixed
- Render: RenderProject_Regions - produced Lua-error, when passing a filename without extension and if region was <1, returns error-messages now in that case allows now giving an optional separator between renderfilename_with_path and regionname when addregionname=true, including / check docs for that new feature(reported by reapero)
- Scripts: HWND-Displayer.lua - reimplemented, much more comfortable now with a lot of more features.
- Tools - the following scripts renamed to:
ultraschall_developertool_ActionlistToIni-Converter.lua
ultraschall_developertool_Display-Altered-ConfigFile-Entries.lua
ultraschall_developertool_Display-Altered-Config-Vars.lua
ultraschall_developertool_Env_State_Diffs_Monitor.lua
ultraschall_developertool_findConfigVarsToggledByActions.lua
ultraschall_developertool_GetPitchShiftModes.lua
ultraschall_developertool_gfx_deltablit_displayer.lua
ultraschall_developertool_HWND-Displayer.lua
ultraschall_developertool_Item_State_Diffs_Monitor.lua
ultraschall_developertool_Project_State_Diffs_Monitor.lua
ultraschall_developertool_StateInspector.lua
ultraschall_developertool_Track_State_Diffs_Monitor.lua
- Tools: ultraschall_Remove_ExampleScripts_To_Reaper.lua - renamed to ultraschall_Remove_ExampleScripts_From_Reaper.lua, better name that way
Ultraschall Framework - Changelog
4.00 Beta 2.75: - "Nick Cave & the Bad Seeds - Babe, I'm on fire" - 29th of May 2019
tagline inspired by a comment from _stevie_ ;)
!RenderMania Update! Has now 935 functions with 95 new ones!
Rendering - reworked Rendering completely; you can render the current project now directly, access render-presets and render-queues (thanks to Justin and Schwa for adding the features needed into Reaper)
Render-Format-strings - you can create all(!) renderformats available in Reaper as BASE64-encoded strings, as well as analyzing already BASE64-encoded renderstrings(this alone is 44 functions)
Parameter Learn - you can get all parameter learn, modulation and lfo-settings, as well as FXStateChunks who store that information, add/set/delete will come later (requested by TonE and Anton9)
ultraschall.MB - shows a messagebox and allows exchanging the texts of the buttons with your own texts
LoadFunctionFromExtState and StoreFunctionInExtState - lets you pass a Lua-function from one script to another using an extstate, no external files and loads and requires necessary
Docs - updated docs for Reaper 5.978, SWS 2.10.0.1, JS-extension 0.986
More Docs - when you've installed the API using ReaPack, actions will be added for opening the individual parts of the docs, like Reaper API(ReaScript, Video, WebRC), ConfigVars, Ultraschall-Concepts and FunctionsAPI. Type into the Actions-dialog-filter the words "ultraschall" and "help".
Example Scripts - when you've installed the API using ReaPack, new actions for registering and unregistering the example-scripts as well as opening the example-script-folder. Type into the Actions-dialog-filter the words "ultraschall" and "examples".
Even more about docs - docs for parameter-learn added(thanks to Anton9 for helping me with that) as well as many docs I had lying around(find them in the ResourceFolder/UserPlugins/ultraschall_api/Misc/misc_docs-folder)
CleanUp - removed junk and converted files into smaller fileformats(where applicable), so the API is now 20MB smaller
Many other helpful functions - HexString2Ascii2HexString, Get/Set Armstate of Envelopes, DeleteTracks_TrackString, Get/SetCheckboxState and more
Bugfixes - as usual ;)
If you find this helpful and use this, please consider donating to me at ultraschall.fm/danke (look for mespotine), paypal(lspmp3@yahoo.de) or patreon.com/mespotine.
Might be a small donation for you, but a giant motivation leap for mankind(means: me) ;)
New features in 4.00beta2.75
- Docs: Misc/misc_docs - added this folder to put into that various (often unfinished) docs
- Docs: ParmLearnDocs.txt - documented parameter-learn/modulation/alias-settings
- Docs: US-Concepts - added description of datatype RenderTable
- Docs: US-Concepts - Rendering: About RenderTables; description of how to use and work with RenderTables
- Docs: US-Concepts - Rendering: Render Presets; description for how to deal with render-presets
- Docs: US-Concepts - Rendering: Render Queue; description for how to render using the render-queue
- Envelopes: GetArmState_Envelope - gets the armstate of a TrackEnvelope or EnvelopeStateChunk
- Envelopes: GetLastEnvelopePoint_TrackEnvelope - gets the last point from a TrackEnvelope-object
- Envelopes: SetArmState_Envelope - sets the armstate of a TrackEnvelope or EnvelopeStateChunk
- FXManagement: GetFXStateChunk - Gets an FXStateChunk from a StateChunk(usually Track/MediaItemStateChunk)
- FXManagement: GetFXFromFXStateChunk - gets all lines of a specific FX stored in an FXStateChunk
- FXManagement: GetParmAlias_FXStateChunk - gets an aliasname for a specific parameter of an FX
- FXManagement: GetParmAlias_MediaTrack - gets an aliasname for a specific parameter of an FX in a specific track
- FXManagement: GetParmAudioControl_FXStateChunk - gets all settings from the Audio Control Signal-settings from parameter-modulation
- FXManagement: GetParmLearn_FXStateChunk - gets the parameter-learn-settings from an FXStateChunk, as requested by TonE
- FXManagement: GetParmLearn_MediaItem - gets the parameter-learn-settings from a MediaItem, as requested by TonE
- FXManagement: GetParmLearn_MediaTrack - gets the parameter-learn-settings from a MediaTrack, as requested by TonE
- FXManagement: GetParmLFO_FXStateChunk - gets the LFO-settings from the parameter-modulation from an FXStateChunk
- FXManagement: GetParmLFOLearn_FXStateChunk - gets the parameter-lfo-learn-settings from an FXStateChunk
- FXManagement: GetParmLFOLearn_MediaItem - gets the parameter-lfo-learn-settings from an FXStateChunk
- FXManagement: GetParmLFOLearn_MediaTrack - gets the parameter-lfo-learn-settings from an FXStateChunk
- FXManagement: GetParmMIDIPLink_FXStateChunk - gets the parameter-link-settings from an FXStateChunk
- FXManagement: GetParmModulationChunk_FXStateChunk - gets the chunk for parameter-modulation for a specific parameter of an FX in a specific track
- FXManagement: IsValidFXStateChunk - checks, whether a StateChunk is a valid FXStateChunk
- Helpers: ConvertAscii2Hex - converts a string into it's two-digit-hexadecimal-number-representation
- Helpers: ConvertBitsToInteger - converts a table with bitvalues (0 or 1) into it's integer-representation
- Helpers: ConvertHex2Ascii - converts a string with two-digit-hexadecimal-numbers into it's ascii-representation
- Lua: StoreFunctionInExtState - stores a function into an extstate
- Lua: LoadFunctionFromExtState - loads a function from an extstate, if stored using StoreFunctionInExtState
- MediaItems: GetLengthOfAllMediaItems_Track - returns the length of all MediaItems in a track combined, in seconds
- MediaItems: GetItemPlayRate - updated pitchshiftmodes in docs
- Project Management: GetProject_DefPitchMode - returns now the stretchmarker-mode as well(as set in Project Settings); updated docs to recent pitch-shift-modes
- Project Management: GetProject_GroupName - gets the name of an item-group, as stored in a ProjectStateChunk of projectfile
- Project Management: GetProject_QRenderOriginalProject - returns the original projectfile of a render-queued-project from a projectfile or ProjectStateChunk
- Project Management: GetProject_QRenderOutFiles - returns the render-outfiles-with-path of a render-queued-project from a projectfile or ProjectStateChunk
- Project Management: GetProject_RenderQueueDelay - returns the render-queue-delay of a projectfile or ProjectStateChunk
- Project Management: GetProject_Selection - had some inner variables exposed -> fixed now
- Project Management: SetProject_DefPitchMode - allows now setting the stretchmarker-mode as well(as set in Project Settings); updated docs to recent pitch-shift-modes
- Render: AddProjectFileToRenderQueue - adds a projectfile or the current active project to the render-queue
- Render: AddRenderPreset - adds a new render-preset
- Render: ApplyRenderTable_Project - applies a RenderTable to the active project
- Render: ApplyRenderTable_ProjectFile - applies a RenderTable to a projectfile
- Render: CreateRenderCFG_AVI_Video - creates a render-string for the format video-AVI
- Render: CreateRenderCFG_GIF - creates a render-string of the format video-gif
- Render: CreateRenderCFG_LCF - creates a render-string of the format video-lcf
- Render: CreateRenderCFG_M4AMAC - creates a render-string for the format audio-M4A for Mac
- Render: CreateRenderCFG_MKV_Video - creates a render-string for the format video-MKV
- Render: CreateRenderCFG_MOVMAC_Video - creates a render-string for the format video-MOV for Mac
- Render: CreateRenderCFG_MP4MAC_Video - creates a render-string for the format video-MP4 for Mac
- Render: CreateRenderCFG_QTMOVMP4_Video - creates a render-string for the format video-QT/MOV/MP4
- Render: CreateNewRenderTable - creates a new RenderTable, which holds all render-settings; can be applied later to projects or projectfiles
- Render: DeleteRenderPreset_Bounds - deletes a bounds-render-preset from reaper-render.ini and the used render-presets in the Render to File-dialog
- Render: DeleteRenderPreset_FormatOptions - deletes a format/options-render-preset from reaper-render.ini and the used render-presets in the Render to File-dialog
- Render: GetLastRenderPaths - returns the last 20 used render-output-paths, that have been used for rendering by any project in Reaper.
- Render: GetLastUsedRenderPatterns - returns the last 12 used render-patterns, that have been used for rendering by any project in Reaper.
- Render: GetRenderQueuedProjects - gets the projectfilenames of the projects currently in the render-queue
- Render: GetRender_AutoIncrementFilename - gets the current state of the "Silently increment filenames to avoid overwriting"-checkbox from the Render to File-dialog
- Render: GetRender_OfflineOnlineMode - gets the current mode of the offline/online-render-dropdownlist from the Render to File-dialog
- Render: GetRender_ProjectSampleRateForMix - gets the current state of the "Use project sample rate for mixing and FX/synth processing"-checkbox from the Render to File-dialog
- Render: GetRender_ResampleMode - gets the current state of the "Resample mode (if needed)"-dropdownlist from the Render to File-dialog
- Render: GetRender_SaveCopyOfProject - gets the current state of the "Save copy of project to outfile.wav.RPP"-checkbox from the Render to File-dialog
- Render: GetRender_QueueDelay - Gets the checkstate of the "Delay queued render to allow samples to load"-checkbox of the Render to File-dialog.
- Render: GetRenderCFG_Settings_AIFF - gets the settings of an audio-AIFF-rendercfg-string
- Render: GetRenderCFG_Settings_AudioCD - gets the settings of an audio-AudioCD-rendercfg-string
- Render: GetRenderCFG_Settings_AVI_Video - gets the settings of an video-avi-rendercfg-string
- Render: GetRenderCFG_Settings_DDP - returns, if a renderstring is a valid DDP-renderstring
- Render: GetRenderCFG_Settings_FLAC - gets the settings of an audio-flac-rendercfg-string
- Render: GetRenderCFG_Settings_GIF - gets the settings of a video-gif-rendercfg-string
- Render: GetRenderCFG_Settings_LCF - gets the settings of a video-lcf-rendercfg-string
- Render: GetRenderCFG_Settings_M4AMac - gets the settings of an audio M4A for Mac
- Render: GetRenderCFG_Settings_MKV_Video - gets the settings of a video-mkv-rendercfg-string
- Render: GetRenderCFG_Settings_MOVMac_Video - gets the settings of a video-MOV for Mac
- Render: GetRenderCFG_Settings_MP4Mac_Video - gets the settings of a video-MP4 for Mac
- Render: GetRenderCFG_Settings_MP3 - gets the settings of an audio-mp3-rendercfg-string
- Render: GetRenderCFG_Settings_MP3MaxQuality - gets the settings of an audio-mp3-maxquality-rendercfg-string
- Render: GetRenderCFG_Settings_MP3CBR - gets the settings of an audio-mp3-cbr-rendercfg-string
- Render: GetRenderCFG_Settings_MP3VBR - gets the settings of an audio-mp3-vbr-rendercfg-string
- Render: GetRenderCFG_Settings_MP3ABR - gets the settings of an audio-mp3-abr-rendercfg-string
- Render: GetRenderCFG_Settings_OGG - gets the settings of an audio-ogg-rendercfg-string
- Render: GetRenderCFG_Settings_OPUS - gets the settings of an audio-opus-rendercfg-string
- Render: GetRenderCFG_Settings_QTMOVMP4_Video - gets the settings of an audio-opus-rendercfg-string
- Render: GetRenderCFG_Settings_WAV - gets the settings of an audio-wav-rendercfg-string
- Render: GetRenderCFG_Settings_WAVPACK - gets the settings of an audio-wavpack-rendercfg-string
- Render: GetRenderCFG_Settings_WebMVideo - gets the settings of a video-webm-rendercfg-string
- Render: GetRenderPreset_Names - returns the render-presetnames currently stored
- Render: GetRenderPreset_RenderTable - returns a RenderTable of all settings of a specific render-preset
- Render: GetRenderTable_Project - returns a table with all render-settings of the currently active project
- Render: GetRenderTable_ProjectFile - returns a table with all render-dialog-settings from an rpp-projectfile or ProjectStateChunk
- Render: IsValidRenderTable - returns, if a table is a valid RenderTable
- Render: RenderProject_RenderTable - renders a projectfile or the current active project using a RenderTable
- Render: RenderProject_RenderQueue - renders a specific project from the render-queue
- Render: SetRender_AutoIncrementFilename - sets the current state of the "Silently increment filenames to avoid overwriting"-checkbox from the Render to File-dialog
- Render: SetRender_OfflineOnlineMode - gets the current mode of the offline/online-render-dropdownlist from the Render to File-dialog
- Render: SetRender_ProjectSampleRateForMix - sets the current state of the "Use project sample rate for mixing and FX/synth processing"-checkbox from the Render to File-dialog
- Render: SetRender_ResampleMode - sets the current state of the "Resample mode (if needed)"-dropdownlist from the Render to File-dialog
- Render: SetRender_SaveCopyOfProject - sets the checked-state of the "Save copy of project to outfile.wav.RPP"-checkbox from the Render to File-dialog.
- Render: SetRender_QueueDelay - Sets the "Delay queued render to allow samples to load"-checkbox of the Render to File-dialog.
- Render: SetRenderPreset - sets the values of an existing render-preset
- Scripts: GetPitchShiftModes.lua - gets a full list of all pitch-shiftmodes of the currently running Reaper-instance, formats it and puts it into clipboard
- Scripts: ultraschall_Add_ExampleScripts_To_Reaper.lua - adds the example-scripts into Reaper, can be searched for using examples
- Scripts: ultraschall_Help_Reaper_Api_Video_Documentation.lua - opens the video-api-documenation in the browser
- Scripts: ultraschall_Help_Reaper_Api_Web_Documentation.lua - opens the web-rc-api-documenation in the browser
- Scripts: ultraschall_Help_Reaper_ConfigVars_Documentation.lua - opens the config-vars-documenation in the browser
- Scripts: ultraschall_OpenFolder_Api_Documentation.lua - opens the documentation-folders
- Scripts: ultraschall_OpenFolder_Api_ExampleScripts.lua - opens the example-scripts-folder
- Scripts: ultraschall_Remove_ExampleScripts_To_Reaper.lua - removes the example-scripts from Reaper again
- Trackmanagement: DeleteTracks_TrackString - deletes all tracks given in a trackstring
- UserInterface: GetCheckboxState - gets the current checkstate of a checkbox-hwnd
- UserInterface: SetCheckboxState - sets a new checkstate of a checkbox-hwnd
Changes from Beta 2.74 to Beta 2.75
- ChildScripts: GetScriptParameters - omitted parameters, who were nil or "" -> fixed
- ChildScripts: GetScriptReturnvalues - omitted returnvalues, who were nil or "" -> fixed
- ChildScripts: SetScriptParameters - omitted parameters, who were nil or "" -> fixed
- ChildScripts: SetScriptReturnvalues - omitted returnvalues, who were nil or "" -> fixed
- Docs: corrected wrong functioncount in docs
- Docs: CreateTemporaryFileOfProjectfile - moved in docs to Project-Files -> Helper functions
- Docs: ConfigVars: defpitchcfg - updated PitchShiftmodes
- Docs: Reaper - updated docs to Reaper 5.978, JS-extension 0.986
- Docs: Reaper-API - GetSetProjectInfo - added missing information about RENDER_DITHER (dither/noiseshape stems) and RENDER_SRATE(when returned RENDER_SRATE=0)
- Docs: Reaper ConfigVars - added better description for g_config_project
- Docs: render-codes-decoded-base64-strings.txt - fixed errors, mostly regarding mp3
- Docs: US-Concepts - added functions to checking datatypes and removed beta-functions information from How to install hotfixes
- Docs: US-Concepts "Rendering: About Rendering-functions" - added information about RenderProject_RenderTable as well as removing the info about needing to save current active project before rendering
- Docs: US-Concepts "Rendering: Change more render-settings in projectfiles" - rewritten, as the difficult alteration of projectfiles isn't needed anymore for rendering the current project
- Docs: when Beta-functions is enabled, the docgenerator adds beta-functions into docs as well
- FileIO: CountLinesInFile - errormessages return now the filename as well
- FileIO: GetAllFilenamesInPath - didn't add a directory-separator between file and path, if path was missing / or \ at the end -> fixed now
- FileIO: GetLengthOfFile - errormessages return now the filename as well
- FileIO: ReadBinaryFileFromPattern - errormessages return now the filename as well
- FileIO: ReadBinaryFileUntilPattern - errormessages return now the filename as well
- FileIO: ReadBinaryFile_Offset - errormessages return now the filename as well
- FileIO: ReadFileAsLines_Array - errormessages return now the filename as well
- FileIO: ReadFullFile - errormessages return now the filename as well
- FileIO: ReadLinerangeFromFile - errormessages return now the filename as well
- FileIO: ReadValueFromFile - errormessages return now the filename as well
- FileIO: WriteValueToFile - errormessages return now the filename as well
- FileIO: WriteValueToFile_Insert - errormessages return now the filename as well
- FileIO: WriteValueToFile_InsertBinary - errormessages return now the filename as well
- FileIO: WriteValueToFile_Replace - errormessages return now the filename as well
- FileIO: WriteValueToFile_ReplaceBinary - errormessages return now the filename as well
- Fun: WinterlySnowflakes - only initialized now, when called (used to be initialized at every startup of an US-API-instance)
- General: cleanup of functions-engine - removed 3569 useless lines, who contained old debugcode sleeping in comments.
- GFX: GFX_GetMouseCap - interpreted modifier-keys as mouseclicks, when gfx.getkey had been used in script; mousewheel sometimes kept stuck at one value-> fixed
- Helpers: Base64_Encoder - fixed bug that caused encoded strings to end with wrong letter
- Helpers: CreateUSApiDocs_HTML - removed, as I'm not using it for ages now
- Helpers: GetReaperAppVersion - didn't return subversionnumber for pre-releases -> fixed now; returns pre-release-versions as well now
- Helpers: MB - allows now to choose your own texts for the buttons
- Helpers: LimitFractionOfFloat - improved code a little for rounding-operations, hope it works now properly
- Helpers: print2 - didn't show anything, if the first parameter was nil -> fixed now
- HWND: GetHWND_ArrangeViewAndTimeLine - returns now the HWND of the TCP as well
- IniFiles: Reaper-Render-Codes.ini - removed, not necessary anymore
- IniFiles: Reaper-Render-Codes-for-AudioCD.ini - removed, not necessary anymore
- MediaItems: EnumerateMediaItemsInTrack - had wrong functionname in index -> fixed
- MediaItems: PreviewMediaFile- uses now Xenakios' function Xen_StartSourcePreview(more stable that way), has now gain and loop as additional parameters
- MediaItems: StopAnyPreview - uses now Xenakios' function Xen_StopSourcePreview(more stable that way)
- Projectmanagement: all SetProject-functions - added missing ProjectStateChunk-returnvalue to docs
- Projectmanagement: GetProject_NumberOfTracks - sped code up by magnitudes for huge projects; parameter ProjectStateChunk wasn't working due stupid typo -> fixed now
- Projectmanagement: GetProject_RenderFilename - could produce Lua-error, when no Renderfilename was existing in the projectfile
- Projectmanagement: GetProject_RenderPattern - added new render-pattern options to the docs
- Projectmanagement: GetProject_RenderRange - added bounds-option for selected regions
- Projectmanagement: SetProject_RenderPattern - added new render-pattern options to the docs; stabilized, when no render-pattern was set in project/ProjectStateChunk
- Projectmanagement: SetProject_RenderFilename - stabilized, when no render-filename was set in project/ProjectStateChunk
- Projectmanagement: SetProject_RenderRange - added bounds-option for selected regions
- ReaPack: Reapack-API-xml-generator.lua - added installation of Docs-opening-scripts as well.
- Render: CreateRenderCFG_AudioCD - improved and lifted limitations for leadin-silence-values
- Render: CreateRenderCFG_MP3ABR - reimplemented, supports now "Do not allow joint stereo" and "Write ReplayGain tag"-checkboxes; forgot to add FasterEncode-setting -> fixed now
- Render: CreateRenderCFG_MP3CBR - reimplemented, supports now "Do not allow joint stereo" and "Write ReplayGain tag"-checkboxes; forgot to add FasterEncode-setting -> fixed now
- Render: CreateRenderCFG_MP3MaxQuality - reimplemented, supports now "Write ReplayGain tag"-checkbox
- Render: CreateRenderCFG_MP3VBR - reimplemented, supports now "Do not allow joint stereo" and "Write ReplayGain tag"-checkboxes; forgot to add FasterEncode-setting -> fixed now
- Render: CreateRenderCFG_OGG - reimplemented, should be more stable now; lifted limitations with bitrates
- Render: CreateRenderCFG_Opus - reimplemented, should be more stable now and supports now all options
- Render: CreateRenderCFG_Opus2 - deprecated, use CreateRenderCFG_Opus instead
- Render: CreateRenderCFG_WebMVideo - rewritten, lifted many limitations
- Render: GetOutputFormat_RenderCfg - moved to docs-index Rendering of Project -> Analyzing Renderstrings; allows now passing a project/projecttab as well recoded, is now more future-proof
- Render: RenderProject - renamed from RenderProject_RenderCFG, which is still available, but undocumented; reimplemented: sped up rendering the current project by magnitudes; no "save before rendering" necessary anymore; stabilized deleting the targetfile(if selected)
- Render: RenderProject_Regions - renamed from RenderProjectRegions_RenderCFG, which is still available, but undocumented; sped up rendering the current project by magnitudes; no "save before rendering" necessary anymore; stabilized deleting the targetfile(if selected) parameters renderfilenamewithpath and rendercfg are now mandatory
- Routing: GetTrackAUXSendReceives - recv_tracknumber is now 1-based, as it should be(thanks to woodslanding)
- Routing: SetTrackAUXSendReceives - recv_tracknumber is now 1-based, as it should be(thanks to woodslanding)
- Routing: AddTrackAUXSendReceives - had parameters tracknumber and recv_tracknumber accidentally reversed, when not working with StateChunks .. oops -> fixed (thanks to woodslanding)
- TrackManagement: GetTrackHeightState - stabilised parameter TrackStateChunk, returns now locked-trackstate
- TrackManagement: SetTrackHeightState - stabilised parameter TrackStateChunk, allows now setting locked-trackstate
- TrackManagement: SetTracksSelected - when trackstring=nil or "", it deselects all tracks now
4.00 Beta 2.74: - "Talking Heads - Once in a Lifetime" - 10th of April 2019
Has now 822 functions, with 22 new ones
Routing - sped up the routing-functions by magnitudes, who also allow now using TrackStateChunks which can be faster than Reaper's own API-functions
GFX_GetMouseCap - this allows you to get mouse-states in gfx-windows, including doubleclick and drag. Much easier than to code it yourself using gfx.mouse_cap.
ultraschall.GetUserInputs - like reaper.GetUserInputs BUT you can safely type commas into its inputfields!
Progressbar - you can code now your own progressbar, including optionally showing it in the ReaScript-console
Move Child-HWND relative within their Parent-HWND - if you don't want to deal with screen-positions when moving around gui-elements, use GetChildSizeWithinParentHWND and MoveChildWithinParentHWND
Vertical Scroll - works now like a charm
Improved Changelog - will be much more readable for this and future releases
Bugfixes and many more.
New features in 4.00beta2.74
- AudioManagement: GetHWInputs_Aliasnames - returns the input-alias-names and their associated hardware-input-channels
- AudioManagement: GetHWOutputs_Aliasnames - returns the output-alias-names and their associated hardware-output-channels
- ChildScripts: GetScriptIdentifier_Description - gets the description of your script
- ChildScripts: SetScriptIdentifier_Description - sets a description for your script
- ChildScripts: GetScriptIdentifier_Title - gets the title of your script; default is the filename
- ChildScripts: SetScriptIdentifier_Title - sets the title of your script
- ExampleScript: Helpers_ProgressBar_Example.lua - shows a simple progressbar in the ReaScript-console, that iterates over all filenames in ResourcePath/Effects
- ExampleScript: Helpers_ProgressBar_Example.gif - a demo-gif of ProgressBar_Example.lua
- ExampleScript: GFX_SimpleDrawingTool.lua - a simple drawing-tool demo, that demonstrates GFX_GetMouseCap()
- ExampleScript: GFX_SimpleDrawingTool.gif - a demo-gif of SimpleDrawingTool.lua
- GFX: GFX_GetMouseCap - checks and returns mouse-clicks in Lua-gfx-windows, including doubleclick, dragging, mousewheel-states, etc. Much more handy than gfx.mouse_cap.
- Helpers: ConvertIntegerIntoString2 - converts multiple integers into a string, 8 to 32 bit integers can be converted
- Helpers: ConvertStringToIntegers - converts a string into multiple integers; you can set the size of the integer
- Helpers: print - prints its values to the ReaScript-console, separating the displayed parameters with newlines now
- Helpers: print_update - prints its values to the ReaScript console, but clears the console before displaying. Good for progressbars and displaying a few statuses without constantly scrolling.
- Helpers: PrintProgressBar - prints a simple progressbar into the ReaScript-console; you should call ResetProgressBar before starting a new progressbar
- Helpers: ResetProgressBar - resets progressbar-settings, so you can start a new progressbar
- HWND: GetChildSizeWithinParentHWND - gets dimensions of a childhwnd relative to the position of a parenthwnd
- HWND: MoveChildWithinParentHWND - moves a childhwnd relative or absolute within its parenthwnd
- MediaItems: CopyMediaItemToDestinationTrack - copies a MediaItem to a destinationtrack at position. Thanks to nikolalkc for allowing me to adapt his function
- Routing: AreAUXSendReceivesTablesEqual - compares two AllAUXSendReceives-tables, as returned by GetAllAUXSendReceives and GetAllAUXSendReceives2
- Routing: AreHWOutsTablesEqual - compares two AllHWOuts-tables, as returned by GetAllHWOuts and GetAllHWOuts2
- Routing: AreMainSendsTablesEqual - compares two AllMainSends-tables, as returned by GetAllMainSendStates and GetAllMainSendStates2
- TrackManagement: GetTracknumberByGuid - gets a tracknumber and MediaTrack-object by guid
- UserInterface: SetVerticalRelativeScroll - like SetVerticalScroll but sets the arrange-vertical-scroll, relative to it's current vscroll-position
- Ultraschall: GetTypeOfTrack - returns the type of a track, either StudioLink/StudioLinkOnAir or SoundBoard
- Ultraschall: GetAllAUXSendReceives2 - like GetAllAUXSendReceives, but returns type of track as well
- Ultraschall: GetAllHWOuts2 - like GetAllHWOuts, but returns type of track as well
- Ultraschall: GetAllMainSendStates2 - like GetAllMainSendStates, but returns type of track as well
- Ultraschall: IsTrackSoundboard - returns, if a track is a valid Ultraschall-Soundboard-track
- Ultraschall: IsTrackStudioLink - returns, if a track is a valid StudioLink-track
- Ultraschall: IsTrackStudioLinkOnAir - returns, if a track is a valid StudioLinkOnAir-track
Changes from Beta 2.73 to Beta 2.74
- Docs: Functions reference - added pan-law info to the descriptions for many routing-functions
- Docs: GetLastCursorPosition - added info about limitations in Reaper
- Docs: GetScriptIdentifier - moved in the index to Api-Helper functions -> Child Scripts, where it belongs to
- Docs: GetScriptReturnvalues - corrected docs and cleared them up a little
- Docs: ReaperApidocs and ConfigVar-docs: updated to Reaper 5.974 and JS-extension 0.980
- Docs: ReaperApidocs: added info about JS_Mouse_GetState and fixed Markdown-issues with JS_Window_GetScrollInfo and JS_Window_SetScrollPos
- Docs: Reaper-ConfigVars: added new settings in video_colorspace from Reaper 5.972 and pre-release onlys to labelitems2, pooledenvtranstime and video_defimglen
- Docs: relayouted changelog for beta 2.72 upwards, the featurelist should be better readable, now
- Docs: SetVerticalZoom - added info into description about how to do relative-vertical-zoom
- ExampleScript: renamed the scripts and demogifs, so the names reflect more, of what category the scripts are; removed Track/Item-extstate scripts, as this feature is deprecated
- ExtStates: GetTrackExtState - deprecated, as Reaper will have that feature in a future version in better
- ExtStates: SetTrackExtState - deprecated, as Reaper will have that feature in a future version in better
- ExtStates: GetItemExtState - deprecated, as Reaper will have that feature in a future version in better
- ExtStates: SetItemExtState - deprecated, as Reaper will have that feature in a future version in better
- Helpers: print - renamed to print_alt, print itself now separates the parameters with newlines(not two spaces)
- Helpers: SetTrackStateChunk_Tracknumber - undo parameter wasn't used properly -> fixed now
- HWND: GetRenderToFileHWND - fixed bug, that sometimes caused the function not to find the RenderToFile-window
- HWND: IsValidHWND - shouldn't crash anymore on Mac, when passing a non-existing HWND.
- Routing: ApplyAllHWOuts - sped up code by magnitudes; allows now setting the HWOut-table by guid; that way, you can apply stored hwouts correctly, even if trackorder changes
- Routing: ApplyAllAUXSendReceives - sped up code by magnitudes; allows now setting the HWOut-table by guid; that way, you can apply stored routings correctly, even if trackorder changes
- Routing: ApplyAllMainSendStates - fixed error in docs; allows now setting the HWOut-table by guid; that way, you can apply different MainSends correctly, even if trackorder changes
- Routing: AddTrackHWOut - rewritten, is much faster now and supports now adding to trackstatechunks as well; removed useless parameter undo
- Routing: AddTrackAUXSendReceives - rewritten, is much faster now and supports now adding to trackstatechunks as well; removed useless parameter undo
- Routing: CountTrackHWOuts - allows now TrackStateChunks as well
- Routing: CountTrackAUXSendReceives - allows now TrackStateChunks as well
- Routing: DeleteTrackAUXSendReceives - sped up; supports now deleting from TrackStateChunks as well; removed useless parameter undo
- Routing: DeleteTrackHWOut - sped up; supports now deleting from TrackstateChunks as well when tracknumber=-1; removed useless parameter undo
- Routing: GetAllHWOuts - sped up; stores now the guids of the track and the receive tracks as well; allows you to keep right tracks and receive-tracks, even if trackorder changes
- Routing: GetAllAUXSendReceives - sped up; stores now the guid of the tracks as well; allows you to keep right track, even if trackorder changes
- Routing: GetAllMainSendStates - sped up; stores now the guid of the tracks as well; allows you to keep right track, even if trackorder changes
- Routing: GetTrackAUXSendReceives - sped up; supports now getting from TrackstateChunks as well when tracknumber=-1
- Routing: GetTrackHWOut - sped up; supports now getting from TrackstateChunks as well when tracknumber=-1
- Routing: GetTrackMainSendState - sped up execution when not working with TrackStateChunks
- Routing: SetTrackMainSendState - sped up execution when not working with TrackStateChunks; returns changed TrackStateChunk now only, when working with TrackStateChunks
- Routing: SetTrackAUXSendReceives - sped up execution; supports now TrackStateChunks as well, when tracknumber=-1; removed useless parameter undo
- Routing: SetTrackHWOut - sped up execution; supports now TrackStateChunks as well, when tracknumber=-1; removed parameter undo, as it useless, now
- StateChunks: GetTrackStateChunk_Tracknumber - forgot to remove retval "overflow" from docs -> fixed
- UserInterface: GetUserInputs - you can now enter commas into inputfields; parameter length renamed to values_length and is now optional; nil for default length 10; -1 for autolength; requested by woodslanding
- UserInterface: GetVZoom - renamed to GetVerticalZoom for better readability, sorry for any inconvenience
- UserInterface: SetVZoom - renamed to SetVerticalZoom for better readability, sorry for any inconvenience
- UserInterface: SetVerticalScroll - last minute changes prevented the parameter from being passed to the function -> fixed
- Ultraschall: CountUltraschallEffectPlugins - removed, as it was useless
- Ultraschall: pause_follow_one_cycle - moved to Ultraschall Specific in the index of the docs
4.00 Beta 2.73: - "Radiohead - Bangers'n'Mash" - 9th of March 2019
Has now 800 functions, with 20 new ones
New HWNDs to get, like Render Queue, Preferences, Project Settings and more
Routing-Convenience Features to work better with Routing-stuff. Includes now MKVOL from/to DB-converter for that!
print3 outputs it's parameters to the Clipboard.
New features in 4.00beta2.73
- Config: GetSetConfigAutoMute - gets/sets the automute-config-variable
- Config: GetSetConfigAutoMuteFlags - gets/sets the automuteflags-config-variable
- Config: GetSetConfigAutoSaveInt - gets/sets the autosaveint-config-variable
- Config: GetSetConfigAutoSaveMode - gets/sets the autosavemode-config-variable
- Helper: DB2MKVOL - converts a dB-value into its MKVOL-representation, which can be used by routing-functions for the volume
- Helper: MKVOL2DB - converts a MKVOL-value(as used by volume in routing-settings) into its dB-representation
- Helper: print3 - like print and print2, but puts the parameters into the clipboard instead
- HWND: GetRenderQueueHWND - gets the HWND of the Render-Queue-window, if opened
- HWND: GetProjectSettingsHWND - gets the HWND of the Project Settings-window, if opened
- HWND: GetSaveLiveOutputToDiskHWND - gets the HWND of the Save Live Output To Disk-window, if opened
- HWND: GetConsolidateTracksHWND - gets the HWND of the Consolidate Tracks-window, if opened
- HWND: GetExportProjectMIDIHWND - gets the HWND of the Export Project MIDI-window, if opened
- HWND: GetProjectDirectoryCleanupHWND - gets the HWND of the Project Directory Cleanup-window, if opened
- HWND: GetBatchFileItemConverterHWND - gets the HWND of the Batch File/Item Converter-window, if opened
- Routing: ClearRoutingMatrix - clears the routing-matrix, either completely or just parts of it(Send/Receive, HWOuts, MasterSends) including or excluding the Master-Track
- Routing: GetAllHWOuts - returns a table with all HWOut-settings of all tracks of the current project
- Routing: GetAllAUXSendReceive - returns a table with all Send/Receive-settings of all tracks of the current project
- Routing: GetAllMainSendStates - returns a table with all MainSend(Master Send)-settings of all tracks of the current project
- Routing: ApplyAllHWOuts - applies a table, as returned by GetAllHWOuts to all tracks. That way, you can easily alter HWOuts of multiple tracks in that table, before passing it to ApplyAllHWOuts
- Routing: ApplyAllAUXSendReceives - applies a table, as returned by GetAllAUXSendReceive to all tracks. That way, you can easily alter AUXSendReceives of multiple tracks in that table, before passing it to ApplyAllAUXSendReceives
- Routing: ApplyAllMainSendStates - applies a table, as returned by GetAllMainSendStates to all tracks. That way, you can easily alter MainSend(Master-Send)-states of multiple tracks in that table, before passing it to ApplyAllMainSendStates
Changes from 4.00beta2.72 to 4.00beta2.73
- ChildScripts: Main_OnCommandByFilename - fixed bug with Scriptidentifier-creation
- ChildScripts:MIDI_OnCommandByFilename - fixed bug with Scriptidentifier-creation
- Config: GetIniFileValue - improved code
- Config: SetIniFileValue - fixed bug that caused inifiles to explode in size
- Docs: Reaper Api docs: Video Processor: corrected YET ANOTHER Markdown-f....p in the example code of chapter Coding Introduction
- Docs: Reaper-Docs: updated to Reaper 5.972
Docs: Reaper-Api-docs: fixed further layout-problems with Markdown in some descriptions I really, really, really, really, really, really, really need to write my own MarkDown-dialect. It makes me nuts, having to deal with Markdown's ambiguities...
- Routing: CountTrackAUXSendReceives - when track isn't found, it returns now an error-message
- Routing: DeleteTrackAUXSendReceives - allows now to delete all AuxSendReceives of a track at once, when idx=-1
- Routing: DeleteTrackHWOut - allows now to delete all HWOuts of a track at once, when idx=-1
- Routing: GetTrackAUXSendReceives - had internal variable exposed -> fixed now
- Routing: SetTrackHWOut - fixed bug with an incorrect idx-numbering
- Routing: SetTrackAUXSendReceives - fixed bug with an incorrect idx-numbering
Script-Identifier: Ultraschall.ScriptIdentifier - fixed bugs with Scriptidentifier-creation
4.00 Beta 2.72: - "Blue Oyster Cult - Don't fear the Reaper" - 1st of March 2019
Has now 780 functions, with 80 new ones
Among them new features, like:
ReaPack installable, it can be installed using ReaPack now, using https://github.com/Ultraschall/ultraschall-lua-api-for-reaper/raw/master/ultraschall_api_index.xml - Request by X-Raym
Defer-functions, that allow setting, how often a specific defer-loop shall be executed, every n'th cycle/second. They also allow being terminated from inside and outside the current script.
ChildScripts, that allow you to run scripts as multiple script-instances, pass parameters and returnvalues to and from them - Request by lokasenna
Get HWNDS, get numerous HWNDs, including the one of your gfx.init-window, ArrangeView, Timeline, Render to File-dialog, Actions-dialog, etc - Request by Sexan
print and print2, replaces the unuseable print-function from Lua
new backgroundscripts, who monitor statechanges of playstate, editcursorposition and loop-button
Custom Markers and Regions, that follow the scheme "_custommarkername: text", that can be easily managed.
Have multiple markertypes with custom-markers and custom-regions with this feature. - request by VanillaChief
Reaper-Internals Docs, updated to Reaper 5.971(including the new Video Processor-docs), SWS 2.10.0.1, JS-Extension 0.971 and ReaPack.
many, many, many, many bugfixes
New features in 4.00beta2.72
- API: ultraschall.hotfixdate - holds the release-date of the currently installed hotfix, returned by GetApiVersion now
- ArrangeView: GetVerticalScroll - gets the current vertical-scroll-factor of the arrangeview
- ArrangeView: SetVerticalScroll - sets a new vertical-scroll-factor of the arrangeview
- BackgroundScripts: new background-script - ultraschall_track_old_playstate.lua - stores old playstate into extstate ultraschall->last_playstate
- BackgroundScripts: GetLastPlayState - returns the last playstate before the current one
- ChildScripts: Main_OnCommandByFilename - runs a command by its filename instead of the ActionCommandID/command-id; returns a unique script-identifier for the started script-instance, that you can use as extstate to communicate with that script; allows passing of parameters to the started script!
- ChildScripts: MIDI_OnCommandByFilename - runs a command in the MIDI-Editor context by its filename instead of the ActionCommandID/command-id; returns a unique script-identifier for the started script-instance, that you can use as extstate to communicate with that script allows passing of parameters to the started script!
- Child-Scripts: SetScriptParameters - sets parameters for a child-script, as started by Main_OnCommandByFilename and MIDI_OnCommandByFilename
- Child-Scripts: GetScriptParameters - gets parameters for a child-script, as started by Main_OnCommandByFilename and MIDI_OnCommandByFilename
- Child-Scripts: GetScriptReturnvalues - gets returnvalues, that a script-instance with a specific scriptidentifier sent to the current script
- Child-Scripts: SetScriptReturnvalues - sends returnvalues to a script-instance with a specific scriptidentifier
- Child-Scripts: GetScriptReturnvalues_Sender - gets, which child-scripts(and their corresponding ScriptIdentifier) have sent return-values to the current script
- Config: GetSetIntConfigVar - gets/sets a configuration-variable of the type integer-bitfield
- Config: GetIniFileValue - gets an ini-value from an ini-file; unlike SWS's own functions for that(2.9.7 and earlier), this has no problems with Umlauts in the path
- Config: SetIniFileValue - sets an ini-value into an ini-file; unlike SWS's own functions for that(2.9.7 and earlier), this has no problems with Umlauts in the path
- Docs: US_Api_AUD.html - added
- Docs: US_Api_Concepts_AUD.html - added
- Docs: US_Api_Concepts_DOC.html - added
- Docs: US_Api_Concepts_GFX.html - added
- Docs: US_Api_Concepts_GUI.html - added
- Docs: US_Api_Concepts_VID.html - added
- Docs: US_Api_DOC.html - added
- Docs: US_Api_GFX.html - added
- Docs: US_Api_GUI.html - added
- Docs: US_Api_VID.html - added
- Docs: US_Api-AUD.USDocML - added
- Docs: US_Api-DOC.USDocML - added
- Docs: US_Api-GFX.USDocML - added
- Docs: US_Api-GUI.USDocML - added
- Docs: US_Api-VID.USDocML - added
- Docs: NewUltraschallDoc_VID_Converter.lua - added
- Docs: NewUltraschallDoc_GUI_Converter.lua - added
- Docs: NewUltraschallDoc_DOC_Converter.lua - added
- Docs: NewUltraschallDoc_AUD_Converter.lua - added
- Docs: NewUltraschallConceptsDocConverter_AUD.lua - added
- Docs: NewUltraschallConceptsDocConverter_DOC.lua - added
- Docs: NewUltraschallConceptsDocConverter_GFX.lua - added
- Docs: NewUltraschallConceptsDocConverter_GUI.lua - added
- Docs: NewUltraschallConceptsDocConverter_VID.lua - added
- Docs: Child Scripts: Introduction - added chapter
- Docs: Child Scripts: The unique ScriptIdentifier - added chapter
- Docs: Child Scripts: Running Childscripts - added chapter
- Docs: Child Scripts: Passing Parameters and Returnvalues - added chapter
- Docs: DeferScripts: Introduction to Ultraschall's Defer-functions - added chapter
- Docs: DeferScripts: Special Defer-loops in the Ultraschall-API - added chapter
- Docs: DeferScripts: Stopping Defer-loops from in- and outside of scripts - added chapter
- Docs: Concepts: Error Messaging System: Other helpers for Error-Messaging-system - added chapter
- Docs: Concepts: Installation - added instructions on how to install the Ultraschall-API using ReaPack-package-managerhttps://reapack.com/
- Docs: Concepts: Markers and Regions: Custom-Markers and Custom-Regions
- ReaperDocs: added new SWS2.10.0.1-functions
- ReaperDocs: updated new JS-extension-plugin-functions, up to 0.971
- ReaperDocs: added new Video-Processor-Api-functions, as of Reaper 5.971
- ReaPack: ReaPack-functions - added ReaPack-functions to Reaper-Internals docs
- Defer: GetDeferIdentifier - gets the identifier of a Defer1 to Defer20-cycle of the current script
- Defer: Defer1 to Defer20 - run a customized defer-cycle, in which you can decide, how often it should be run. You can also stop such a defer-cycle from in/outside the script using StopDeferCycle. For that, Defer1 to Defer20 will return an identifier, which can be used to stop this specific defer-cycle. You should only use each DeferXX-cycle once in a script-instance, or the timing will become corrupt!
- Defer: StopDeferCycle - stops a Defer1 to Defer20-defer-instance from a script-instance
- Dialogs: GetUserInputs - gets the user-input. Like Reaper's own GetUserInputs but a different parameter-scheme, that should be easier to handle.
- Dialogs: BrowseForOpenFiles - utilizes JS_Dialog_BrowseForOpenFiles-function, but returns the files and paths in a more comfortable way
- Editing: RippleCut_Regions - ripple-cuts all regions between startposition and endposition and moves all regions after endposition toward projectstart by difference between startposition and endposition
- ErrorMessages: ShowErrorMessagesInReascriptConsole - toggles, if errormessages shall be shown in the ReaConsole immediately, when they happen
- ExampleScript: A_Simple_EventManager_with_Backgroundhelpers_and_Defer01.lua - a simple demo-eventmanager, that employs the background-helper-scripts and the Defer01-function
- FileIO: GetAllRecursiveFilesAndSubdirectories - returns all subdirectories with all their files with full path of a directory
- GFX: GFX_DrawThickRoundRect - draws a round-rectangle with variable thickness
- GFX: GFX_BlitFramebuffer - blits the content of a framebuffer into the drawing-buffer; will resize, if necessary and retains aspect-ratio
- Helpers: SplitStringAtNULLBytes - splits a string at NULL-bytes ( \0 )
- Helpers: Base64_Encoder - encodes a string into a Base64-encoded string
- Helpers: CreateTemporaryFileOfProjectfile - creates a valid temporary-copy of an rpp-projectfile; use nil for the currently opened one(must be saved first)
- Helpers: Base64_Decoder - decodes a Base64-encoded string
- Helpers: StateChunkLayouter - layouts statechunks according the layouting rules of rpp-projectfiles; makes parsing them much easier
- Helpers: print - replacement for Lua's own print-function(which is quite useless in Reaper); displays the printed parameters in the ReaScript-console
- Helpers: print2 - like print, but displays the parameters as a messagebox instead
- Helpers: ConvertIntegerToBits - converts an integer-value into its individual bitvalues
- Helpers: ReverseEndianess_Byte - changes endianess of a byte-value
- Helpers: ConvertIntegerIntoString - converts the individual bytes of an integer into a string
- Helpers: ReplacePartOfString - replaces a part of a string, beginning from an offset and up to a length; can be used for easy string insertion as well
- HWND: IsValidHWND - checks, if a HWND is a valid one
- HWND: GFX_Init - opens a new gfx-window. Like gfx.init, but this returns its HWND-windowhandler-object as well
- HWND: GFX_GetWindowHWND - gets the HWND of a opened gfx-window, opened with ultraschall.GFX_Init
- HWND: GetReaperWindowAttributes - returns several attributes of the Reaper-window, like size/position, active-state, childwindows, etc
- HWND: GetTopmostHWND - returns the topmost hwnd(window-handler) of a child-hwnd; returns also all the parent-hwnds
- HWND: Windows_Find - finds Reaper-windows by title and returns their HWNDs
- HWND: GetAllReaScriptIDEWindows - returns the HWNDs of all opened ReaperIDE-windows
- HWND: GetReaScriptConsoleWindow - returns the HWND of the ReaScript-console, if open at all.
- HWND: HasHWNDChildWindowNames - allows to check, if a certain HWND has child-hwnds of certain name(s). Good to make probability-checks for the right Reaper-windows-check.
- HWND: GetRenderToFileHWND - returns the HWND of the Render to File-dialog
- HWND: GetActionsHWND - returns the HWND of the Actions-dialog
- HWND: GetVideoHWND - returns the HWND of the Video Window
- HWND: GetHWND_ArrangeViewAndTimeLine - returns the HWND-window-handler for the tracklist- and timeline-area of the arrangeview
- Markers: GetAllCustomMarkers - gets all custom-markers of a certain name, as table
- Markers: GetAllCustomRegions - gets all custom-regions of a certain name, as table
- Markers: CountAllCustomMarkers - counts all custom-markers of a certain name
- Markers: CountAllCustomRegions - counts all custom-regions of a certain name
- Markers: EnumerateCustomMarkers - enumerates a custom-marker of a certain name
- Markers: EnumerateCustomRegions - enumerates a custom-region of a certain name
- Markers: DeleteCustomMarkers - deletes a custom-marker of a certain name
- Markers: DeleteCustomRegions - deletes a custom-region of a certain name
- Markers: AddCustomMarker - adds a custom-marker of a certain name
- Markers: AddCustomRegion - adds a custom-region of a certain name
- Markers: SetCustomMarker - sets a custom-marker of a certain name
- Markers: SetCustomRegion - sets a custom-region of a certain name
- Markers: GetNextFreeRegionIndex - gets the next free region-shown-indexnumber
- Markers: IsMarkerValidCustomMarker - checks a marker, if it's a valid custom-marker
- Markers: IsRegionValidCustomRegion - checks a marker, if it's a valid custom-region
- MediaItems: EnumerateMediaItemsInTrack - readded, got lost in earlier versions somehow, leading to GetTrackLength being useless
- Render: IsReaperRendering - returns, if Reaper is currently rendering a file
- Render: GetProject_RenderOutputPath - returns the output-directories for rendered files from a projectfile
- Script-Identifier: GetScriptIdentifier - returns a unique identifier-string for the current script-instance, that can be used to send command/string to this scriptinstance
- Trackstates: GetTrackSelection_TrackStateChunk - gets, if a track in a StateChunk is selected; works only with TrackStateChunks from ProjectStateChunks
- Trackstates: SetTrackSelection_TrackStateChunk - sets a track in a StateChunk selected; works only with TrackStateChunks from ProjectStateChunks
- Transport: SetLoopState - sets the current loop-state(button)
- Transport: GetLoopState - gets the current state of loop
- Transport: GetLastLoopState - gets the last loop-state, needs RunBackgroundHelperFeatures to be run first
- Ultraschall: CountUltraschallEffectPlugins - counts number of instances of StudioLink, StudioLinkOnAir, Ultraschall-Soundboard and Ultraschall_Dynamics-plugins in a track. Also returns a table with all bypass/offline-states
- Video: VID_VideoUIStateCoords2Pixels - converts the coordinates, returned by the video-processor-function ui_get_state into pixels
- Video: VID_Pixels2VideoUIStateCoords - converts back the coordinates from pixels into the coordinates returned by the video-processor-function ui_get_state
Changes from 4.00beta2.7 to 4.00beta2.72
- Api: GetApiVersion - updated versionsnumbering; returns now the release-date of the currently installed hotfixes
- Api: hotfixes are now loaded before beta-functions
- Api: requires now version 0.963 of Julian Sader's plugin
- Api: ultraschall_api.lua - checks now, if it is run within the beta-engine-parts of this API and prevents including it if necessary. This prevents duplicate execution of functions, when coding within the beta-functions-engine-scripts.
- ArrangeView: IsValidArrangeviewSnapshot - checks now vertical-scrollfactor as well
- ArrangeView: IsValidArrangeviewSnapshot - improved checking for validity of parameters
- ArrangeView: RestoreArrangeviewSnapshot - improved checking for validity of parameters
- ArrangeView: RestoreArrangeviewSnapshot - restores now vertical-scrollfactor as well
- ArrangeView: RetrieveArrangeviewSnapshot - improved checking for validity of parameters
- ArrangeView: RetrieveArrangeviewSnapshot - retrieves now vertical-scrollfactor as well
- ArrangeView: StoreArrangeviewSnapshot - improved checking for validity of parameters
- ArrangeView: StoreArrangeviewSnapshot - stores now vertical-scrollfactor as well
- Colors: RGB2Grayscale - improved checking for validity of parameters
- Config: GetIniFileExternalState - using now the SetIniFileValue-function for getting the ini-file-value
- Config: GetReaperWorkDir - using now the SetIniFileValue-function for getting the ini-file-value
- Config: GetUSExternalState - using now the SetIniFileValue-function for getting the ini-file-value
- Config: SetIniFileExternalState - using now the SetIniFileValue-function for setting the ini-file-value
- Config: SetPlayCursorWidth - using now the SetIniFileValue-function for setting the ini-file-value
- Config: SetReaperWorkDir - using now the SetIniFileValue-function for setting the ini-file-value
- Config: SetStartNewFileRecSizeState - using now the SetIniFileValue-function for setting the ini-file-value
- Config: SetUSExternalState - converts now all passed parameters to string, regardless of their type
- Config: SetUSExternalState - using now the SetIniFileValue-function for setting the ini-file-value
- Dialogs: CloseReaConsole - renamed to CloseReaScriptConsole, as the ReaConsole is something different; added plausability-checks and localization to get the right ReaScript-Console-window
- Dialogs: ultraschall.MB - converts now all passed data into string, no matter what type it is
- Docs: Changelog - fixed Markdown-formatting-issues
- Docs: Docgenerator - reworked the docengine-creator for more fluffy working of it
- Docs: docs generate and include now beta-functions as well
- Docs: docs use now GetApiVersion for displaying version-numbering
- Docs: Introduction/Concepts: Datatypes: Checking Datatypes - fixed Markdown-issues
- Docs: MB - moved to User Interface -> Dialogs in the docs
- Envelopes: CountEnvelopePoints - improved checking for validity of parameters
- Envelopes: CountMuteEnvelopePoints - improved checking for validity of parameters
- Envelopes: GetClosestEnvelopePointIDX_ByTime - improved checking for validity of parameters
- Envelopes: GetEnvelopePoint - improved checking for validity of parameters
- Envelopes: GetEnvelopePointIDX_Between - improved checking for validity of parameters
- Envelopes: SetEnvelopeHeight - improved checking for validity of parameters
- ErrorMessages: AddErrorMessage - when set with ShowErrorMessagesInReascriptConsole, it shows now errormessages immediately in the ReaScriptConsole
- ErrorMessages: ReadErrorMessage - accepted a string for the integer-parameter errornumber which rendered the function useless -> fixed
- ErrorMessages: ReadErrorMessage - improved error-message, errornumber now checks, if being an integer
- FileIO: CreateValidTempFile - added info about the path of the created tempfile/tempfilename
- FileIO: GetAllFilesnamesInPath renamed to GetAllFilenamesInPath - stupid typo in functionname...sorry for any inconveniences
- FileIO: GetLengthOfFile - improved checking for validity of parameters
- FileIO: MakeCopyOfFile_Binary - added check, if a file is already in use and can't be read
- FileIO: ReadBinaryFileFromPattern - added check, if a file is already in use and can't be read
- FileIO: ReadBinaryFileUntilPattern - added check, if a file is already in use and can't be read
- FileIO: ReadFullFile - added check, if a file is already in use and can't be read
- FileIO: ReadFullFile - produced Lua-error, when passing a boolean as filename_with_path -> fixed
- FileIO: ReadValueFromFile - produced Lua-error, when passing a boolean as filename_with_path -> fixed
- FileIO: WriteValueToFile - converts now the parameter value to a string, regardless of it's original datatype
- FileIO: WriteValueToFile_Insert - converts now the parameter value to a string, regardless of it's original datatype
- FileIO: WriteValueToFile_InsertBinary - converts now the parameter value to a string, regardless of it's original datatype
- FileIO: WriteValueToFile_Replace - converts now the parameter value to a string, regardless of it's original datatype
- FileIO: WriteValueToFile_ReplaceBinary - converts now the parameter value to a string, regardless of it's original datatype
- Fun: WinterlySnowflakes - preparation of the snowflakes produced wrong default-values of gfx.x, gfx.y, gfx.r, gfx.g, gfx.g -> fixed
- Helpers: CloseReaConsole - updated to behavior of version 0.963 of the JS-plugin
- Helpers: GetPath - when sep is nil, it returns now the path until the last useful separator, either \ or /
- Helpers: RunBackgroundHelperFeatures - allows now switching off the background-scripts
- Helpers: SearchStringInString - dropped nested searchstring-functionality as it was useless; recoded from scratch for more stability
- Markers: GetAllRegionsBetween - didn't return regions, that began before startposition and ended after endposition -> fixed
- Markers: GetClosestNextMarker - improved checking for validity of parameters
- Markers: GetClosestNextRegionEdge - improved checking for validity of parameters
- Markers: GetMarkerByScreenCoordinates - returned useless newlines -> fixed now
- Markers: GetMarkerByTime - returned useless newlines -> fixed now
- Markers: GetMarkerByTime - using now the SetIniFileValue-function for getting the ini-file-value
- Markers: GetRegionByScreenCoordinates - returned useless newlines -> fixed now
- Markers: GetRegionByTime - returned useless newlines -> fixed now
- Markers: GetRegionByTime - using now the SetIniFileValue-function for getting the ini-file-value
- Markers: GetTimeSignaturesByTime - using now the SetIniFileValue-function for getting the ini-file-value
- Markers: IsMarkerEdit - improved checking for validity of parameters
- Markers: IsMarkerNormal - improved checking for validity of parameters
- Markers: IsRegionEditRegion - improved checking for validity of parameters
- Markers: IsRegionPodrange - improved checking for validity of parameters
- Markers: MoveMarkersBy - did move regions as well, though I claimed the opposite..oops -> fixed
- MediaItem: GetMediafileAttributes - added info into the docs about rpp-projects, which will create a proxy file, when getting the mediafile-attributes
- MediaItem: InsertMediaItemFromFile - added MediaTrack and the new editcursorposition as retvals; the latter used to be third retval without being documented as such -> moved to the end of the retvals sorry for that inconvenience
- MediaItems: GetNextClosestItemEdge - improved checking for validity of parameters
- MediaItems: GetPreviousClosestItemEdge - improved checking for validity of parameters
- MuteButtons: GetNextMuteState - improved checking for validity of parameters
- MuteButtons: GetPreviousMuteState - improved checking for validity of parameters
- MuteButtons: ToggleMute - improved checking for validity of parameters
- MuteButtons: ToggleMute_TrackObject - improved checking for validity of parameters
- Navigation: JumpBackwardBy - improved checking for validity of parameters
- Navigation: JumpBackwardBy_Recording - improved checking for validity of parameters
- Navigation: JumpForwardBy - improved checking for validity of parameters
- Navigation: JumpForwardBy_Recording - improved checking for validity of parameters
- ProjectManagement: GetAllLockedTracks - improved checking for validity of parameters
- ProjectManagement: GetAllSelectedTracks - improved checking for validity of parameters
- ProjectManagement: GetProject_GetMarker - could produce a Lua-error, when filename was nil -> fixed
- ProjectManagement: GetProject_GetRegion - could produce a Lua-error, when filename was nil -> fixed
- ProjectManagement: GetProject_Length - fixed issue with projectfiles smaller than 1000 bytes, which couldn't be parsed
- ProjectManagement: GetProject_MasterGroupFlagsHighState - improved checking for validity of parameters
- ProjectManagement: GetProject_MasterGroupFlagsState - improved checking for validity of parameters
- ProjectManagement: SetProject_RenderPattern - didn't save render-patterns with spaces in them properly
- ReaperDocs: fixed tons of MarkDown-layout errors.
- ReaperDocs: Functionnames-titles in the individual entries are not linked anymore, but rather the > at the left side of the title now
- ReaperDocs: JS-extension - updated to 0.964
- ReaperDocs: OscLocalMessageToHost - didn't show title -> fixed
- ReaperDocs: SWS - updated to 2.10.1
- ReaperDocs: updated to 5.97
- Render: CreateRenderCFG_AIFF - returned the wrong render-cfg-string due a stupid typo -> fixed
- Render: GetProject_RenderFilename - sometimes returned one " at the end -> fixed
- Render: RenderProject_RenderCFG - if you use nil as renderfilename_with_path, it will render as renderfilename using the filename/renderpattern already set in the project didn't return correct filecount if rendering was canceled, leading to possible error-message -> fixed
- Render: RenderProjectRegions_RenderCFG - if you use nil as renderfilename_with_path, it will render as renderfilename using the filename/renderpattern already set in the project
- TrackStates: GetTrackAutomodeState - improved checking for validity of parameters
- TrackStates: GetTrackAutoRecArmState - improved checking for validity of parameters
- TrackStates: GetTrackBeatState - improved checking for validity of parameters
- TrackStates: GetTrackBusCompState - improved checking for validity of parameters
- TrackStates: GetTrackBypFXState - improved checking for validity of parameters
- TrackStates: GetTrackFreeModeState - improved checking for validity of parameters
- TrackStates: GetTrackGroupFlags_HighState - improved checking for validity of parameters
- TrackStates: GetTrackGroupFlagsState - improved checking for validity of parameters
- TrackStates: GetTrackHeightState - improved checking for validity of parameters
- TrackStates: GetTrackIcon_Filename - improved checking for validity of parameters
- TrackStates: GetTrackID - improved checking for validity of parameters
- TrackStates: GetTrackINQState - improved checking for validity of parameters
- TrackStates: GetTrackIPhaseState - improved checking for validity of parameters
- TrackStates: GetTrackIsBusState - improved checking for validity of parameters
- TrackStates: GetTrackLayoutNames - improved checking for validity of parameters when no layout available made a Lua-error -> fixed now
- TrackStates: GetTrackLength - improved checking for validity of parameters
- TrackStates: GetTrackLockState - improved checking for validity of parameters
- TrackStates: GetTrackMainSendState - improved checking for validity of parameters
- TrackStates: GetTrackMidiBankProgFn - improved checking for validity of parameters
- TrackStates: GetTrackMidiColorMapFn - improved checking for validity of parameters
- TrackStates: GetTrackMidiCTL - improved checking for validity of parameters
- TrackStates: GetTrackMidiInputChanMap - improved checking for validity of parameters
- TrackStates: GetTrackMIDIOutState - improved checking for validity of parameters
- TrackStates: GetTrackMidiTextStrFn - improved checking for validity of parameters
- TrackStates: GetTrackMuteSoloState - improved checking for validity of parameters
- TrackStates: GetTrackName - improved checking for validity of parameters
- TrackStates: GetTrackNChansState - improved checking for validity of parameters
- TrackStates: GetTrackPanMode - improved checking for validity of parameters
- TrackStates: GetTrackPeakColorState - improved checking for validity of parameters
- TrackStates: GetTrackPerfState - improved checking for validity of parameters
- TrackStates: GetTrackRecCFG - improved checking for validity of parameters
- TrackStates: GetTrackRecState - improved checking for validity of parameters
- TrackStates: GetTrackScore - improved checking for validity of parameters
- TrackStates: GetTrackShowInMixState - improved checking for validity of parameters
- TrackStates: GetTrackStateChunk_Tracknumber - improved checking for validity of parameters
- TrackStates: GetTrackVolPan - improved checking for validity of parameters
- TrackStates: GetTrackVUState - improved checking for validity of parameters
- TrackStates: GetTrackWidth - improved checking for validity of parameters
- TrackStates: SetTrackAutomodeState - improved checking for validity of parameters
- TrackStates: SetTrackAutoRecArmState - improved checking for validity of parameters
- TrackStates: SetTrackBeatState - improved checking for validity of parameters
- TrackStates: SetTrackBusCompState - improved checking for validity of parameters
- TrackStates: SetTrackBypFXState - improved checking for validity of parameters
- TrackStates: SetTrackFreeModeState - improved checking for validity of parameters
- TrackStates: SetTrackGroupFlags_HighState - improved checking for validity of parameters
- TrackStates: SetTrackGroupFlagsState - improved checking for validity of parameters
- TrackStates: SetTrackHeightState - improved checking for validity of parameters
- TrackStates: SetTrackIcon_Filename - improved checking for validity of parameters; didn't add trackicon, when no image was set already -> fixed; when Iconfilename_with_path=nil, removes trackicon now
- TrackStates: SetTrackID - improved checking for validity of parameters
- TrackStates: SetTrackINQState - improved checking for validity of parameters
- TrackStates: SetTrackIPhaseState - improved checking for validity of parameters
- TrackStates: SetTrackIsBusState - improved checking for validity of parameters
- TrackStates: SetTrackLayoutNames - improved checking for validity of parameters
- TrackStates: SetTrackLockState - improved checking for validity of parameters
- TrackStates: SetTrackMainSendState - improved checking for validity of parameters
- TrackStates: SetTrackMidiBankProgFn - improved checking for validity of parameters
- TrackStates: SetTrackMidiColorMapFn - improved checking for validity of parameters, setting filename to "" removes the MidiColorMap, now
- TrackStates: SetTrackMidiCTL - improved checking for validity of parameters
- TrackStates: SetTrackMidiInputChanMap - improved checking for validity of parameters; didn't set MidiInputChanMap -> fixed; removes now MidiInputChanMap, when InputChanMap=nil
- TrackStates: SetTrackMIDIOutState - improved checking for validity of parameters
- TrackStates: SetTrackMidiTextStrFn - improved checking for validity of parameters
- TrackStates: SetTrackMuteSoloState - improved checking for validity of parameters
- TrackStates: SetTrackName - improved checking for validity of parameters
- TrackStates: SetTrackNChansState - improved checking for validity of parameters
- TrackStates: SetTrackPanMode - improved checking for validity of parameters
- TrackStates: SetTrackPeakColorState - improved checking for validity of parameters
- TrackStates: SetTrackPerfState - improved checking for validity of parameters
- TrackStates: SetTrackRecCFG - improved checking for validity of parameters
- TrackStates: SetTrackRecState - improved checking for validity of parameters
- TrackStates: SetTrackScore - improved checking for validity of parameters
- TrackStates: SetTrackShowInMixState - improved checking for validity of parameters
- TrackStates: SetTrackVolPan - improved checking for validity of parameters
- TrackStates: SetTrackVUState - improved checking for validity of parameters
- TrackStates: SetTrackWidth - improved checking for validity of parameters
- Ultraschall Docs: functiontitles aren't links anymore, added a clickable symbol at the beginning of the title line of each function now
- Ultraschall Docs: print, print2 and toboolean as well as all API-variables are now written in bold, as all other functions are
- Windows: GetReaperWindowPosition_Left - using now the SetIniFileValue-function for getting the ini-file-value
- Windows: GetReaperWindowPosition_Right - using now the SetIniFileValue-function for getting the ini-file-value
- Windows: SetReaperWindowToSize - using now the SetIniFileValue-function for setting the ini-file-value
4.00 Beta 2.7: - "Frank Zappa - The Return of the Son of Monster Magnet" - 15th of December 2018
Has now 700 functions, with about 250 new ones!
New features in 4.00beta2.7
- SetEnvelopeHeight - set the height and compactible state of an envelope-lane/envelopestatechunk
- GetTrackStateChunk_Tracknumber - get a TrackStateChunk without the hassle of creating a trackobject first
- SetTrackStateChunk_Tracknumber - set a TrackStateChunk without the hassle of creating a trackobject first
- GetTrackWidth - gets the Track-Width
- GetTrackVolPan - gets Vol and Pan-settings of the track
- GetTrackScore - gets Score of the track
- GetTrackPanMode - gets PanMode of the track
- GetTrackMidiColorMapFn - gets MidiColorMapFilename of the track
- GetTrackMidiBankProgFn - gets MidiBankProg-Filename of the track
- GetTrackMidiTextStrFn - gets MidiTextStr-Filename of the track
- GetTrackID - gets the track-ID
- CountPatternInString - counts a pattern in a sourcestring and returns appearances and positions of appearances
- ConvertColor - converts color to native, without the hassle that Reaper needs
- CountNormalMarkers_NumGap - returns the first numbering-gap within shown-markernumbers
- CenterViewToCursor - centers arrange view to play-, edit- or mousecursor-timeposition.
- SetReaperWindowToSize - to set the size of Reaper's Main Window
- toboolean - converts a string to boolean, if possible. Like Lua's tostring() or tonumber()-functions
- CheckActionCommandIDFormat - checks, if an action-command-id is properly formatted
- CheckActionCommandIDFormat2 - checks, if an action-command-id is properly formatted and if it exists in the Reaper-installation
- IsRegionAtPosition - checks, if regions are at a certain position and returns their index-numbers
- IsMarkerAtPosition - checks, if markers are at a certain position and returns their index-numbers
- SetTrackID - sets the track-ID
- SetTrackMidiColorMapFn - sets MidiColorMapFilename of the track
- SetTrackMidiBankProgFn - sets MidiBankProg-Filename of the track
- SetTrackMidiTextStrFn - sets MidiTextStr-Filename of the track
- SetTrackPanMode - sets PanMode of the track
- SetTrackWidth - sets the Track-Width
- InsertMediaItemFromFile - inserts a mediafile into the project at position and in specific track
- GetMediafileAttributes - returns mediafile-attributes
- GetMarkerByName - gets markers/regions by name
- GetMarkerByName_Pattern - gets markers/regions that have a certain character-sequence in their name
- GetMarkerByIndex - gets values of a certain marker/region, count by either markers or regions
- SetMarkerByIndex - sets values of a certain marker/region, count by either markers or regions
- GetReaperAppVersion - returns the appversion and the bits-version of the Reaper-App, separated into version and bits(unlike reaper.GetAppVersion())
- GetOS - returns the operating system and it's bits separated, unlike reaper.GetOS()
- IsOS_Windows - returns true, if the operating-system is Windows, false if not. Also returns the bits of the os.
- IsOS_Mac - returns true, if the operating-system is MacOS, false if not. Also returns the bits of the os.
- IsOS_Other - returns true, if the operating-system is other(usually Linux), false if not. Also returns the bits of the os.
- GetItemSpectralConfig - gets the FFT-size of the spectral-edit-view of a specific item/statechunk
- SetItemSpectralConfig - sets the FFT-size of the spectral-edit-view of a specific item/statechunk
- GetItemSpectralEdit - Get the settings of a given spectral-edit-boundary-box
- CountItemSpectralEdits - Counts the number of spectral-edit-boundary-boxes
- DeleteItemSpectralEdit - deletes a spectral-edit-boundary-box
- SetTrackScore - sets SCORE-state of a track
- SetTrackVolPan - set vol, pan, panlaw of a track
- SetTrackRecCFG - set track-rec-encoding-configuration
- LimitFractionOfFloat - takes a float-value and reduces the number of digits in the fraction-part of the float; (500th Api function!)
- SearchStringInString - searches for occurrences of a string within another string; differs from CountPatternInString in that it allows disabling searching for strings within already found strings
- GetAllEntriesFromTable - returns all entries from a table in an iterable form; good for unknown tables/tablestructures
- GetItemSourceFile_Take - returns filename, pcm-source and the media-item-take-object of a requested take
- GetAllDirectoriesInPath - gets all directory-names in path
- GetAllFilesnamesInPath - gets all filenames in path
- CountDirectoriesAndFilesInPath - counts files and directories in path
- APIExists - returns, if a certain function/element exists in the ultraschall-api
- AddItemSpectralEdit - adds an spectral-editing-box into an item/statechunk
- GetItemSpectralVisibilityState - get the visibility-state of spectral-edit of a certain MediaItem
- IsValidEnvStateChunk - checks, if a string is a valid envelope-state-chunk
- IsValidTrackStateChunk - checks, if a sring is a valid trackstate-chunk
- IsValidItemStateChunk - checks, if a string is a valid itemstate-chunk
- EnumProjects - gets the projectfilename+path and the ReaProject-object of a requested project
- DeleteProjExtState_Section - deletes all project-extstates from a specific section
- DeleteProjExtState_Key - deletes the value from a specific project-extstates->section->key
- GetProjExtState_AllKeyValues - get all keys and values from a proj-extstate
- IsValidGuid - checks, if a string is a valid guid
- SetGuidExtState - sets a proj-extstate with a guid as extname(good for additional metadata for tracks/items/etc
- GetGuidExtState - gets a proj-extstate with a guid as extname(good for additional metadata for tracks/items/etc
- GetVZoom - returns the current vertical-zoomfactor of the current project
- SetVZoom - sets the vertical-zoomfactor of the current project
- StoreArrangeviewSnapshot - stores a snapshot of current start/endposition and verticalzoom from the arrangeview into a proj-extstate-slot
- IsValidArrangeviewSnapshot - checks, whether an arrangeview-snapshot-slot is set/valid
- RetrieveArrangeviewSnapshot - returns the values set in a specific Arrangeview-Snapshot-slot
- RestoreArrangeviewSnapshot - sets arrangeview to start/endposition/verticalzoom, as set in the arrangeview-snapshot-slot
- DeleteArrangeviewSnapshot - deletes an arrangeview-snapshot-slot
- SetBitfield - sets/unsets/toggles individual bits in a bitfield
- PreventCreatingUndoPoint - prevents creation of an undo-point(only useful in non-defer-scripts)
- SetIntConfigVar_Bitfield - allows setting config-vars, that are integer-bitfields, quite easy
- IsValidProjectStateChunk - checks, if a string is a valid ProjectStateChunk
- CountMarkersAndRegions - counts markers and regions and returns their count as two(!) retvals
- GetLastMarkerPosition - gets the position and idx of the last marker in the project
- GetLastRegion - gets start/endposition and idx of the last ending region in the project
- GetLastTimeSigMarkerPosition - gets position, measure- and beatposition of the last time-sig-marker in the project
- MakeCopyOfTable - creates a true copy of a table(not only references) adapted from Tyler Neylon's function, found at Stack Overflow Thanks to him for allowing me to use it :)
- CheckForValidFileFormats - checks for valid fileformats that are supported by Reaper(still missing mp4, opus, m4a, m4v)
- CompareStringWithAsciiValues - Compares a string with a number of ASCII-Values, given as individual parameters
- CountEntriesInTable_Main - Counts the entries in a table; counts only the "main"-entries; returns subtables for recursive counting
- ConvertStringToAscii_Array - Converts a string into an array, where each entry contains the numerical representation of the accompanying character in string
- CompareArrays - Compares two arrays and returns all entries from array2, that's missing in array1
- GetAllMediaItemGUIDs - returns a table with the guids of all MediaItems
- InsertImageFile - Inserts an image-file into the project, allows looping it and giving length of the newly created item
- SetItemExtState - Sets a projextstate for an item
- GetItemExtState - Gets a projextstate for an item
- SetTrackExtState - Sets a projextstate for a track
- GetTrackExtState - Gets a projextstate for a track
- CountLinesInString - Counts the lines in a string
- GetIDEFontSize - gets the current fontsize set for Reaper's IDE
- SetIDEFontSize - sets a new fontsize for Reaper's IDE
- MB - like reaper.MB, but allows omitting title and type parameters for faster use.
- ReadFileAsLines_Array - like ReadLinerangeFromFile, but returns the read lines as an array
- GetAllMarkersBetween - returns an array with all markers between start and endposition
- GetAllRegionssBetween - returns an array with all regions between start and endposition
- GetAllRegions - returns an array with all regions in the project
- MoveMarkersTo - moves all markers between start/endposition to a specific position
- MoveRegionsTo - moves all regions between start/endposition to a specific position
- CreateValidTempFile - determines a valid temporary filename and creates it, if needed.
- When using the first time, it installs automatically an action for showing the Api-Help(Ultraschall and Reaper)
- SetItemSpectrogram - toggles displaying spectral-edit for an item or an itemstatechunk
- SetItemSpectralEdit - sets an existing spectral-edit for an item or an itemstatechunk
- CountProjectTabs - counts currently opened projecttabs
- GetProject_Tabs - returns all project-tabs and their accompanying filenames
- CheckForChangedProjectTabs - checks, if the order of the projecttabs changed, or projecttabs were new/closed since last calling this function
- GetAllSelectedMediaItems - returns an array with all selected MediaItems in the project
- SetMediaItemsSelected_TimeSelection - Sets MediaItems selected within Time-Selection
- GetParentTrack_MediaItem - returns the tracknumber and trackobject, in which a given MediaItem lies
- IsItemInTrack2 - checks, whether an item is within a track
- IsItemInTrack3 - checks, whether an item is within a number of tracks
- ReturnTypeOfReaperObject - returns, type of Reaper-object
- IsObjectValidReaperObject - checks, whether an object is a valid Reaper-object(project, item, take, etc)
- KeepTableEntriesOfType - removes entries from a table, that aren't of a certain type
- RemoveTableEntriesOfType - removes entries from a table, that are of a certain type
- IsValidTrackString - checks, whether a trackstring is a valid one
- IsItemInTimerange - checks, whether an item is within a timerange
- OnlyItemsInTracksAndTimerange - throws out all MediaItems from a MediaItemArray, that aren't in given tracks and timerange
- ApplyActionToMediaItem - applies an action to a MediaItem
- ZoomVertical_MidiEditor - vertical zoom in MIDI-Editor
- ZoomHorizontal_MidiEditor - horizontal zoom in MIDI-Editor
- OpenItemInMidiEditor - opens an item in the MIDI-editor
- ApplyActionToMediaItemArray - applies an action to given items
- ApplyActionToTrack - applies an action to given tracks
- GetAllMediaItemsInTimeSelection - returns all media-items from within time-selection
- NormalizeItems - normalizes given items
- added an ini-file with all render-codes for Video, MP3, FLAC, DDP, OPUS, OGG and AIFF
- GetOutputFormat_RenderString - returns the output-format of a render-cfg-string from rpp-files/ProjectStateChunks and the reaper-render.ini
- GetProject_RenderCFG - returns the render-string(which contains all render-settings of a project) of a project/ProjectStateChunk
- SetProject_RenderCFG - sets the render-string(which contains all render-settings of a project) of a project
- GetAllMediaItems - gets all MediaItems from the current project in a MediaItemArray
- CreateRenderCFG_Opus - creates the render-cfg-string for an opus-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_OGG - creates the render-cfg-string for an OGG-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_DDP - creates the render-cfg-string for a DDP-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_AIFF - creates the render-cfg-string for an AIFF-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_FLAC - creates the render-cfg-string for a FLAC-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_WAVPACK - creates the render-cfg-string for a WAVPACK-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_WebMVideo - creates the render-cfg-string for an WebM-Video-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- RenderProject_RenderCFG - renders a project, using a certain render-string, created from the aforementioned functions
- CreateRenderCFG_MP3MaxQuality - creates the render-cfg-string for a MP3-maxquality-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_MP3VBR - creates the render-cfg-string for a MP3-vbr-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_MP3ABR - creates the render-cfg-string for a MP3-abr-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- CreateRenderCFG_MP3CBR - creates the render-cfg-string for a MP3-cbr-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- AddIntToChar - add an integer-value to the numerical representation of a character and return it as a new character
- CreateRenderCFG_WAV - creates the render-cfg-string for a WAV-file; use it in rpp-projectfiles/ProjectStateChunks or reaper-render.ini
- PreviewMediaItem - play a preview of a MediaItem
- StopAnyPreview - stop preview of a MediaItem
- InsertTrackAtIndex - insert one or more new tracks into your project; more control about that than with Reaper's original function
- MoveTracks - moves given track(s) to a new position
- PreviewMediaFile - play preview of a mediafile, that is not necessarily in the project
- MakeFunctionUndoable - run a function with it and it will create an Undo-Point for that given function automatically
- GetProject_Selection - get the time-selection of an rpp-project or ProjectStateChunk
- SetProject_Selection - set the time-selection of an rpp-project or ProjectStateChunk
- DirectoryExists - check, if a directory already exists in a path
- All parts of the API have now their own build-counters in the ultraschall_api.ini
- API checks now, if SWS2.9.7 is installed and displays an error-message, if it's missing.
- ApplyFunctionToMediaItemArray - applies a function to all MediaItems in a MediaItemArray
- ReturnTableAsIndividualValues - returns index 1 to 64 of a table as return-values
- GetMediaItemTake - returns a MediaItem_Take of an item, either a specific or the active one
- requires now Reaper 5.95
- GetProject_MarkersAndRegions - returns Markers and Regions from a Projectfile/ProjectStateChunk into an array
- RenderProjectRegions_RenderCFG - renders a project's region
- GetGapsBetweenItems - returns a table with all gaps between items in a track
- IsValidMatchingPattern - checks, if a string is a valid pattern-matching string
- IsValidReaProject - checks, if a ReaProject-object is a valid one
- type - returns the type of an object, either Lua's own datatypes or Reaper's own datatypes (SWS-specific-datatypes are not supported...yet(?))
- SetTrackGroupFlagsState - sets the GroupFlagsState in a track or a TrackStateChunk for track-group 1-32
- SetTrackGroupFlags_HighState - sets the GroupFlagsState in a track or a TrackStateChunk for track-group 33-64
- GetTrackGroupFlags_HighState - gets the GroupFlagsState in a track or a TrackStateChunk for track-group 33-64
- all(!) TrackStates are now get/settable(!)
all functions create now useful error-messages, who can be retrieved with the error-message-functions, refer to the Developer -> Error Handling-functions in the index of the functions-reference
Good riddance, what a long term hard work to code that...
- GetCurrentTimeLengthOfFrame - gets the length of a frame in seconds of a certain project; good for video/image-related functions like InsertImageFile
- GetLengthOfFrames - gets the length of a number of frames in seconds of a certain project; good for video/image-related functions like InsertImageFile
- GetStartNewFileRecSizeState - gets, if Reaper shall start a new file during recording, after XXX MBs, and the maximum size of a recorded file til restart
- SetStartNewFileRecSizeState - sets, if Reaper shall start a new file during recording, after XXX MBs, and the maximum size of a recorded file til restart
- GetPlayCursorWidth - get the width of the playcursor in pixels
- SetPlayCursorWidth - set the width of the playcursor in pixels
- GetReaperAlwaysOnTopState - get, if Reaper is set to be always on top of other applications, as set by action 40239
- GetInputOutputLatency_Seconds - returns the input/output-latency in seconds
- CreateTrackString_ArmedTracks - creates a trackstring with the tracknumbers of all armed tracks
- CreateTrackString_UnarmedTracks - creates a trackstring with the tracknumbers of all unarmed tracks
- IsValidEnvelopePointArray - checks, if an EnvelopePointArray is a valid one
- Api_InstallPath - an API-variable that contains the path to the install-folder of the Ultraschall-API
- ConvertOldProjectToCurrentReaperVersion - converts an rpp-projectfile from an earlier version of Reaper to the current one
- CreateRenderCFG_AudioCD - create a renderstring for audio-cd-images
- GetMarkerUpdateCounter - returns an update-counter for all markers in all projects, that is updated, as soon as a marker is added/deleted/set/moved/altered
- CreateTrackStringByGUID - creates a trackstring of all tracks, given as GUIDs
- CreateTrackStringByTracknames - creates a trackstring of all tracks, given as tracknames
- CreateTrackStringByMediaTracks - creates a trackstring with all track-objects in a MediaTrackArray
- GetScreenHeight - returns the height of the screen
- GetScreenWidth - returns the width of the screen
- pause_follow_one_cycle - skips followmode-auto-off-checking-script for one cycle; only relevant for scripts that shall work within Ultraschall.FM-extension
- DeleteMediaItemsBetween - deletes MediaItems between start and endposition within tracks, given by trackstring; the deleting-equivalent of GetAllMediaItemsBetween
- GetSetConfigAcidImport - gets/sets the configuration-setting for configuration-variable acidimport; also adds the setting to reaper.ini, if needed
- GetSetConfigActionMenu - gets/sets the configuration-setting for configuration-variable actionmenu; also adds the setting to reaper.ini, if needed
- GetSetConfigAdjRecLat - gets/sets the configuration-setting for configuration-variable adjreclat; also adds the setting to reaper.ini, if needed
- GetSetConfigAdjRecManLat - gets/sets the configuration-setting for configuration-variable adjrecmanlat; also adds the setting to reaper.ini, if needed
- GetSetConfigAdjRecManLatIn - gets/sets the configuration-setting for configuration-variable adjrecmanlatin; also adds the setting to reaper.ini, if needed
- GetSetConfigAfxCfg - gets/sets the configuration-setting for configuration-variable afxcfg; also adds the setting to reaper.ini, if needed
- GetSetConfigAllStereoPairs - gets/sets the configuration-setting for configuration-variable afxcfg; also adds the setting to reaper.ini, if needed
- GetDuplicatesFromArrays - returns the entries from an array, that are duplicate or are in only one of these two arrays
- OnlyFilesOfCertainType - returns all files of a certain type from an array of filenames
- ConcatIntegerIndexedTables - concatenate the entries from two tables into one
- CreateColorTable - create a ColorTable that includes colorpatterns
- CreateSonicRainboomColorTable - creates a ColorTable with Ultraschall's standard-trackcolor-pattern "Sonic Rainboom Color"
- IsValidColorTable - checks, whether a ColorTable is a valid one
- ApplyColorTableToTrackColors - Apply a ColorTable to colorize MediaTracks
- Docs - added parts of Reaper Internals to the US-Apidocs, more to come
- GetCurrentReaperWorkDir - gets the current working directory of Reaper; if you create file without a path in Lua, they will be stored in that path
- SetCurrentReaperWorkDir - sets the current working directory of Reaper; if you create file without a path in Lua, they will be stored in that path; needs a Reaper restart!
- DirectoryExists2 - returns, if a certain path exists. Unlike DirectoryExists, which checks, whether a directory in a path exists
- GetScriptFilenameFromActionCommandID - gets the script-filename associated to a specific ActionCommandID
- GetProject_CountAutomationItems - counts the automation-items in a project/ProjectStateChunk
- GetProject_AutomationItemStateChunk - gets an automation-item from a project/ProjectStateChunk
- GetProject_ProjectBay - gets the projectbay from a project/ProjectStateChunk
- GetProject_Metronome - gets the statechunk for all metronome-settings from a project/ProjectStateChunk
- GetProject_MasterPlayspeed - gets the statechunk for all master-playspeed-settings from a project/ProjectStateChunk
- GetProject_Tempo - gets the statechunk for all tempo-settings from a project/ProjectStateChunk
- GetProject_Extensions - gets the statechunk for all extension-settings from a project/ProjectStateChunk
- GetProject_Lock - gets the individual lock-settings from a project/ProjectStateChunk
- GetProject_GlobalAuto - returns the global automation override-settings of an rpp-file or ProjectStateChunk
- GetProject_Tempo - returns the tempo-settings of an rpp-file or a ProjectStateChunk
- GetProject_Playrate - returns the playrate-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterAutomode - returns the Mastertrack-automation-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterSel - returns the Mastertrack-selection-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterFXByp - returns the Mastertrack-fx-bypass-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterMuteSolo - returns the Mastertrack-mute-solo-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterNChans - returns the Mastertrack-num-channels-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterTrackHeight - returns the Mastertrack-trackheight-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterTrackColor - returns the Mastertrack-trackcolor-mode-settings of an rpp-file or a ProjectStateChunk
- GetProject_CountMasterHWOuts - counts the HWOuts for a Master-track of an rpp-file or a ProjectStateChunk
- GetProject_MasterHWOut - returns the Mastertrack-HWOUT-settings of an rpp-file or a ProjectStateChunk; there can be multiple ones, selectable by idx
- GetProject_MasterVolume - returns the Master-volume-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterPanMode - returns the MasterPanMode of an rpp-file or a ProjectStateChunk
- GetProject_MasterWidth - returns the Width-Knob2-settings of an rpp-file or a ProjectStateChunk
- GetProject_MasterGroupFlagsState - returns the Master-groupflags-state of an rpp-file or a ProjectStateChunk
- GetProject_MasterGroupFlagsHighState - returns the Master-grouphigh-flags-state of an rpp-file or a ProjectStateChunk
- GetProject_GroupDisabled - returns the state, which groups are disabled, of an rpp-file or a ProjectStateChunk
- GetProject_MasterHWVolEnvStateChunk - returns the statechunk of the MasterHWVolEnv
- GetProject_MasterFXListStateChunk - returns the statechunk of the MasterFXList
- GetProject_MasterDualPanEnvStateChunk - returns the statechunk of the MasterDualPanEnv
- GetProject_MasterDualPanEnv2StateChunk - returns the statechunk of the MasterDualPanEnv2
- GetProject_MasterDualPanEnvLStateChunk - returns the statechunk of the MasterDualPanEnvL
- GetProject_MasterDualPanEnvL2StateChunk - returns the statechunk of the MasterDualPanEnvL2
- GetProject_MasterVolEnvStateChunk - returns the statechunk of the MasterVolEnv
- GetProject_MasterVolEnv2StateChunk - returns the statechunk of the MasterVolEnv2
- GetProject_MasterVolEnv3StateChunk - returns the statechunk of the MasterVolEnv3
- GetProject_MasterHWPanEnvStateChunk - returns the statechunk of the MasterHWPanEnv
- GetProject_MasterPanMode_Ex - returns the state of the MasterPanMode_Ex
- GetProject_TempoEnv_ExStateChunk - returns the statechunk of the TempoEnv_Ex
- Docs: MediaItems: Moving and Manipulating - added
- Docs: MediaItems: Inserting Items and Files - added
- ChangeColorBrightness - changes the brightness of a r, g, b-color-value
- ChangeColorContrast - changes contrast of a r,g,b-color-value
- ReverseTable - reverses the order of the entries of an integer-indexed table
- ChangeColorSaturation - changes the saturation of a color-value
- Docs: Datatypes_Colortables - docs about the structure of a ColorTable
- ultraschall.Euro - holds an €-symbol, that is difficult to type into Reaper's IDE
- Docs: MediaItems: Programming Spectral Edit - added
- Docs: MediaItems: Miscellaneous - added
- Docs: Added Config-Variable into the Reaper-Internals-docs
- added converted Config-Variable-docs as USDocML-file
- CombineBytesToInteger - combines multiple bytes into one integer-value
- SplitIntegerIntoBytes - splits a 32-bit-integer-value into four bytes
- GetReaperScriptPath - returns path to the scripts-folder of Reaper
- GetReaperColorThemesPath - returns path to the theme-folder of Reaoer
- GetReaperJSFXPath - returns path to the JSFX-plugin-folder of Reaper
- GetReaperWebRCPath - returns path to Reaper's own and User's own WebRC-webpage-folder
- Docs - added File Management: Introduction to the Introduction/Concepts-page
- Docs - added docs for ultraschall.Euro, which holds the €-currency symbol
- Docs - added - File Management: Read to the Introduction/Concepts-page
- Added example-scripts: ArrangeView_Snapshots_Example.lua Changed_Project_Tab_Example.lua Color_Example.lua Render_Current_Project.lua Render_Project.lua RippleCut_Selected_Tracks.lua Shorten_MediaItems_In_Selection_Example.lua
- GetProject_Length - gets the length of an rpp-projectfile
- added new analyser-scripts for statechunks: Item_State_Diffs_Monitor.lua, Track_State_Diffs_Monitor.lua, Project_State_Diffs_Monitor.lua, Env_State_Diffs_Monitor.lua
- Docs: File Management: Write - added to Introduction/Concepts-page
- Docs: File Management: Analyse - added to Introduction/Concepts-page
- Docs: File Management: Misc - added to Introduction/Concepts-page
- Docs: Project Management: Introduction - added to Introduction/Concepts-page
- Docs: Project Management: Check for changed projecttabs - added to Introduction/Concepts-page
- Docs: added WebRC-API-docs
- Docs: added Video-Processor-API-docs
- Docs: reworked slightly the header of the Reaper-Internals-page
- Docs: Color Management: Introduction - added chapter
- Docs: Color Management: Native Color Conversion - added chapter
- Docs: Color Management: Brightness, Contrast and Colorsaturation - added chapter
- Docs: Color Management: Working with Colortables - added chapter
- Docs: Color Management: Creating Colortables - added chapter
- Docs: Color Management: Applying Colortables - added chapter
- ConvertColorFromMac - Converts a native-Mac to rgb-values
- ConvertColorFromWin - Converts a native-Windows/Linux-color to rgb-values
- ConvertColorToMac - Converts rgb-values to a native-MacOS-color
- ConvertColorToWin - Converts rgb-values to a native-Windows/Linux-color
- ApplyColorTableToItemColors - applies a ColorTable to MediaItems in a MediaItemArray
- Docs: added all functions from JS-plugin by Julian Sader and Xenakios to Reaper-Api-Docs
- ultraschall_track_old_cursorposition.lua - background-script for returning the last editcursor-position before the current one
- RunBackgroundHelperFeatures - runs background-scripts included with the Ultraschall-API
- GetLastCursorPosition - returns the last editcursor-position before the current one; needs Backgroundscripts started first using RunBackgroundHelperFeatures
- Docs: Concepts-page - added chapter about Extstates for MediaTracks, MediaItems and guids
- IsMuteAtPosition - checks, whether a mute-point exists in a track at a position
- IsMuteAtPosition_TrackObject - checks, whether a mute-point exists in a MediaTrack-object at a position
- DeleteMuteState - deletes a mute-point in a track at a given position
- DeleteMuteState_TrackObject - deletes a mute-point in a MediaTrack-object at a given position
- Docs: Concepts-page - added chapter about backgroundscripts in Ultraschall-API and the use of it for functions like GetLastCursorPosition
- Docs: Concepts-page - added chapter about cough/mute-buttons
- requires now Julian Sader's plugin as well
- CloseReaConsole - closes ReaConsole-window
- DeleteErrorMessage - deletes a specific error-message from the error-messaging-system
- Docs: Error-Messaging-System - added docchapters to Introductions/Concepts-page
- GFX_BlitBufferImage - blits the framebuffer into the window and resizes it, if needed, using the correct aspect ratio; preliminary support
- Docs: Trackstate Management: Introduction - added chapter to Introduction/Concepts-page
- Routing: Introduction - added chapter to Introduction/Concepts-page
- Routing: Send and Receives - added chapter to Introduction/Concepts-page
- Routing: Hardware Outs - added chapter to Introduction/Concepts-page
- ApplyActionToMediaItemArray2 - applies an action to multiple items at once, unlike ApplyActionToMediaItemArray(which applies the action to each item individually)
- PutMediaItemsToClipboard_MediaItemArray - puts all MediaItems from MediaItemArray into the clipboard
- Docs: ExtState Management: Introduction - added chapter to Introduction/Concepts-page
- Docs: ExtState Management: Ini-Files - added chapter to Introduction/Concepts-page
- Docs: ExtState Management: Inifile-Functions - added chapter to Introduction/Concepts-page
- Docs: ExtState Management: Ultraschall.ini - added chapter to Introduction/Concepts-page
- Docs: ExtState Management: Track and Item-Extstates - added chapter to Introduction/Concepts-page
- Docs: ExtState Management: Track Extstates - added chapter to Introduction/Concepts-page
- Docs: ExtState Management: Item Extstates - added chapter to Introduction/Concepts-page
- MoveRegionsBy - moves regions by seconds
- MoveTimeSigMarkersBy - moves Timesignature/Tempo-markers by seconds
- ShowMenu - shows a new context-menu at a given position
- Docs: Markers and Regions: Introduction - added to Introduction/Concepts-page
- Docs: Markers and Regions: General How To - added to Introduction/Concepts-page
- Docs: Markers and Regions: Helpers and Manipulation - added to Introduction/Concepts-page
- CycleTable - cycles the entries of a table through
- GetErrorMessage_Funcname - returns error-message of a certain function
- CountErrorMessage_Funcname - counts all error-messages a certain function left in the error-messagin-system
- GetLastErrorMessage_Funcname - returns the last error-message a certain function left in the error-messaging-system
- DisplayMarkersRegions_underneath_Mouse.lua - example-script that displays the markers/regions underneath the mouse
- ShowMediaItems_In_Timeselection_and_SelectedTracks.lua - example script that shows selected items by time-selection and track-selection
- TrackAndItem_ColorCycler.lua - example script that cycles colors of tracks and items
- Render_Project.gif - added example-gif that demonstrates example-script
- DisplayMarkersRegions_underneath_Mouse.gif - added example-gif that demonstrates example-script
- ShowMediaItems_In_Timeselection_and_SelectedTracks.gif - added example-gif that demonstrates example-script
- Render_Current_Project.gif - added example-gif that demonstrates example-script
- Changed_Project_Tab_Example.gif - added example-gif that demonstrates example-script
- ArrangeView_Snapshots_Example.gif - added example-gif that demonstrates example-script
- RippleCut_Selected_Tracks.gif - added example-gif that demonstrates example-script
- Color_Example.gif - added example-gif that demonstrates example-script
- Shorten_MediaItems_In_Selection_Example.gif - added example-gif that demonstrates example-script
- ColorTables_ColorCycler.gif - added example-gif that demonstrates example-script
- Docs: Helper_Functions: Introduction - added chapter to the Introduction/Concepts-page
- Docs: Helper_Functions: Clipboard Management - added chapter to the Introduction/Concepts-page
- Docs: Helper_Functions: Data Manipulation - added chapter to the Introduction/Concepts-page
- Docs: Helper_Functions: Undo Management - added chapter to the Introduction/Concepts-page
- Docs: Final words - added chapter to the Introduction/Concepts-page
- GetSetConfigAlwaysAllowKB - gets/sets value for configvar alwaysallowkb
- GetSetConfigApplyFXTail - get/sets value for configvar applyfxtail
- GetSetConfigAdjRecManLatIn -get/sets value for configvar ajdrecmanlatin
- GetSetConfigAudioPrShift - get/sets value for configvar audioprshift
- GetSetConfigAudioCloseStop - get/sets value for configvar audioclosestop
- GetSetConfigAudioThreadPr - get/sets value for configvar audiothreadpr
- GetSetConfigAudioCloseTrackWnds - get/sets value for configvar audioclosetrackwnds
WinterlySnowflakes - replaces gfx.update with a version, that displays falling snowflakes everytime gfx.update is run
Changes from 4.00beta2.6 to 4.00beta2.7
- Tons of bugfixes. I mean, tons as in metric tons ;)
- GetTrackRecCFG - added documentation, that was still missing -> fixed now; added missing return-value
- GetLastErrorMessage2 - had wrong functionname, corrected documentation
- cleaned up code and improved readability
- GetPartialString - returns nil in case of error now
- WriteValueToFile - minor additions to documentation
- CreateTrackNumbersString - minor additions to documentation
- SetTrackMuteSoloState - corrected documentation's-description
- initialization of the framework on Mac could potentially not work due wrong separator -> fixed now
- improved installation and usage-procedure of the framework heavily
- GetTrackAutoRecArmState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackAutomodeState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackBeatState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackBusCompState - supports now trackstatechunks as well; sped up code
- GetTrackBypFXState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackFreeModeState - supports now trackstatechunks as well; sped up code
- GetTrackGroupFlagsState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackHeightState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackINQState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackIPhaseState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackIcon_Filename - supports now mastertrack and trackstatechunks as well
- GetTrackIsBusState - supports now trackstatechunks as well; sped up code
- GetTrackLayoutNames - supports now mastertrack and trackstatechunks as well
- GetTrackLockState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMIDIOutState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMainSendState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMidiCTL - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackMidiInputChanMap - supports now mastertrack and trackstatechunks as well
- GetTrackMuteSoloState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackNChansState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackName - supports now mastertrack and trackstatechunks as well
- GetTrackPeakColorState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackPerfState - supports now trackstatechunks as well; sped up code
- GetTrackRecCFG - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackRecState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackShowInMixState - supports now mastertrack and trackstatechunks as well; sped up code
- GetTrackVUState - supports now mastertrack and trackstatechunks as well, fixed bug; sped up code
- SetTrackAutoRecArmState - supports now mastertrack and trackstatechunks as well
- SetTrackAutomodeState - supports now mastertrack and trackstatechunks as well
- SetTrackBeatState - supports now mastertrack and trackstatechunks as well
- SetTrackBusCompState - supports now trackstatechunks as well
- SetTrackBypFXState - supports now mastertrack and trackstatechunks as well
- SetTrackFreeModeState - supports now mastertrack and trackstatechunks as well
- SetTrackHeightState - supports now mastertrack and trackstatechunks as well
- SetTrackINQState - supports now mastertrack and trackstatechunks as well
- SetTrackIPhaseState - supports now mastertrack and trackstatechunks as well
- SetTrackIcon_Filename - supports now trackstatechunks as well
- SetTrackIsBusState - supports now trackstatechunks as well
- SetTrackLayoutNames - supports now trackstatechunks as well; minor improvements
- SetTrackLockState - supports now trackstatechunks as well; improved speed
- SetTrackMIDIOutState - supports now mastertrack and trackstatechunks as well
- SetTrackMainSendState - supports now mastertrack and trackstatechunks as well
- SetTrackMidiCTL - supports now mastertrack and trackstatechunks as well
- SetTrackMidiInputChanMap - supports now mastertrack and trackstatechunks as well
- SetTrackMuteSoloState - supports now mastertrack and trackstatechunks as well
- SetTrackNChansState - supports now mastertrack and trackstatechunks as well
- SetTrackName - supports now mastertrack and trackstatechunks as well
- SetTrackPeakColorState - supports now mastertrack and trackstatechunks as well
- SetTrackPerfState - supports now trackstatechunks as well
- SetTrackRecState - supports now mastertrack and trackstatechunks as well
- SetTrackShowInMixState - supports now mastertrack and trackstatechunks as well
- SetTrackVUState - supports now mastertrack and trackstatechunks as well
- ToggleScrollingDuringPlayback - also affects scrolling during recording now; sometimes, continuous scroll wouldn't restart -> fixed now
- GetNextClosestItemEdge - had trouble finding the end of the last item in a track -> fixed now
- GetPreviousClosestItemEdge - had trouble finding the beginning of the first item in track as well as the item before the current item at times -> fixed now
- GetClosestPreviousMarker - always used cursorposition as calculation base, never mouseposition; it also couldn't find the previous marker before the current one -> fixed now
- GetClosestNextMarker - always used cursorposition as calculation base, never mouseposition -> fixed now
- GetClosestNextRegionEdge - renamed from GetClosestNextRegion; always used cursorposition as calculation base, never mouseposition -> fixed now
- GetClosestPreviousRegionEdge - renamed from GetClosestPreviousRegion; always used cursorposition as calculation base, never mouseposition -> fixed now
- GetApiVersion - returns now an additional return-value of type "number", that you can use for version-comparison like "if required_version>version then"
- SplitStringAtLineFeedToArray - was missing the returned count-variable in the documentation -> fixed now
- ToggleScrollingDuringPlayback - changed parameter move_editcursor to boolean; added goto_playcursor which moves view to playcursor; fixed bug that messed up scrolling during recording.
- Ultraschall-Api is now located in UserPlugins in the resources-folder(where every third-party-plugin belongs to ;) )
- IsItemInTrack - tracknumber is now 1 based, means: 1 for track 1, 2 for track 2, etc
- ApiTest displays only one message now (damn was it annoying before... ;) )
- ReadFullFile - fixed small bug and returns now the number of lines of files, if binary is set to false
- GetProject_DefPitchMode - added Rubber Band Pitchmodes and updated elastique to 3.2.3 with missing settings
- SetProject_DefPitchMode - added Rubber Band Pitchmodes and updated elastique to 3.2.3 with missing settings
- AddErrorMessage - new parameters, parametername and errorcode, so you can specify these better
- ReadErrorMessage - includes the new parameters parametername and errorcode, sped up code; used to reset creation date instead of readstate -> fixed
- GetLastErrorMessage - includes the new parameters parametername and errorcode, readstatus is now a string with "unread" or the last readtime(no boolean anymore); sped up code; used to reset creation date instead of readstate -> fixed
- DeleteLastErrorMessage - deletes now the last errormessage, only changed the errorcounter before
- GetLastErrorMessage2 - includes the new parameters parametername and errorcode; used to reset creation date instead of readstate -> fixed
- ShowLastErrorMessage - reworked the messagebox to include functionname, parametername, errormessage and errorcode
- GetPath - returns nil now, if the separator can't be found, and throws an error-message as well in that case; did return parts of the path in filename -> fixed now
- GetPartialString - returns nil now, if the separator can't be found, and throws an error-message as well in that case; sped up code
- RunCommand - throws an error-message, if an invalid action-command-id is given
- CSV2Line - rewritten and sped up
- RGB2Num - removed
- CSV2IndividualLinesAsArray - rewrote and sped up code; supports now other separators and separators longer than one character, swapped retvals
- IsItemInTrack - minor improvements
- Docs: removed SWS-logo from all functions, that don't require SWS
- SetChapterMarker - removed
- ImportChaptersFromFile - removed
- ExportChapterMarkersToFile - removed
- EnumerateChapterMarkers - removed
- EnumerateDummyMarkers - removed
- EnumerateEditRegion - removed
- GetAllChapterMarkers - removed
- DeleteChapterMarker - removed
- DeleteDummyMarker - removed
- CountChapterMarkers - removed
- CountDummyMarkers - removed
- ChapterToDummyMarker - removed
- ChapterToEditMarker - removed
- ChapterToMarker - removed
- DummyToChapterMarker - removed
- DummyToEditMarker - removed
- DummyToMarker - removed
- EditToChapterMarker - removed
- EditToDummyMarker - removed
- MarkerToChapterMarker - removed
- MarkerToDummyMarker - removed
- IsMarkerChapter - removed
- IsMarkerDummy - removed
- AddChapterMarker - removed
- AddDummyMarker - removed
- CountUSExternalState_sec - did not check for existence of ultraschall.ini -> fixed
- CountUSExternalState_key - did not check for existence of ultraschall.ini -> fixed
- EnumerateUSExternalState_sec - returned empty strings, when the ultraschall.ini contained them -> fixed
- EnumerateUSExternalState_key - number was expected to be string and produced problems -> fixed
- SetPlayCursor_WhenPlaying - added parameter-validity-check for parameter position
- SetPlayAndEditCursor_WhenPlaying - added parameter-validity-check for parameter position
- JumpForwardBy - added parameter seekplay for choosing, if playcursor shall move too; moves mainly editcursor now; pause caused problems -> fixed
- JumpBackwardBy - added parameter seekplay for choosing, if playcursor shall move too; moves mainly editcursor now; pause caused problems -> fixed
- GetNextClosestItemEdge - was looking in the wrong track, which caused problems with items in a single track -> fixed
- GetPreviousClosestItemEdge - was looking in the wrong track, which caused problems with items in a single track -> fixed
- GetClosestNextRegionEdge - returns now "beg" oder "end" to indicate, which side of the region has been found
- GetClosestPreviousRegionEdge - returns now "beg" oder "end" to indicate, which side of the region has been found
- ToggleMute_TrackObject - sped up code
- GetItemPlayRate_StateChunk - docs, added information about some of the parameters, like pitch-settings
- ToggleStateButton - added section-info to the docs
- RefreshToolbar_Action - added section-info to the docs
- ToggleStateAction - added section-info to the docs
- CountNormalMarkers - added support for planned chapter-markers(color_value 100, 255, 0); was counting wrong, when regions were available -> fixed
- accidentally used os as return-variable in many functions, leading to overwriting of Lua's own os.functions() like os.date(), etc -> fixed
- CountPatternInString - internal changes to prevent accidental overwriting of Lua's own string.functions()
- SplitStringAtLineFeedToArray - the entries in the array still contained the useless line-feed -> fixed
- integer parameters accept only integers from now on (used to be numbers)
- CSV2IndividualLinesAsArray - the returned count-value was one too high -> fixed
- CountNormalMarkers - added support for planned chapter marker
- EnumerateNormalMarkers - support for planned chapter marker added; added missing info in the docs
- EnumerateEditMarkers - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- SetNormalMarker - added support for planned chapter marker; expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- SetEditMarker - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- DeleteNormalMarker - added support for planned chapter marker; deleted in some situations non-normal-markers -> fixed
- DeleteEditMarker - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- IsMarkerEdit - expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- IsMarkerNormal - added support for planned chapter marker; expected "_Edit:" as name of edit-marker, instead of "_Edit" -> fixed
- IsRegionEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- SetEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- DeleteEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- EnumerateEditRegion - expected "_Edit:" as name of edit-region, instead of "_Edit" -> fixed
- GetAllNormalMarkers - added index-number and shown-number to the array; completed docs
- GetAllMarkers - added index-number, shown-number and color to the array; completed docs; didn't get the first marker -> fixed
- GetAllEditMarkers - added index-number to the array; completed docs
- DeletePodRangeRegion - return value is now boolean
- DeleteNormalMarker - completed docs
- ExportNormalMarkersToFile - completed docs
- CountNormalMarkers_NumGap - completed docs
- MarkerToEditMarker - completed docs
- CountEditMarkers - used to count edit-regions as well -> fixed now
- ExportEditMarkersToFile - crashed due bug with edit-regions -> fixed now
- WriteValueToFile_ReplaceBinary - naming conflict, 2 functions had the name WriteValueToFile_Replace; renamed one to WriteValueToFile_ReplaceBinary
- EditToMarker - small internal changes to give the marker it's correct color: Reaper's default color for marker
- CreateTrackNumbersString_SelectedTracks - additions to the docs
- ReadValueFromFile - returns now all found lines as array; retval numberoflines used to give the same number as number_of_foundlines, so I changed it to numberoflines_in_file, that returns the total number of lines in the file, even if fewer lines are returned
- Renderfunctions - improved behavior when rendering currently opened project; always uses now the correct projectfile, used to guess location of projectfile one dir above the recording-dir
- GetProject_GroupOverride, GetProject_RippleState, GetProject_ReaperVersion - documentation stated "kb-ini-file" instead of "rpp-projectfile" -> fixed
- renamed GetMarkerByIndex to GetMarkerAndRegionsByIndex to reflect the fact, that it supports markers AND regions
- SplitStringAtLineFeedToArray - used to treat LFCR as two linebreaks, which caused empty lines in windows-strings. Treats LFCR as one linebreak now.
- ReadLinerangeFromFile - allows now reading the whole file, when giving -1 as lastlinenumber; added missing information in the docs
- As the Functions-Engine is essential for all parts of the Ultraschall-API, it can't be turned off anymore.
- renamed MoveMarkers to MoveMarkersBy, reimplemented it, as sometimes, it messed up marker order after movement
- ReadValueFromFile - sped up code, returned wrong found-lines-value -> fixed
- CheckMediaItemArray - did not return the altered MediaItemArray and count, when returning retval=false -> fixed
- ChangeOffsetOfMediaItems_FromArray - typos in the docs -> fixed
- GetSelectedMediaItemsAtPosition - error in documentation -> fixed
- OnlyMediaItemsOfTracksInTrackstring_StateChunk - had the docs of OnlyMediaItemsOfTracksInTrackstring -> fixed now
- CSV2IndividualLinesAsArray - accidentally reversed retvals in the docs -> fixed
- restructured index of the Api-docs
- GetProject_AddMediaToProjectAfterRender - allows usage of ProjectStateChunks now as well
- GetProject_ApplyFXCFG - allows usage of ProjectStateChunks now as well
- GetProject_AutoCrossFade - allows usage of ProjectStateChunks now as well
- GetProject_CountMarkersAndRegions - allows usage of ProjectStateChunks now as well
- GetProject_CursorPos - allows usage of ProjectStateChunks now as well
- GetProject_DefPitchMode - allows usage of ProjectStateChunks now as well
- GetProject_EnvAttach - allows usage of ProjectStateChunks now as well
- GetProject_Feedback - allows usage of ProjectStateChunks now as well
- GetProject_GetMarker - allows usage of ProjectStateChunks now as well
- GetProject_GetRegion - allows usage of ProjectStateChunks now as well
- GetProject_Grid - allows usage of ProjectStateChunks now as well
- GetProject_GroupOverride - allows usage of ProjectStateChunks now as well
- GetProject_HorizontalZoom - allows usage of ProjectStateChunks now as well
- GetProject_ItemMixBehavior - allows usage of ProjectStateChunks now as well
- GetProject_Loop - allows usage of ProjectStateChunks now as well
- GetProject_LoopGran - allows usage of ProjectStateChunks now as well
- GetProject_MaxProjectLength - allows usage of ProjectStateChunks now as well
- GetProject_MixerUIFlags - allows usage of ProjectStateChunks now as well
- GetProject_NumberOfTracks - allows usage of ProjectStateChunks now as well
- GetProject_PanLaw - allows usage of ProjectStateChunks now as well
- GetProject_PanMode - allows usage of ProjectStateChunks now as well
- GetProject_PeakGain - allows usage of ProjectStateChunks now as well
- GetProject_ProjOffsets - allows usage of ProjectStateChunks now as well
- GetProject_ReaperVersion - allows usage of ProjectStateChunks now as well; exposed internal variables -> fixed
- GetProject_RecMode - allows usage of ProjectStateChunks now as well
- GetProject_RecPath - allows usage of ProjectStateChunks now as well
- GetProject_RecordCFG - allows usage of ProjectStateChunks now as well
- GetProject_RenderDitherState - allows usage of ProjectStateChunks now as well
- GetProject_RenderFilename - allows usage of ProjectStateChunks now as well; exposed an internal variable temp -> fixed
- GetProject_RenderFreqNChans - allows usage of ProjectStateChunks now as well
- GetProject_RenderPattern - allows usage of ProjectStateChunks now as well; exposed an internal variable temp -> fixed
- GetProject_RenderRange - allows usage of ProjectStateChunks now as well
- GetProject_RenderResample - allows usage of ProjectStateChunks now as well
- GetProject_RenderSpeed - allows usage of ProjectStateChunks now as well
- GetProject_RenderStems - allows usage of ProjectStateChunks now as well
- GetProject_RippleState - allows usage of ProjectStateChunks now as well
- GetProject_SMPTESync - allows usage of ProjectStateChunks now as well
- GetProject_SampleRate - allows usage of ProjectStateChunks now as well
- GetProject_TakeLane - allows usage of ProjectStateChunks now as well
- GetProject_TempoTimeSignature - allows usage of ProjectStateChunks now as well
- GetProject_TimeBase - allows usage of ProjectStateChunks now as well
- GetProject_Timemode - allows usage of ProjectStateChunks now as well
- GetProject_TrackMixingDepth - allows usage of ProjectStateChunks now as well
- GetProject_TrackStateChunk - allows usage of ProjectStateChunks now as well
- GetProject_UseRecConfig - allows usage of ProjectStateChunks now as well
- GetProject_VerticalZoom - allows usage of ProjectStateChunks now as well
- GetProject_VideoConfig - allows usage of ProjectStateChunks now as well
- TimeStringToSeconds_hh_mm_ss_mss - had wrong functionname and link in the docs -> fixed
- GetItemAllTakes - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemBeat - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemChanMode - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemFadeFlag - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemFadeIn - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemFadeOut - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemGUID - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemGroup - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemIGUID - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemIID - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemLength - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemLock - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemLoop - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemMixFlag - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!); returned the BEAT-state, not MIXFLAG -> fixed
- GetItemMute - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemName - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemPlayRate - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemPosition - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemRecPass - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemSampleOffset - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemSelected - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemSnapOffset - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemUSTrackNumber_StateChunk - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- GetItemVolPan - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- SetTrackHWOut - had wrong link in the docs -> fixed
- SetItemUSTrackNumber_StateChunk - tracknumbers are 1 based now
- SetItemLength - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- SetItemPosition - allows usage of MediaItems themselves as well now; added parameter MediaItem before StateChunk(!)
- RenderProjectToAIFF - removed, use CreateRenderCFG_AIFF and RenderProject_RenderCFG instead
- RenderProjectToFLAC - removed, use CreateRenderCFG_FLAC and RenderProject_RenderCFG instead
- RenderProjectToMP3_ABR - removed, use CreateRenderCFG_MP3ABR and RenderProject_RenderCFG instead
- RenderProjectToMP3_CBR - removed, use CreateRenderCFG_AMP3CBR and RenderProject_RenderCFG instead
- RenderProjectToMP3_MaxQuality - removed, use CreateRenderCFG_MP3MaxQuality and RenderProject_RenderCFG instead
- RenderProjectToMP3_VBR - removed, use CreateRenderCFG_MP3VBR and RenderProject_RenderCFG instead
- RenderProjectToOpus - removed, use CreateRenderCFG_Opus and RenderProject_RenderCFG instead
- GetProject_VideoConfig - corrected documentation
- SetProject_VideoConfig - corrected documentation
- SetProject_RecMode - corrected documentation
- GetProject_SMPTESync - returned wrong retvals, fixed
- GetPath - returns now also the filename, returns "", "" instead of nil in case of error.
- SetProject_AddMediaToProjectAfterRender - allows usage of ProjectStateChunks now as well
- SetProject_ApplyFXCFG - allows usage of ProjectStateChunks now as well
- SetProject_AutoCrossFade - allows usage of ProjectStateChunks now as well
- SetProject_CursorPos - allows usage of ProjectStateChunks now as well
- SetProject_DefPitchMode - allows usage of ProjectStateChunks now as well
- SetProject_EnvAttach - allows usage of ProjectStateChunks now as well
- SetProject_Feedback - allows usage of ProjectStateChunks now as well
- SetProject_Grid - allows usage of ProjectStateChunks now as well
- SetProject_GroupOverride - allows usage of ProjectStateChunks now as well
- SetProject_HorizontalZoom - allows usage of ProjectStateChunks now as well
- SetProject_ItemMixBehavior - allows usage of ProjectStateChunks now as well
- SetProject_Loop - allows usage of ProjectStateChunks now as well
- SetProject_LoopGran - allows usage of ProjectStateChunks now as well
- SetProject_MaxProjectLength - allows usage of ProjectStateChunks now as well
- SetProject_MixerUIFlags - allows usage of ProjectStateChunks now as well
- SetProject_PanLaw - allows usage of ProjectStateChunks now as well
- SetProject_PanMode - allows usage of ProjectStateChunks now as well
- SetProject_PeakGain - allows usage of ProjectStateChunks now as well
- SetProject_ProjOffsets - allows usage of ProjectStateChunks now as well
- SetProject_RecMode - allows usage of ProjectStateChunks now as well
- SetProject_RecPath - allows usage of ProjectStateChunks now as well
- SetProject_RecordCFG - allows usage of ProjectStateChunks now as well
- SetProject_RenderCFG - allows usage of ProjectStateChunks now as well
- SetProject_RenderDitherState - allows usage of ProjectStateChunks now as well
- SetProject_RenderFilename - allows usage of ProjectStateChunks now as well
- SetProject_RenderFreqNChans - allows usage of ProjectStateChunks now as well
- SetProject_RenderPattern - allows usage of ProjectStateChunks now as well; now allows removing the RENDERPATTERN-entry from a Projectfile using nil as parameter. Good, if you only want to set a Rendername in a project.
- SetProject_RenderRange - allows usage of ProjectStateChunks now as well
- SetProject_RenderResample - allows usage of ProjectStateChunks now as well
- SetProject_RenderSpeed - allows usage of ProjectStateChunks now as well
- SetProject_RenderStems - allows usage of ProjectStateChunks now as well
- SetProject_RippleState - allows usage of ProjectStateChunks now as well
- SetProject_SMPTESync - allows usage of ProjectStateChunks now as well
- SetProject_SampleRate - allows usage of ProjectStateChunks now as well
- SetProject_Selection - allows usage of ProjectStateChunks now as well
- SetProject_TakeLane - allows usage of ProjectStateChunks now as well
- SetProject_TempoTimeSignature - allows usage of ProjectStateChunks now as well
- SetProject_TimeBase - allows usage of ProjectStateChunks now as well
- SetProject_Timemode - allows usage of ProjectStateChunks now as well
- SetProject_TrackMixingDepth - allows usage of ProjectStateChunks now as well; hadn't correct parameters in the docs -> fixed
- SetProject_UseRecConfig - allows usage of ProjectStateChunks now as well
- SetProject_VerticalZoom - allows usage of ProjectStateChunks now as well
- OpenURL - had a problem on Windows, when the url-string contained spaces -> fixed; returns -1 in case of error, now
- GetReaperAppVersion - returns now the operating system as well if the Reaper-installation is a portable one.
- GetClosestGoToPoints - added options to get closest goto-points from current edit/playcursor-position; added returning marker/region name
- ReadBinaryFileFromPattern - corrected docs, rewrote function for more speed
- CountKeysByPattern - checks for malformed patterns, now
- CountSectionsByPattern - checks for malformed patterns, now
- CountValuesByPattern - checks for malformed patterns, now
- EnumerateKeysByPattern - checks for malformed patterns, now
- EnumerateSectionsByPattern - checks for malformed patterns, now
- EnumerateValuesByPattern - checks for malformed patterns, now
- ReadBinaryFileFromPattern - checks for malformed patterns, now
- ReadBinaryFileUntilPattern - had wrong functionname in error-message -> fixed, checks for malformed patterns, now
- ReadValueFromFile - checks for malformed patterns, now
- RippleInsert_MediaItemStateChunks - had a bug that could cause an error-message -> fixed
- GetTrackGroupFlagsState - had a bug in checking for validity of TrackStateChunks -> fixed
- SetKBIniActions - rewritten, as the previous version wasn't working right
- SetKBIniScripts - rewritten, as the previous version wasn't working right
- SetKBIniKeys - rewritten, as the previous version wasn't working right
- AddTrackAUXSendReceives - didn't support Master Track, changed that
- SetTrackAUXSendReceives - didn't support Master Track, changed that
- DeleteTrackAUXSendReceives - didn't support Master Track, changed that
- ToggleScrollingDuringPlayback - minor corrections in the docs
- GetAllRegionsBetween - corrections in the docs
- GetItemSpectralVisibilityState - had wrong functionname in docs -> fixed
- GetTrackExtState - corrections in the docs
- DeleteArrangeviewSnapshot - had wrong functionname in docs -> fixed
- CenterViewToCursor - had documented a retval that the function doesn't return -> fixed
- CreateTrackNumbersString - renamed to CreateTrackString
- CreateTrackNumbersString_SelectedTracks - renamed to CreateTrackString_SelectedTracks
- GetMediaItemsFromClipboard - using renamed function CreateTrackString() now
- InsertMediaItemFromFile - using renamed function CreateTrackString_SelectedTracks() now
- GetClosestNextRegionEdge - docs: was missing additional return-value edge_type -> fixed now
- JumpBackwardBy - docs: changed name of parameter position to seconds, as that represents more, what the parameter does
- JumpForwardBy - docs: changed name of parameter position to seconds, as that represents more, what the parameter does
- JumpBackwardBy_Recording - docs: changed name of parameter position to seconds, as that represents more, what the parameter does
- JumpForwardBy_Recording - docs: changed name of parameter position to seconds, as that represents more, what the parameter does
- GetClosestGoToPoints - added mouse-cursor-position as possible option
- GetNextClosestItemEdge - was returning wrong retvals when no item was found -> fixed
- CenterViewToCursor - added parameter for a non-cursor-position of your choice to center to
- SetItemPosition - exchanged position and optional statechunk-parameters to be in line with SetProject/Track-statefunctions
- SetItemLength - exchanged length and optional statechunk-parameters to be in line with SetProject/Track-statefunctions
- GetSplitCrossFadeState_ReaperIni - removed, will return as a new function
- MoveMediaItemsSectionTo - renamed to MoveMediaItemsBetween_To, as this is more in line with the corresponding of functionnames for getting, deleting, splitting items
- InsertMediaItem_MediaItem - allows now inserting MediaItems from other projects as well and into tracks of other projects
- InsertMediaItem_MediaItemStateChunk - allows now tracks in other projects to be target; h ad an issue, that it always required ULTRASCHALL_TRACKNUMBER in the itemstatechunk to get the target-track -> fixed now to also allow passing a MediaTrack, as the docs always stated has now additional retvals startposition, endposition, length fixed the docs
- ReadBinaryFile_Offset - if startoffset is negative, the offset will be seen from the end of the file now
- ReadBinaryFile - removed, due being a duplication of ReadFullFile
- ReadFileAsLines_Array - corrected docs
- CreateTrackString_AllTracks - renamed from CreateAllTracksTrackString to be more in line with other CreateTrackString-functions
- RippleCut - removed the move_markers parameter; added add_to_clipboard parameters, which puts the cut-items to the clipboard
- RippleCut_Reverse - removed the move_markers parameter; added add_to_clipboard parameters, which puts the cut-items to the clipboard
- SectionCut - removed the move_markers parameter; added add_to_clipboard parameters, which puts the cut-items to the clipboard
- SectionCut_Inverse - removed the move_markers parameter; added add_to_clipboard parameters, which puts the cut-items to the clipboard
- EnumerateIniFileExternalState_sec - added error-messages for invalid section-indices
- GetUSExternalState - returns now only the value-returnvalue
- GetID3TagsFromCurrentProject - removed, due being useless in Ultraschall 4.0
- GetID3TagsFromCurrentProject_PodcastTags - removed, due being useless in Ultraschall 4.0
- SetID3TagsForCurrentProject - removed, due being useless in Ultraschall 4.0
- SetID3TagsForCurrentProject_PodcastTags - removed, due being useless in Ultraschall 4.0
- Msg - removed, was useless
4.00 Beta 2.6: - "Is that all there is? - Peggy Lee" - 19th of October 2017
New features in 4.00beta2.6 - has now 450 functions, with about 30 new ones:
- CreateAllTracksTrackString - creates a trackstring with all tracks in the current project
- new datastructure "EnvelopePointObjects" and "EnvelopePointArrays"(for EnvelopePointObjects) for easier massworking with envelopepoints
- CreateEnvelopePointObject - creates an EnvelopePointObject
- GetEnvelopePoint - gets envelopepoint easier than Reaper's own functions. Returns value converted to db-value as well
- GetClosestEnvelopePointIDX_ByTime - gets envelope-point-idx closest to a given timeposition
- GetEnvelopePointIDX_Between - gets envelope-points between start and endtime
- AddEnvelopePoints_EnvelopePointObject - adds an EnvelopePointObject
- AddEnvelopePoints_EnvelopePointArray - adds an array of EnvelopePointObjects
- CheckEnvelopePointObject - checks, if an EnvelopePointObject is a valid one
- DeleteEnvelopePoints_EnvelopePointObject - deletes an envelope-point, according to the EnvelopePointObject
- DeleteEnvelopePoints_EnvelopePointArray - deletes envelope-points, according to EnvelopePointObjects in EnvelopePointArray
- SetEnvelopePoints_EnvelopePointObject - sets an envelope-point, according to the EnvelopePointObject
- SetEnvelopePoints_EnvelopePointArray - sets envelope-points, according to EnvelopePointObjects in EnvelopePointArray
- CountEnvelopePoints - counts envelope-point in a given track and envelope-name
- ToggleIDE_Errormessages - toggles, if API shows the errormessages in Reaper's IDE or not
- WriteValueToFile_Insert - inserts a string into a specific line-position of a file
- WriteValueToFile_Replace - replaces specific lines in a file with value
- GetLengthOfFile - returns length of a file
- ReadBinaryFile_Offset - reads a binary file. Allows partial reading of a file as well.
- WriteValueToFile_InsertBinary - inserts a value into a binary file at specified position
- WriteValueToFile_Replace - replaces a specified portion of a file with a value
- GetStringFromClipboard_SWS - returns the content of the clipboard, using the SWS-function reaper.CF_GetClipboardBig, but manages the stuff necessary, that surrounds using this function
- SecondsToTimeString_hh_mm_ss_mss - converts seconds into a timestring of the format hh:mm:ss.mss
- TimeStringToSeconds_hh_mm_ss_mss - converts a timestring of the format hh:mm:ss.mss into seconds
- ParseMarkerString - converts a string with markernames or a string with timestrings and markernames into an array
- RenumerateMarkers - renumbers the shown-marker-ids in the project, beginning with the first one to the last one. Good for "ordering" markers, that were included in unordered way.
- ReadFullFile - reads a file and returns it's contents
- StartTime - a new api-variable that contains the starting time of the current instance of the api, which probably means, your script, that embeds the framework
Changes from 4.00beta2.5 to 4.00beta2.6
- corrections in the documentation
- GetClosestNextMarker - couldn't find last marker and showed a time, even if no marker was found -> fixed now; markers that are at time_position are now seen as a previous marker
- GetClosestPreviousMarker - couldn't find first marker and showed a time, even if no marker was found -> fixed now; markers that are at time_position are now seen as a next marker
- GetClosestPreviousRegion - fixed possible bug preventing from finding the first region -> fixed now
- GetClosestNextRegion - fixed possible bug preventing from finding the last region -> fixed now
- GetClosestGoToPoints - new boolean parameters check_itemedge, check_marker, check_region to set, for which type of elements to look for; returns now also an item-number; instead of "Item", it uses "Itembeg" for the beginning and "Itemend" for the end of an item now as elementtype for items; added the itemtypes to the docs
- GetNextClosestItemEdge - new return values: closest_item, item_number, edgetype, found_item
- GetPreviousClosestItemEdge - new return values: closest_item, item_number, edgetype, found_item
- WriteValueToFile - new parameter for optional appending a value to a file, other minor corrections
- SetTrackRecState - missing parameter description for tracknumber in the docs -> fixed now
- GetMediaItemsFromClipboard - produced an error, that made this function unusable -> fixed now
- RippleInsert - didn't move an item close to "position" sometimes, before inserting -> fixed now
- RippleInsert_MediaItemStateChunks - didn't move an item close to "position" sometimes, before inserting -> fixed now
- GetPreviousMuteState used to use 0 for track 1, 1 for track 2. Changed to 1 for track 1, 2 for track 2, etc
- GetNextMuteState used to use 0 for track 1, 1 for track 2. Changed to 1 for track 1, 2 for track 2, etc
- CountMuteEnvelopePoints used to use 0 for track 1, 1 for track 2. Changed to 1 for track 1, 2 for track 2, etc could also produce an error when using an invalid track. -> Fixed now.
- ToggleMute - could produce an error, when using an invalid track. -> Fixed now.
- GetTrackAutoRecArmState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackAutomodeState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackBeatState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackBusCompState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackBypFXState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackFreeModeState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackGroupFlagsState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackHeightState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackINQState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackIPhaseState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackIcon_Filename - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackIsBusState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackLayoutNames - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackLockState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMIDIOutState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMainSendState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMidiCTL - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMidiInputChanMap - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackMuteSoloState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackNChansState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackName - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackPeakColorState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackPerfState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackRecState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackShowInMixState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- GetTrackVUState - tracknumbers start now with 1 for track 1; produced an error when using nil as tracknumber -> fixed
- SetTrackAutoRecArmState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackAutomodeState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackBeatState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackBusCompState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackBypFXState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackFreeModeState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackHeightState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackINQState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackIPhaseState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackIcon_Filename - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackIsBusState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackLayoutNames - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackLockState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMIDIOutState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMainSendState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMidiCTL - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMidiInputChanMap - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackMuteSoloState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackNChansState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackName - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackPeakColorState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackPerfState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackRecState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackShowInMixState - tracknumbers start now with 1 for track 1, instead of 0
- SetTrackVUState - tracknumbers start now with 1 for track 1, instead of 0
4.00 Beta 2.5: - "Musique non stop - Technopop - Kraftwerk" - 10th of September 2017
New features in 4.00beta2.5
- Import Markers/Regions from RPP-Projectfiles
- Selection/Deselection of items, as well as getting functions for getting selected items
- functions for checking MediaItemArray and MediaItemStateChunkArrays for validity
- Trackstatechunks: getting/adding/setting/deleting/counting items in/to trackstate-chunks
- Routing-Send/Receive - functions for count, add, get, set, delete
- HWOut-settings - functions for count, add, get, set, delete
- Lock Track Controls - get, set functions
- Track Selection functions - get, set
- Functions to lock-MediaItems easily
- added RippleInsert for mediaitemstatechunkarrays
- get MediaItems from clipboard
- many functions for getting MediaItem-states from MediaItemStateChunks
- some functions for setting MediaItem-states into MediaItemStateChunks
- more MediaItem-insertion functions for MediaItemStateChunks
- choosing MediaItems from specific tracks from MediaItemArray
- new trackstring-analysis and manipulation-functions
- functions for getting Mediaitems from specific tracks
- apply statechunk to MediaItems, for extended manipulation of MediaItems using manipulated MediaItemStateChunks
- Reaper-Main-Window: get left and right sides in relation to the screen position
- client2screen2client x-coordinate conversion functions
- developer: new Errormessaging system, that will, in the future, give readable error-messages, when errors occur during execution of functions. Currently only some functions return error messages; will change over time.
- tons of other helper-functions in many areas
Changes from 4.00beta2.1 to 4.00beta2.5
- minor corrections in documentation
- RenderProjectToAIFF - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToFLAC - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_ABR - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_CBR - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_MaxQuality - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToMP3_VBR - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToOPUS - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- RenderProjectToWebMVideo - new parameters for start and endposition of the renderrange. Nil as projectfilename renders the currently opened project.
- GetProject_HorizontalZoom was incorrectly named GetProject_Zoom in the docs -> fixed
- GetApiVersion was incorrectly linked to GetPath in the docs -> fixed
- GetAllMediaItemsBetween - adds "ULTRASCHALL_TRACKNUMBER tracknumber" to returned statechunks, to know, from which track the item originated from
- SplitMediaItems_Position - bug introduced in beta 2.1 that split only first track -> fixed
- RippleInsert - bug introduced in beta 2.1 -> fixed
- InsertMediaItemArray - bug introduced in beta 2.1 -> fixed
- GetMediaItemsAtPosition - bug introduced in beta 2.1 -> fixed
- OnlyMediaItemsOfTracksInTrackstring - bug introduced in beta 2.1 -> fixed
- DeleteMediaItems_Position - bug introduced in beta 2.1 -> fixed
- GetAllMediaItemsBetween - bug introduced in beta 2.1 -> fixed
- MoveMediaItemsAfter_By - bug introduced in beta 2.1 -> fixed
- MoveMediaItemsBefore_By - bug introduced in beta 2.1 -> fixed
- MoveMediaItemsSectionTo - bug introduced in beta 2.1 -> fixed
- SectionCut - bug introduced in beta 2.1 -> fixed
- SectionCut_Inverse - bug introduced in beta 2.1 -> fixed
- RippleCut - bug introduced in beta 2.1 -> fixed
- RippleCut_Reverse - bug introduced in beta 2.1 -> fixed
- RemoveDuplicateTracksInTrackstring - entries in trackstringarray are now numbers, not strings
- SetTrackAutoRecArmState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackAutomodeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackBeatState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackBusCompState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackBypFXState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackFreeModeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackHeightState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackINQState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackIPhaseState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackIcon_Filename - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackIsBusState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackLayoutNames - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackLockState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMIDIOutState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMainSendState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMidiCTL - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMidiInputChanMap - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackMuteSoloState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackNChansState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackName - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackPeakColorState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackPerfState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackRecState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackShowInMixState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- SetTrackVUState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackAutoRecArmState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackAutomodeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackBeatState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackBusCompState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackBypFXState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackFreeModeState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackGroupFlagsState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackHeightState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackINQState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackIPhaseState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackIcon_Filename - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackIsBusState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackLayoutNames - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackLockState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMIDIOutState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMainSendState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMidiCTL - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMidiInputChanMap - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackMuteSoloState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackNChansState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackName - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackPeakColorState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackPerfState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackRecState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackShowInMixState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetTrackVUState - had a bug when using tracknumbers higher than the highest available tracknumber -> fixed
- GetMediaItemsAtPosition - returns now an array with the MediaItemStateChunks as well
- RemoveDuplicateTracksInTrackstring - produced Lua-error, when giving nil as parameter -> fixed
4.00 Beta2.1: - "Ich und der Rock - Renft" - 30th of August
New features in 4.00beta2.1
- mostly bugfixes
- ultraschall.Separator - contains the proper separator for the system it runs on. If you want to do file-operation, you should use this instead of \ or /, to make your script Mac and Windows compliant.
- ultraschall.Script_Path - contains the path to the scripts-folder of Reaper
Changes from 4.00beta2 to 4.00beta2.1
- changed the lines, you need to include into your script. refer "3. How to use the API in your LUA-Script" in the doc-file.
- some functions didn't work on Mac, due it's use of / instead of \ as directory-separator. Has been fixed now.
- moved all ultraschall-related variables into the ultraschall-table.
- GetPartialString - returns nil in case of error
- CSV2Line - returns nil in case of error, bugfixing
- RGB2Num - returns nil in case or error
- CSV2IndividualLinesAsArray - returns nil in case or error, bugfixing
- GetNextMuteState - corrected documentation
- GetNextMuteState_TrackObject - corrected documentation
- GetPreviousMuteState - corrected documentation
- GetPreviousMuteState_TrackObject - corrected documentation
- ImportChaptersFromFile - corrected documentation
- ImportEditFromFile - corrected documentation
- ImportMarkersFromFile - corrected documentation
- ImportChaptersFromFile_Filerequester - corrected documentation
- ImportEditFromFile_Filerequester - corrected documentation
- ImportMarkersFromFile_Filerequester - corrected documentation
- RemoveDuplicateTracksInTrackstring - improved return values
- OnlyMediaItemsOfTracksInTrackstring - improved return values
- ChangeDeltaOffsetOfMediaItems_FromArray - bugfixing
- InsertMediaItem_MediaItem - improved return values
- InsertMediaItem_MediaItemStateChunk - improved return values
4.00 Beta2: - "Shock The Monkey - Peter Gabriel" - 20th August 2017
New Features in 4.00beta2 - about 190 new functions with:
- Configuration: Import/Export from/to reaper-kb.ini-files
- Configuration: New Management-functions for Configuration-files that follow standard ini-files
- Clipboard: Clipboard Functions, get and put (thanks to fernsehmuell for the mac-side)
- Envelopes: Move Envelope-Points in a track
- File-Management: extended fileread-functions, including reading lines that follow patterns, and more
- Markers: Move Markers, as well as Edit Markers
- Markers: Get Markers/Regions/Time-Signature-marker by their graphical representation, means: you can use e.g. the mouse to find markers the mouse is hovering above
- Items: Get, Split, Insert, Delete, Shorten, Cut, RippleCut, RippleInsert, etc of single and multiple MediaItems in 1 or more tracks
- Projectfiles: Get and set 40 settings in rpp-projectfiles. More to come.
- Projectfiles: Import Tracks with Items and all FX and settings from project-files using GetProject_TrackStateChunk. You can insert them with the new item function InsertMediaItem_MediaItemStateChunk
- Rendering: Render projectfiles as mp3, mp3_vbr, mp3_cbr, mp3_abr, opus, flac, aiff, and webm(video). That's right: no render dialog necessary!
- Docs: The Documentation-System, that automatically creates the API-Docs from the API itself, using CreateUSApiDocs_HTML. Will be extended to be a fully equipped automatic-documentation-system for Ultraschall
- Tons of other functions in all areas.
Changes from 4.00beta1 to 4.00beta2
- Marker/Regions-functions - they used to ignore regions which led to wrong markers/regions -> fixed
- ultraschall.WriteValueToFile - default write-mode changed to binary-file behavior(doesn't add useless newlines anymore) non binary-mode can be chosen by a new parameter "binarymode" set to false, if it's
set to nil or true, value will be treated as binaryvalue and saved as such. ultraschall.WriteValueToFile(Filename_with_path, Value, binarymode)
- CSV2IndividualLines - renamed to CSV2IndividualLinesAsArray and added number of lines as additional return-value
- NumberRangeAsCsvOfNumbers - renamed to CreateTrackNumbersString
- Structure - reworked API-structure
4.00 beta1: - "Tomorrow Never Knows - The Beatles" - 10th of July 2017
New Features in 4.00beta1 - about 140 new functions with:
- Markers: extensive marker-management, with markers for chapter, edit, dummy, normal and podrange-regions
- Configuration: functions for an Ultraschall.ini. Ultraschall needs it's own config-file, at last ;)
- CoughButtons: CoughButton-management for setting, toggling, getting envelope-points in the mute-envelope-lane
- Navigation: Jumping to position, setting playcursor, toggling scrolling during playback, finding next item/marker/region and more
- Track-Management: Getting and Setting tons of track-states, that are usually hard to fumble out of Reaper.
- File-Management: Write a value to a file.
- Dozens of helper-functions here and there