Old 07-01-2019, 09:28 AM   #1
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default Ultraschall-API - pre-release-thread

In this thread, I will post updates for unreleased versions of the Ultraschall-API.
You will be able to install the stuff for testing and giving me feedback, if the things don't work as expected or are too difficult to use.

This here is strictly unfinished stuff, will probably change heavily and some features may or may not make it into a final release.

When in doubt, just use the final release, head over to the official Ultraschall-API-thread: https://forum.cockos.com/showthread.php?t=214539
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 07-23-2019 at 08:58 AM.
mespotine is offline   Reply With Quote
Old 07-01-2019, 09:29 AM   #2
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

The next release-cycle will be for version 4.00-beta 2.76.

Focus will be:
- finalizing functions for Parameter-Learn and modulation
- localization
- loop-rendering

Will begin tomorrow with developing on that one.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 07-02-2019, 12:22 PM   #3
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Ok, this pre-release-procedure is quite new for this project, so I just start with my current idea, of it working. Let's see where it leads us.

Download it with ReaPack using: https://github.com/Ultraschall/ultra...ease_index.xml

Pre-release-build: 38961.00 from 2nd of July 2019

New features
  • Actions: GetAllActions - gets all actions, actioncommandids and scriptnames of all actions in a specific section
  • FXManagement: AutoDetectVSTPlugins - auto-searches for the vst-plugin-folder
  • 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
  • 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
  • ReaMote: AutoSearchReaMoteSlaves - autosearches for new ReaMote-slaves
  • Render: AddSelectedItemsToRenderQueue - adds selected MediaItems to render-queue as either one render-queued-project or individual projects
  • Render: GetRenderingToFileHWND - gets the hwnd of the rendering-to-file-dialog, during rendering
  • Tools: ultraschall_Add_Developertools_To_Reaper.lua - allows installing developertools into Reaper
  • Tools: ultraschall_Remove_Developertools_From_Reaper.lua - allows removing already installed developertools from Reaper

Changes
  • API: versionscheck - had problems with pre/rc and dev-versions of Reaper -> fixed(reported by X-Raym)
  • Docs: updated Reaper-docs to 5.979 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)
  • Render: RenderProject_Regions - produced Lua-error, when passing a filename without extension and if region was <1, returns error-messages now in that case
  • 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_findConfigVarsToggledByA ctions.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_Moni tor.lua
    ultraschall_developertool_StateInspector.lua
    ultraschall_developertool_Track_State_Diffs_Monito r.lua
  • Tools: ultraschall_Remove_ExampleScripts_To_Reaper.lua - renamed to ultraschall_Remove_ExampleScripts_From_Reaper.lua, better name that way
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 07-03-2019, 09:40 AM   #4
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 234
Default

Thx! Back from holidays in a few days. I'll be testing the render regions thing then.
reapero is offline   Reply With Quote
Old 07-04-2019, 08:53 AM   #5
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Render regions isn't done yet, only the changes I posted above. Will come in the next few days.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 07-04-2019, 08:56 AM   #6
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

New pre-release-version available, with the following additions and changes.
Install it, using: https://github.com/Ultraschall/ultra...ease_index.xml

Build: 39682

Additions:
  • 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: 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

Changes:
  • FXManagement: GetFXStateChunk - when using MediaItemStateChunks, it allows now selecting, from which take to get the FXStateChunk
    • Localize: Localize - has now link to localize-fileformat in their description
    • Localize: Localize_RefreshFile - has now link to localize-fileformat in their description
    • Localize: Localize_UseFile - has now link to localize-fileformat in their description
    Notes on how to use the ParmLearn-functions:
  • Step 1: Get a Track/MediaItemStateChunk using GetTrackStateChunk/GetItemStateChunk
  • Step 2: Get the FXStateChunk using ultraschall.GetFXStateChunk
  • Step 3: Get/Set the setting(s) in the FXStateChunk
  • Step 4: Add the altered FXStateChunk to the original Track/ItemStateChunk using ultraschall.SetFXStateChunk
  • Step 5: Commit the altered Track/ItemStateChunk to the project, using SetTrackStateChunk

    Step 4 and 5 only, if you want to change something in the ParmLearn-settings

    Notes: Committing changes made with SetParmLFOLearn_FXStateChunk with SetTrackStateChunks doesn't work due a bug in Reaper, which changes it to a regular ParmLearn-entry.
    I've bugreported that already.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 07-07-2019, 09:31 AM   #7
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

New pre-release-version available, with the following additions and changes.
Install it, using:
https://github.com/Ultraschall/ultra...ease_index.xml

