Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 02-27-2019, 10:07 AM   #121
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

  • 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
  • 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.
  • 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
  • ReaperDocs: added new SWS2.10.0.1-functions
  • ReaperDocs: updated new JS-extension-plugin-functions, up to 0.971
  • EnumerateMediaItemsInTrack - readded, got lost in earlier versions somehow, leading to GetTrackLength being useless
  • ReaperDocs: added new Video-Processor-Api-functions, as of Reaper 5.971
  • GetRenderToFileHWND - returns the HWND of the Render to File-dialog
  • GetActionsHWND - returns the HWND of the Actions-dialog
  • GetVideoHWND - returns the HWND of the Video Window
  • VID_VideoUIStateCoords2Pixels - converts the coordinates, returned by the video-processor-function ui_get_state into pixels
  • VID_Pixels2VideoUIStateCoords - converts back the coordinates from pixels into the coordinates returned by the video-processor-function ui_get_state
  • Docs: Concepts: Error Messaging System: Other helpers for Error-Messaging-system - added chapter
  • GetHWND_ArrangeViewAndTimeLine - returns the HWND-window-handler for the tracklist- and timeline-area of the arrangeview
  • A_Simple_EventManager_with_Backgroundhelpers_and_D efer01.lua - a simple demo-eventmanager, that employs the background-helper-scripts and the Defer01-function
  • Docs: Concepts: Installation - added instructions on how to install the Ultraschall-API using ReaPack-package-managerhttps://reapack.com/
  • GetAllCustomMarkers - gets all custom-markers of a certain name, as table
  • GetAllCustomRegions - gets all custom-regions of a certain name, as table
  • CountAllCustomMarkers - counts all custom-markers of a certain name
  • CountAllCustomRegions - counts all custom-regions of a certain name
  • EnumerateCustomMarkers - enumerates a custom-marker of a certain name
  • EnumerateCustomRegions - enumerates a custom-region of a certain name
  • DeleteCustomMarkers - deletes a custom-marker of a certain name
  • DeleteCustomRegions - deletes a custom-region of a certain name
  • AddCustomMarker - adds a custom-marker of a certain name
  • AddCustomRegion - adds a custom-region of a certain name
  • SetCustomMarker - sets a custom-marker of a certain name
  • SetCustomRegion - sets a custom-region of a certain name
  • GetNextFreeRegionIndex - gets the next free region-shown-indexnumber
  • IsMarkerValidCustomMarker - checks a marker, if it's a valid custom-marker
  • IsRegionValidCustomRegion - checks a marker, if it's a valid custom-region
  • Docs: Concepts: Markers and Regions: Custom-Markers and Custom-Regions

Changes from 4.00beta2.7 to 4.00beta2.72
  • SetUSExternalState - converts now all passed parameters to string, regardless of their type
  • GetMarkerByScreenCoordinates - returned useless newlines -> fixed now
  • GetMarkerByTime - returned useless newlines -> fixed now
  • GetRegionByScreenCoordinates - returned useless newlines -> fixed now
  • GetRegionByTime - returned useless newlines -> fixed now
  • GetApiVersion - updated versionsnumbering; returns now the release-date of the currently installed hotfixes
  • docs generate and include now beta-functions as well
  • docs use now GetApiVersion for displaying version-numbering
  • Docgenerator - reworked the docengine-creator for more fluffy working of it
  • Changelog - fixed Markdown-formatting-issues
  • Introduction/Concepts: Datatypes: Checking Datatypes - fixed Markdown-issues
  • requires now version 0.963 of Julian Sader's plugin
  • GetPath - when sep is nil, it returns now the path until the last useful separator, either \ or /
  • MB - moved to User Interface -> Dialogs in the docs
  • hotfixes are now loaded before beta-functions
  • CloseReaConsole - updated to behavior of version 0.963 of the JS-plugin
  • ultraschall.MB - converts now all passed data into string, no matter what type it is
  • 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.
  • 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
  • RenderProjectRegions_RenderCFG - if you use nil as renderfilename_with_path, it will render as renderfilename using the filename/renderpattern already set in the project
  • GetMediafileAttributes - added info into the docs about rpp-projects, which will create a proxy file, when getting the mediafile-attributes
  • CreateValidTempFile - added info about the path of the created tempfile/tempfilename
  • GetProject_Length - fixed issue with projectfiles smaller than 1000 bytes, which couldn't be parsed
  • SetProject_RenderPattern - didn't save render-patterns with spaces in them properly
  • 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
  • GetProject_RenderFilename - sometimes returned one " at the end -> fixed
  • WriteValueToFile - converts now the parameter value to a string, regardless of it's original datatype
  • WriteValueToFile_Insert - converts now the parameter value to a string, regardless of it's original datatype
  • WriteValueToFile_Replace - converts now the parameter value to a string, regardless of it's original datatype
  • WriteValueToFile_InsertBinary - converts now the parameter value to a string, regardless of it's original datatype
  • WriteValueToFile_ReplaceBinary - converts now the parameter value to a string, regardless of it's original datatype
  • WinterlySnowflakes - preparation of the snowflakes produced wrong default-values of gfx.x, gfx.y, gfx.r, gfx.g, gfx.g -> fixed
  • GetAllRegionsBetween - didn't return regions, that began before startposition and ended after endposition -> fixed
  • AddErrorMessage - when set with ShowErrorMessagesInReascriptConsole, it shows now errormessages immediately in the ReaScriptConsole
  • GetAllFilesnamesInPath renamed to GetAllFilenamesInPath - stupid typo in functionname...sorry for any inconveniences
  • MoveMarkersBy - did move regions as well, though I claimed the opposite..oops -> fixed
  • SetUSExternalState - using now the SetIniFileValue-function for setting the ini-file-value
  • SetIniFileExternalState - using now the SetIniFileValue-function for setting the ini-file-value
  • SetReaperWindowToSize - using now the SetIniFileValue-function for setting the ini-file-value
  • SetStartNewFileRecSizeState - using now the SetIniFileValue-function for setting the ini-file-value
  • SetPlayCursorWidth - using now the SetIniFileValue-function for setting the ini-file-value
  • SetReaperWorkDir - using now the SetIniFileValue-function for setting the ini-file-value
  • GetUSExternalState - using now the SetIniFileValue-function for getting the ini-file-value
  • GetIniFileExternalState - using now the SetIniFileValue-function for getting the ini-file-value
  • GetMarkerByTime - using now the SetIniFileValue-function for getting the ini-file-value
  • GetRegionByTime - using now the SetIniFileValue-function for getting the ini-file-value
  • GetTimeSignaturesByTime - using now the SetIniFileValue-function for getting the ini-file-value
  • GetReaperWindowPosition_Left - using now the SetIniFileValue-function for getting the ini-file-value
  • GetReaperWindowPosition_Right - using now the SetIniFileValue-function for getting the ini-file-value
  • GetReaperWorkDir - using now the SetIniFileValue-function for getting the ini-file-value
  • RunBackgroundHelperFeatures - allows now switching off the background-scripts
  • IsValidArrangeviewSnapshot - checks now vertical-scrollfactor as well
  • RestoreArrangeviewSnapshot - restores now vertical-scrollfactor as well
  • RetrieveArrangeviewSnapshot - retrieves now vertical-scrollfactor as well
  • StoreArrangeviewSnapshot - stores now vertical-scrollfactor as well
  • CreateRenderCFG_AIFF - returned the wrong render-cfg-string due a stupid typo -> fixed
  • ReadFullFile - added check, if a file is already in use and can't be read
  • MakeCopyOfFile_Binary - added check, if a file is already in use and can't be read
  • ReadBinaryFileUntilPattern - added check, if a file is already in use and can't be read
  • ReadBinaryFileFromPattern - added check, if a file is already in use and can't be read
  • SearchStringInString - dropped nested searchstring-functionality as it was useless; recoded from scratch for more stability
  • ReadFullFile - produced Lua-error, when passing a boolean as filename_with_path -> fixed
  • ReadValueFromFile - produced Lua-error, when passing a boolean as filename_with_path -> fixed
  • CloseReaConsole - renamed to CloseReaScriptConsole, as the ReaConsole is something different; added plausability-checks and localization to get the right ReaScript-Console-window