Build: 39790 - 7th of July 2019

Additions:
  • 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
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 07-12-2019, 08:48 AM   #8
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 39863 12th of July

Additions:
  • 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_developertool_CheckForNewConfigVars.lu a - checks the individual lines of a string in clipboard for valid config-vars; thought I already had added that...
  • Track Management: AnyTrackMute - returns, if any track is muted; optionally includes the master-track as well


Changes:
  • Docs: FileType-Description - added missing info to ReaperConfigZip-Filetype-description
  • Docs: updated Reaper-docs to 5.980
  • Helpers: SplitStringAtLineFeedToArray - sped up by magnitudes, should now work much faster with megabyte-strings


You can download it using ReaPack and the pre-release-index-file:
https://raw.githubusercontent.com/Ul...ease_index.xml

Online docs for the pre-release-version: https://mespotin.uber.space/Ultrasch...Functions.html
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 10-11-2019 at 09:36 AM.
mespotine is offline   Reply With Quote
Old 07-21-2019, 12:24 PM   #9
lossius
Human being with feelings
 
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 109
Default

Quote:
Originally Posted by mespotine View Post
(...)
Build: 39682

Additions:
  • 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: 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

Changes:
  • FXManagement: GetFXStateChunk - when using MediaItemStateChunks, it allows now selecting, from which take to get the FXStateChunk
    • Localize: Localize - has now link to localize-fileformat in their description
    • Localize: Localize_RefreshFile - has now link to localize-fileformat in their description
    • Localize: Localize_UseFile - has now link to localize-fileformat in their description
    Notes on how to use the ParmLearn-functions:
  • Step 1: Get a Track/MediaItemStateChunk using GetTrackStateChunk/GetItemStateChunk
  • Step 2: Get the FXStateChunk using ultraschall.GetFXStateChunk
  • Step 3: Get/Set the setting(s) in the FXStateChunk
  • Step 4: Add the altered FXStateChunk to the original Track/ItemStateChunk using ultraschall.SetFXStateChunk
  • Step 5: Commit the altered Track/ItemStateChunk to the project, using SetTrackStateChunk

    Step 4 and 5 only, if you want to change something in the ParmLearn-settings

    Notes: Committing changes made with SetParmLFOLearn_FXStateChunk with SetTrackStateChunks doesn't work due a bug in Reaper, which changes it to a regular ParmLearn-entry.
    I've bugreported that already.
Thanks. I am currently testing this out, but hit upon a problem. Here is an excerpt from my code:

Code:
TrackStateChunk = ultraschall.GetProject_TrackStateChunk(ProjectFileNameWithPath, trackID + 1, 0)
FxStateChunk = ultraschall.GetFXStateChunk(TrackStateChunk)
reaper.ShowConsoleMsg("TrackStateChunk:\n\n"..(TrackStateChunk).."\n\n")
reaper.ShowConsoleMsg("-----------------------\n\n")
reaper.ShowConsoleMsg("FXStateChunk:\n\n"..(FxStateChunk).."\n\n")
When I print TrackStateChunk, I get the expected result. However when I print FxStateChunk, I get the following error message:

tl_Use 2 stereo FXs to process O1A ambisonics.lua:182: attempt to concatenate a nil value (global 'FxStateChunk')

Am I missing something obvious here?

Apart from that I also have a second question: Is there any way of providing the currently open project as "ProjectFileNameWithPath" rather than having to point to a saved version of the project?

Thanks!

PS: The spaces that show up in (TrackStateChunk) and (FxStateChunk) in line 3 and 5 of the code are due to the forum software formatting, and these spaces are not present in my own code. - Update: did as advised by nofish in his reply below.

Last edited by lossius; 07-22-2019 at 09:44 AM.
lossius is offline   Reply With Quote
Old 07-22-2019, 05:20 AM   #10
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 9,112
Default

Quote:
Originally Posted by lossius View Post
PS: The spaces that show up in (TrackStateChunk) and (FxStateChunk) in line 3 and 5 of the code are due to the forum software formatting, and these spaces are not present in my own code.
You can put your code between [_code_] [_/code_] tags (without the underscores) to prevent this.
https://forum.cockos.com/misc.php?do=bbcode#code
nofish is offline   Reply With Quote
Old 07-23-2019, 08:44 AM   #11
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

@Lossius
You should try the final release, which is discussed in the official release-thread:
https://forum.cockos.com/showthread.php?t=214539

If the problem persists, write me a bug-report over there and I'll try to fix it.