__________________
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 02-27-2019, 10:08 AM   #122
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

  • ReaperDocs: OscLocalMessageToHost - didn't show title -> fixed
  • ReaperDocs: Functionnames-titles in the individual entries are not linked anymore, but rather the > at the left side of the title now
  • ReaperDocs: fixed tons of MarkDown-layout errors.
  • ReaperDocs: updated to 5.97
  • ReaperDocs: SWS - updated to 2.10.1
  • ReaperDocs: JS-extension - updated to 0.964
  • 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
  • ReadErrorMessage - accepted a string for the integer-parameter errornumber which rendered the function useless -> fixed
  • ReadErrorMessage - improved error-message, errornumber now checks, if being an integer
  • GetAllLockedTracks - improved checking for validity of parameters
  • GetAllSelectedTracks - improved checking for validity of parameters
  • GetProject_MasterGroupFlagsHighState - improved checking for validity of parameters
  • GetProject_MasterGroupFlagsState - improved checking for validity of parameters
  • GetTrackAutoRecArmState - improved checking for validity of parameters
  • GetTrackAutomodeState - improved checking for validity of parameters
  • GetTrackBeatState - improved checking for validity of parameters
  • GetTrackBusCompState - improved checking for validity of parameters
  • GetTrackBypFXState - improved checking for validity of parameters
  • GetTrackFreeModeState - improved checking for validity of parameters
  • GetTrackGroupFlagsState - improved checking for validity of parameters
  • GetTrackGroupFlags_HighState - improved checking for validity of parameters
  • GetTrackHeightState - improved checking for validity of parameters
  • GetTrackID - improved checking for validity of parameters
  • GetTrackINQState - improved checking for validity of parameters
  • GetTrackIPhaseState - improved checking for validity of parameters
  • GetTrackIcon_Filename - improved checking for validity of parameters
  • GetTrackIsBusState - improved checking for validity of parameters
  • GetTrackLayoutNames - improved checking for validity of parameters when no layout available made a Lua-error -> fixed now
  • GetTrackLockState - improved checking for validity of parameters
  • GetTrackMIDIOutState - improved checking for validity of parameters
  • GetTrackMainSendState - improved checking for validity of parameters
  • GetTrackMidiBankProgFn - improved checking for validity of parameters
  • GetTrackMidiCTL - improved checking for validity of parameters
  • GetTrackMidiColorMapFn - improved checking for validity of parameters
  • GetTrackMidiInputChanMap - improved checking for validity of parameters
  • GetTrackMidiTextStrFn - improved checking for validity of parameters
  • GetTrackMuteSoloState - improved checking for validity of parameters
  • GetTrackNChansState - improved checking for validity of parameters
  • GetTrackName - improved checking for validity of parameters
  • GetTrackPanMode - improved checking for validity of parameters
  • GetTrackPeakColorState - improved checking for validity of parameters
  • GetTrackPerfState - improved checking for validity of parameters
  • GetTrackRecCFG - improved checking for validity of parameters
  • GetTrackRecState - improved checking for validity of parameters
  • GetTrackScore - improved checking for validity of parameters
  • GetTrackShowInMixState - improved checking for validity of parameters
  • GetTrackStateChunk_Tracknumber - improved checking for validity of parameters
  • GetTrackVUState - improved checking for validity of parameters
  • GetTrackVolPan - improved checking for validity of parameters
  • GetTrackWidth - improved checking for validity of parameters
  • JumpForwardBy - improved checking for validity of parameters
  • JumpBackwardBy - improved checking for validity of parameters
  • JumpForwardBy_Recording - improved checking for validity of parameters
  • JumpBackwardBy_Recording - improved checking for validity of parameters
  • GetNextMuteState - improved checking for validity of parameters
  • CountMuteEnvelopePoints - improved checking for validity of parameters
  • IsMarkerEdit - improved checking for validity of parameters
  • IsMarkerNormal - improved checking for validity of parameters
  • IsRegionPodrange - improved checking for validity of parameters
  • IsRegionEditRegion - improved checking for validity of parameters
  • CountEnvelopePoints - improved checking for validity of parameters
  • GetTrackLength - improved checking for validity of parameters
  • GetLengthOfFile - improved checking for validity of parameters
  • RGB2Grayscale - improved checking for validity of parameters
  • GetNextClosestItemEdge - improved checking for validity of parameters
  • GetPreviousClosestItemEdge - improved checking for validity of parameters
  • GetClosestNextMarker - improved checking for validity of parameters
  • GetClosestNextRegionEdge - improved checking for validity of parameters
  • ToggleMute - improved checking for validity of parameters
  • ToggleMute_TrackObject - improved checking for validity of parameters
  • GetPreviousMuteState - improved checking for validity of parameters
  • GetProject_GetMarker - could produce a Lua-error, when filename was nil -> fixed
  • GetProject_GetRegion - could produce a Lua-error, when filename was nil -> fixed
  • GetEnvelopePoint - improved checking for validity of parameters
  • GetClosestEnvelopePointIDX_ByTime - improved checking for validity of parameters
  • GetEnvelopePointIDX_Between - improved checking for validity of parameters
  • SetEnvelopeHeight - improved checking for validity of parameters
  • StoreArrangeviewSnapshot - improved checking for validity of parameters
  • IsValidArrangeviewSnapshot - improved checking for validity of parameters
  • RetrieveArrangeviewSnapshot - improved checking for validity of parameters
  • RestoreArrangeviewSnapshot - improved checking for validity of parameters
  • SetTrackGroupFlagsState - improved checking for validity of parameters
  • SetTrackGroupFlags_HighState - improved checking for validity of parameters
  • SetTrackName - improved checking for validity of parameters
  • SetTrackPeakColorState - improved checking for validity of parameters
  • SetTrackBeatState - improved checking for validity of parameters
  • SetTrackAutoRecArmState - improved checking for validity of parameters
  • SetTrackMuteSoloState - improved checking for validity of parameters
  • SetTrackIPhaseState - improved checking for validity of parameters
  • SetTrackIsBusState - improved checking for validity of parameters
  • SetTrackBusCompState - improved checking for validity of parameters
  • SetTrackShowInMixState - improved checking for validity of parameters
  • SetTrackFreeModeState - improved checking for validity of parameters
  • SetTrackRecState - improved checking for validity of parameters
  • SetTrackVUState - improved checking for validity of parameters
  • SetTrackHeightState - improved checking for validity of parameters
  • SetTrackINQState - improved checking for validity of parameters
  • SetTrackNChansState - improved checking for validity of parameters
  • SetTrackBypFXState - improved checking for validity of parameters
  • SetTrackPerfState - improved checking for validity of parameters
  • SetTrackMIDIOutState - improved checking for validity of parameters
  • SetTrackMainSendState - improved checking for validity of parameters
  • SetTrackLockState - improved checking for validity of parameters
  • SetTrackLayoutNames - improved checking for validity of parameters
  • SetTrackAutomodeState - improved checking for validity of parameters
  • SetTrackIcon_Filename - improved checking for validity of parameters; didn't add trackicon, when no image was set already -> fixed; when Iconfilename[cur]with[/cur]path=nil, removes trackicon now
  • SetTrackMidiInputChanMap - improved checking for validity of parameters; didn't set MidiInputChanMap -> fixed; removes now MidiInputChanMap, when InputChanMap=nil
  • SetTrackMidiCTL - improved checking for validity of parameters
  • SetTrackID - improved checking for validity of parameters
  • SetTrackMidiColorMapFn - improved checking for validity of parameters, setting filename to "" removes the MidiColorMap, now
  • SetTrackMidiBankProgFn - improved checking for validity of parameters
  • SetTrackMidiTextStrFn - improved checking for validity of parameters
  • SetTrackPanMode - improved checking for validity of parameters
  • SetTrackWidth - improved checking for validity of parameters
  • SetTrackScore - improved checking for validity of parameters
  • SetTrackVolPan - improved checking for validity of parameters
  • SetTrackRecCFG - improved checking for validity of parameters
__________________
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 02-27-2019, 10:33 AM   #123
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

(More Cowbell)
__________________
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 02-28-2019, 01:51 AM   #124
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 232
Default

What a massive work! :O
Ivannn Bennnettt is offline   Reply With Quote
Old 02-28-2019, 05:03 AM   #125
doppelganger
Human being with feelings
 
Join Date: Feb 2017
Posts: 281
Default

omg, so much data processed, when should we wait for your own DAW? =)))
doppelganger is offline   Reply With Quote
Old 02-28-2019, 07:51 AM   #126
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

We at Ultraschall even thought about that to gain control over the hard to access-parts of Reaper, which would be easier with our own DAW for podcasting.

But we came up with the conclusion: everything we would love to have, is what Reaper already is

(and it's faster to write a workaround for hard to access stuff in Reaper, than doing the whole audio-stuff again, which is a nightmare to code, if it shall be cross-platform.)
__________________
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 02-28-2019, 07:52 AM   #127
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

For those, who have already installed this version 4.00beta 2.72, there's a hotfix available, that fixes a stupid bug I added in the last few minutes of preparing the release.

Synchronize it with your most favorite ReaPack

@cfillion
Thanks for ReaPack, it is great
__________________
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 03-09-2019, 05:07 AM   #128
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

Updated Ultraschall-API 4.00 to beta 2.73

Get it using ReaPack: https://github.com/Ultraschall/ultra..._api_index.xml


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
- print3 - like print and print2, but puts the parameters into the clipboard instead
- ClearRoutingMatrix - clears the routing-matrix, either completely or just parts of it(Send/Receive, HWOuts, MasterSends) including or excluding the Master-Track
- DB2MKVOL - converts a dB-value into its MKVOL-representation, which can be used by routing-functions for the volume
- MKVOL2DB - converts a MKVOL-value(as used by volume in routing-settings) into its dB-representation
- GetRenderQueueHWND - gets the HWND of the Render-Queue-window, if opened
- GetProjectSettingsHWND - gets the HWND of the Project Settings-window, if opened
- GetSaveLiveOutputToDiskHWND - gets the HWND of the Save Live Output To Disk-window, if opened
- GetConsolidateTracksHWND - gets the HWND of the Consolidate Tracks-window, if opened
- GetExportProjectMIDIHWND - gets the HWND of the Export Project MIDI-window, if opened
- GetProjectDirectoryCleanupHWND - gets the HWND of the Project Directory Cleanup-window, if opened
- GetBatchFileItemConverterHWND - gets the HWND of the Batch File/Item Converter-window, if opened
- GetAllHWOuts - returns a table with all HWOut-settings of all tracks of the current project
- GetAllAUXSendReceive - returns a table with all Send/Receive-settings of all tracks of the current project
- GetAllMainSendStates - returns a table with all MainSend(Master Send)-settings of all tracks of the current project
- 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
- 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
- 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
- GetSetConfigAutoMute - gets/sets the automute-config-variable
- GetSetConfigAutoMuteFlags - gets/sets the automuteflags-config-variable
- GetSetConfigAutoSaveInt - gets/sets the autosaveint-config-variable
- GetSetConfigAutoSaveMode - gets/sets the autosavemode-config-variable

Changes from 4.00beta2.72 to 4.00beta2.73
- Ultraschall.ScriptIdentifier - fixed bugs with Scriptidentifier-creation
- Main\_OnCommandByFilename - fixed bug with Scriptidentifier-creation
- MIDI\_OnCommandByFilename - fixed bug with Scriptidentifier-creation
- DeleteTrackAUXSendReceives - allows now to delete all AuxSendReceives of a track at once, when idx=-1
- 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...
- CountTrackAUXSendReceives - when track isn't found, it returns now an error-message
- GetTrackAUXSendReceives - had internal variable exposed -> fixed now
- DeleteTrackHWOut - allows now to delete all HWOuts of a track at once, when idx=-1
- SetTrackHWOut - fixed bug with an incorrect idx-numbering
- SetTrackAUXSendReceives - fixed bug with an incorrect idx-numbering
- Reaper Api docs: Video Processor: corrected YET ANOTHER Markdown-f....p in the example code of chapter Coding Introduction
- GetIniFileValue - improved code
- SetIniFileValue - fixed bug that caused inifiles to explode in size
- Reaper-Docs: updated to Reaper 5.972
__________________
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 03-09-2019, 08:10 AM   #129
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,689
Default

Quote:
Originally Posted by mespotine View Post
Anyone in need of helper functions for every day Reaper-programming?
Now it's time for such feature-requests, as I'm working on the next Ultraschall-Api-update.
Do these exist?
PHP Code:
-getMidiMapping()  <- parameter,value,mode
-setMidiMapping      (parameter,value,mode
TonE is online now   Reply With Quote
Old 03-09-2019, 08:17 AM   #130
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

Do you know, where the Midi-Mappings are stored? StateChunks, functions to access MidiMappings or something?

Edit: Oh and could you point me to the place in Reaper, where I can set the MidiMappings, dialog, ui-element, etc? I'm not using Midi that much, so I'm not experienced with that.
__________________
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 03-09-2019, 09:42 AM   #131
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,689
Default

Yes, I know, I hope this link helps.
https://forum.cockos.com/showthread.php?t=218108
which leads to
https://github.com/JoepVanlier/Hacke...ines/issues/17

In short it is using this:
PHP Code:
PARMLEARN 0 19376 1 for your VST(iparameter
-- the 0 is the parameter number
-- the 19376 is the CC number and message type
-- the 1 is the Mode

now 19376 is 4bb0 in hexadecimal
,
4b is 75 in decimal (which was the CC number that I Learned),
Let us say that I want to change it to CC number 72,
72 in decimal is 48 in hexadecimal,
So the full hexadecimal number is 48b0,
48b0 in hexadecimal is 18608 in decimal.

FXID {...
<
PARMENV...

PARMLEARN 4 2960 0
WAK 0
BYPASS 0 0 
If you take a new project, add a new track, save as project1 without any midi mapping.
Then same project, map a single parameter, save as project2. Diff and you should see the added PARMLEARN with those three numbers, their meanings were explained above.
TonE is online now   Reply With Quote
Old 03-10-2019, 09:49 AM   #132
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

Hmm..does that mean, the MIDI-Mapping is part of ReaMachines or is it part of Reaper itself?

And how do I map a parameter? A gif would be sufficient, that shows, where to click.
__________________
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 03-10-2019, 10:50 AM   #133
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,689
Default

Quote:
Originally Posted by mespotine View Post
Hmm..does that mean, the MIDI-Mapping is part of ReaMachines or is it part of Reaper itself?

And how do I map a parameter? A gif would be sufficient, that shows, where to click.
Midi mapping is written into the .rpp file, so it is in the project file. How to map? Param, FX Parameter list, Learn, Wet (for example), then a window appears with the title MIDI/OSC Learn, if you turn a knob/slider or push a button in your midi controller, you will see its triggering value under Command. You can set further options via those checkboxes.
Added two new images here: https://github.com/JoepVanlier/Hacke...ines/issues/17

If you never used midi mapping or osc mapping, then you are not using most important part of Reaper, which allows converting a software to a hardware, at least for those controls which you mapped. The more the better, that is why this feature would help a lot.

Last edited by TonE; 03-10-2019 at 10:58 AM.
TonE is online now   Reply With Quote
Old 03-10-2019, 11:32 AM   #134
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

Ok, looks promising. I see, what I can do. Will need some time to do it right, though.
__________________
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 03-10-2019, 12:59 PM   #135
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 1,689
Default

Thanks a lot, sounds good.

As an example how to use those midi mappings, you could design track templates or project templates with ready mappings, keeping things simple, e.g. a project template containing 7 stem folders. kick, bass, snare, loops, chords, melody, fx. Those 7 stems you would design properly, which stem influencing which other, hierarchically, then adding 4 send fx on separate tracks A,B,C,D. Now you have 7 folders, plus 4 effects, from each folder you have a send to A,B,C,D. In those folders you could add as many midi mappings as you want, to all kind of stuff. The goal would be controling those 7 stems plus 4 send effects as good as possible, depending on what you want. This would be first half of the story. This you would design once and reuse multiple times, as long as you like this setup.

Second part would be having a set of tracks or recording or audio files, e.g. 50 wav files. Now you only would need to drag those tracks into the correct stem folder from above, then you could immediately have all your above mapped controls on those tracks. More detail is not needed, ok for editing maybe, but not for having fun, using hardware feel. The first part of this story would give you the fun side. Mutes, fade in, fade out, gate effects, reverb, delay, distort, filther

Last edited by TonE; 03-10-2019 at 01:05 PM.
TonE is online now   Reply With Quote
Old Yesterday, 10:12 AM   #136
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 816
Default

A small teaser for the next version, which is due in mid-April:

ultraschall.GFX_GetMouseCap(), which allows you to get clickstates, including doubleclick and dragging in gfx-windows, without having to fiddle around with gfx.mouse_cap.

This will make doing gfx-stuff much much easier.

The following is a simple drawing tool, based upon that:

__________________
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 08:37 AM.


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