To get a TrackStateChunk of a track in the current project, you can safely use this function:
https://mespotin.uber.space/Ultrasch...nk_Tracknumber

Just pass over the tracknumber, with 1 for the first, 2 for the second, etc.
If you want to have the MasterTrack, pass 0 as tracknumber.

Edit: I think I see the problem, which is probably a problem in my code, which I'll fix. But if you follow my instructions above, this shouldn't be a problem for you.
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 07-23-2019 at 08:54 AM.
mespotine is offline   Reply With Quote
Old 07-23-2019, 08:57 AM   #12
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

New-Prerelease-version available

Build: 40316 - 23rd of July 2019

New features in 4.00beta2.77
  • Helper Functions: FindPatternsInString - finds all occurrences of a matching-pattern in a string

Changes from Beta 2.76 to Beta 2.77
  • API: functions - moved all functions into modules for future modular-concept
    Docs: GetRenderingToFileHWND - had parameters described, that don't exist -> fixed
    Helper Functions: GetUserInputs - did change the tables passed as default-retvals -> fixed now
    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: 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
    Project Management: GetProject_MasterGroupFlagsState - moved to correct docsindex Project Management
    Project Management: GetProject_MasterGroupFlagsState - moved to correct docsindex Project Management

You can download this pre-release via ReaPack: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 08-05-2019, 09:02 AM   #13
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Prerelease-Build: 40533 - 4th of August 2019

Additions
  • EventManager: Ultraschall_EventManager.lua - first version of the EventManager-backgroundscript
  • ProjectManagement: GetProjectStateChunk - returns the ProjectStateChunk of the current project(finally working!)
Changes
  • Docs: Doc-Engine - had wrong parameters and retvals in numerous functions...fixed(ooops)
  • FXManagement: GetFXStateChunk - had layoutproblem, when the passed StateChunk was taken from a ProjectStateChunk -> fixed(thanks to Anton9?)


You can download this pre-release via ReaPack: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 08-06-2019, 07:39 AM   #14
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40540 - 6th of August 2019

Additions:
  • 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); no scripts yet

Changes:
  • Eventmanager: EventStateChunk defined; can now add events from an EventStateChunk; supports now sections, namely main and MediaExplorer(Midi still missing); checkfunctions can have now their own userspace for their data; events can be paused now; sometimes didn't check events, when multiple were there -> fixed

You can download this pre-release via ReaPack: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 08-29-2019, 08:40 AM   #15
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Hit the 1000-functions mark!

Build: 40602

Additions:
  • Error Messaging System: SuppressErrorMessages - suppresses and unsuppresses error-messages of the error messaging system
  • LiceCap: SetLiceCapExe - sets the LiceCap-executable, which shall be used by Reaper
  • LiceCap: SetupLiceCap - sets up the LiceCap-executable settings of the currently chosen LiceCap-executable in Reaper
  • Project Management: GetProjectFilename - returns the filename of a currently opened project
  • Project Management: SetProject_GlobalAuto - sets global automation override-state of 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
  • 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:
  • Helper Functions: GetApiVersion - moved into main FunctionsEngine-module
  • Project Management: CheckForChangedProjectTabs - checks now as well, if projectfilenames have changed, by either loading a project or saving a project under a new filename
  • Project Management: CountProjectTabs - moved to ProjectManagement-module
  • Project Management: GetProject_GlobalAuto - added description for global-automation-override[/cur]state
  • Project Management: GetProject_Tabs - moved to ProjectManagement-module
  • Project Management: ProjectTabs-check - initialization had a bug, which could cause CheckForChangedProjectTabs to fail at times -> fixed

You can download this pre-release via ReaPack: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 10-11-2019 at 09:36 AM.
mespotine is offline   Reply With Quote
Old 09-03-2019, 01:59 PM   #16
lexaproductions
Human being with feelings
 
Join Date: Jan 2013
Posts: 431
Default

EDIT: Nevermind, Found It
__________________
MP 12 Core 3.46GHZ 48GB OSX10.11.6, MBP 15" 2012 OSX10.12, RME Fireface UFX, MCU,
Reaper 5, SD2, Omnisphere, Wave Altiverb, PSP, VB3, Izotope, Scuffham, Soundtoys 5, Slate All Plugins.
lexaproductions is offline   Reply With Quote
Old 09-12-2019, 08:45 AM   #17
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40612 from 12th of September 2019

Additions:
  • Project Management: SaveProjectAs - saves the current project under a new filename; still has issues
  • Ultraschall: DeleteUSExternalState - deletes an extstate from the ultraschall.ini
Changes:
  • Configuration Files: CountIniFileExternalState_sec - had inner variable exposed -> fixed
  • Configuration Files: EnumerateIniFileExternalState_sec - did return keys instead of sections -> fixed
  • Docs: Reaper-Internals - updated docs to JS-extension 0.991 and added new configvars from pre-releases
  • Helper Functions: SplitStringAtLineFeedToArray - didn't always return the last entry of the passed string -> fixed (thanks to Aurelien)
  • Ultraschall: EnumerateUSExternalState_sec - had problems, when ultraschall.ini was stored with CR+LF-lineendings -> fixed (thanks to rstockm)

You can download this prerelease from: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 09-17-2019, 10:26 AM   #18
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40623

Additions:
  • EventManager: added communication-infrastructure to EventManager-script
  • EventManager: EventManager_AddEvent - registers a new event to the EvenManager-checkingqueue
  • EventManager: EventManager_CountRegisteredEvents - counts the number of registered events
  • EventManager: EventManager_EnumerateEvents - returns attributes of specific registered events
  • EventManager: EventManager_IsValidEventIdentifier - checks, if an EventIdentifier is a valid and currently registered one
  • EventManager: EventManager_SetEvent - sets an already existing event in the EvenManager-checkingqueue
  • EventManager: Eventmanager_RemoveEvent - removes an event from the EvenManager-checkingqueue
  • Helper functions: RunLuaSourceCode - runs Lua-code directly from a string
  • MediaItem Management: GetMediaItemNumber - returns the itemnumber of a MediaItem within a project
Changes:
  • Docs: Ultraschall-API - index was malformed due bug in doc-generator-scripts -> fixed
  • Media Explorer: MediaExplorer_OnCommand - moved function in docs to index Media Explorer
  • Media Explorer: UpdateMediaExplorer - moved function in docs to index Media Explorer
  • 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: 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)
  • 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.

You can download this prerelease from: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 09-18-2019 at 07:58 AM.
mespotine is offline   Reply With Quote
Old 09-18-2019, 07:56 AM   #19
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40627

Additions:
  • Helper functions: Main_OnCommand_LuaCode - runs Luacode in a temporary new script, without the need to create it first

Changes:
  • DocEngine: Docs_GetUSDocBloc_ChapterContext - returned an additional empty non-existant chapter -> fixed
  • DocEngine: Docs_GetUSDocBloc_Requires - could produce a Lua-error -> fixed

You can download this prerelease from: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 09-19-2019, 12:30 PM   #20
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40630

Eventmanager mostly complete now

Additions:
  • EventManager: EventManager_PauseEvent - pauses a registered event in the EventManager
  • EventManager: EventManager_ResumeEvent - resumes a paused and registered event in the EventManager
  • EventManager: EventManager_Start - starts the EventManager
  • EventManager: EventManager_Stop - stops the EventManager, if all scripts who have registered events have used this function
Changes:
  • Helper Functions: Main_OnCommand_LuaCode - had inner variables exposed -> fixed
  • EventManager: Eventmanager_RemoveEvent - didn't return false in case of an error, though docs stated otherwise -> fixed
  • Eventmanager: EventManagerScript - functions who got passed to the eventmanager are now run in protected mode.
    They print out an error-message in case of an error and the accompanying event will be paused from that moment on.
    This should make that more stable overall, as the other eventcheckings are not stopped due one faulty function of one eventcheck.
    Replacing the function and restarting the eventchecking should be possible, so debugging it on runtime should work.
    In other news: EventChecking now works as often as it was requested(used to be done in every defer-cycle of the eventmanager, which wasted computing-resources)

You can download this prerelease from: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635

Last edited by mespotine; 10-11-2019 at 09:36 AM.
mespotine is offline   Reply With Quote
Old 09-24-2019, 09:29 AM   #21
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40643

Eventmanager now fully operational. Just some convenience-functions missing.

Additions:
  • EventManager: EventManager_AddStartupEvent - adds an event into the ini-file of the EventManager, to be registered at startup of the ini-file
  • EventManager: EventManager_CountStartupEvents - counts the number of currently available startup-events for the EventManager
  • EventManager: EventManager_EnumerateEvents2 - enumerates attributes of an event by EventIdentifier
  • EventManager: EventManager_EnumerateStartupEvents - enumerates attributes of a startup-event
  • EventManager: EventManager_RemoveAllEvents_Script - removes all events, registered by a script with a certain ScriptIdentifier
  • EventManager: EventManager_RemoveStartupEvent - removes a registered-at-startup-event for the EventManager
  • EventManager: EventManager_RemoveStartupEvent2 - removes a registered-at-startup-event for the EventManager by EventIdentifier
  • EventManager: EventManager_SetStartupEvent - sets an event in the ini-file of the EventManager, which will be registered at startup of the ini-file
  • Helper Functions: ConvertFunction_FromBase64String - loads a function from a BASE64-string
  • Helper Functions: ConvertFunction_ToBase64String - converts a function into a BASE64-string
  • Helper functions: ReplacePatternInString - replaces a certain occurence(and only that one) of a pattern in a string with a replacement
Changes:
  • EventManager: EventManagerScript - allows now automatically adding "startup"-events, who are registered when starting the eventmanager automatically;
    changed stop-behavior, much more simpler and more stable now and stops now, if all scripts unregistered their events to save resources;
    internal function GetNewEventsFromEventRegisterExtstate() renamed to CheckCommandsForEventManager(); resets stop-command at EventManager-startup;
    CheckAllXSeconds and CheckForXSeconds use now 0 as value for the permanent checking;
    could crash, when events were automatically removed -> fixed
  • EventManager: EventManager_AddEvent - allows now setting events before starting the EventManager as well, allows now _ActionCommandIDs as well(used to accept only integer-commandids); CheckAllXSeconds and CheckForXSeconds use now 0 as value for the permanent checking; could crash if actionlist didn't include strings -> fixed
  • EventManager: EventManager_AddStartupEvent - allows now _ActionCommandIDs as well(used to accept only integer-commandids); CheckAllXSeconds and CheckForXSeconds use now 0 as value for the permanent checking; could crash if actionlist didn't include strings -> fixed
  • EventManager: EventManager_EnumerateEvents - converts now the function from BASE64 into the actual function
  • EventManager: EventManager_IsValidEventIdentifier - checks now for valid and currently used EventIdentifiers by registered Events as well
  • EventManager: EventManager_SetEvent - allows now _ActionCommandIDs as well(used to accept only integer-commandids); CheckAllXSeconds and CheckForXSeconds use now 0 as value for the permanent checking; could crash if actionlist didn't include strings -> fixed
  • TrackManagement: GetRecCounter - had wrong Reaper-version in docs -> fixed

You can download this prerelease from: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Old 10-11-2019, 09:34 AM   #22
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,616
Default

Build: 40830 from 10th of October 2019

Additions:
  • 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!
  • ErrorMessagingSystem: SLEM - this works like ultraschall.ShowLastErrorMessage() but is easier to type.
  • 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
  • EventManager: EventManager_GetPausedState - returns, if a certain event is paused or not, by id/count
  • EventManager: EventManager_GetPausedState2 - returns, if a certain event is paused or not, by EventIdentifier
  • EventManager: EventManager_GetRegisteredEventID - returns the id of a certain event by EventManager, 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
  • MIDIManagement: MIDI_SendMidiCC - sends a MIDI-CC-message to a device or virtual keyboard
  • MIDIManagement: MIDI_SendMidiNote - sends a MIDI-note to a device or virtual keyboard
  • MIDIManagement: MIDI_SendMidiPC - sends a MIDI-PC-message to a device or virtual keyboard
  • MIDIManagement: MIDI_SendMidiPitch - sends a MIDI-Pitchbend-message to a device or virtual keyboard
  • UltraschallSoundboard: Soundboard_Play - starts playing a certain player within the Ultraschall Soundboard
  • UltraschallSoundboard: Soundboard_PlayList[/cur]Next - starts the next Soundboard-player-slot
  • UltraschallSoundboard: Soundboard_PlayList[/cur]Previous - starts the previous Soundboard-player-slot
  • UltraschallSoundboard: Soundboard_PlayList[/cur]SetIndex - sets the current Soundboard-player-slot, optionally starts playing it
  • UltraschallSoundboard: Soundboard_PlayList[/cur]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[/cur]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:
  • 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
  • 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: Eventmanager-script - includes now a debugmode and returns the reaper.time_precise() time as last-updated time as well
  • RenderManagement: RenderProject_RenderTable - didn't return filearray -> fixed

You can get this latest pre-release from: https://raw.githubusercontent.com/Ul...ease_index.xml
__________________
Ultraschall-API - a Lua-functions-library4Reaper: https://forum.cockos.com/showthread....98#post2067798
Reaper Internals - Developerdocs4Reaper: https://forum.cockos.com/showthread.php?t=207635
mespotine is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:05 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.