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

Reply
 
Thread Tools Display Modes
Old 05-21-2019, 10:26 AM   #201
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 391
Default

and here's the method I use to call it... H is 0-360,L & S are 0-100 and RGB are 0-1

more at http://www.hsluv.org/
Code:
function getRGB(hue,sat,level)
    color = {}
    color[1] = hue
    color[2] = sat
    color[3] = level
    rgb = hsluv.hpluv_to_rgb(color)
    return rgb
end
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 05-21-2019, 10:31 AM   #202
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Nice. Will look into it for the next dev-cycle
__________________
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 05-23-2019, 07:04 AM   #203
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Note to myself:
Add OnTrackSelection to trackseletion-functions in the API, so csurfaces will be notified of this change, according to Justin's explanation.
https://forum.cockos.com/showpost.ph...2&postcount=14
__________________
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 05-23-2019, 10:32 AM   #204
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,019
Default

Quote:
Originally Posted by woodslanding View Post
and here's the method I use to call it... H is 0-360,L & S are 0-100 and RGB are 0-1

more at http://www.hsluv.org/
Code:
function getRGB(hue,sat,level)
    color = {}
    color[1] = hue
    color[2] = sat
    color[3] = level
    rgb = hsluv.hpluv_to_rgb(color)
    return rgb
end
If you're using my GUI, it has RGB <-> HSV conversion, as well as a function for gradients. https://github.com/jalovatt/Lokasenn...olor-functions
Lokasenna is offline   Reply With Quote
Old 05-24-2019, 07:12 AM   #205
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Release of the next version of the Ultraschall-API is next wednesday.


@lokasenna
Is it ok, if I add your functions into the API for general use?
__________________
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 05-24-2019, 07:58 AM   #206
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,019
Default

I believe I got the conversion ones from StackOverflow, so sure. :P

If you take the gradient one it'll need a bit of tweaking as it expects to see one of my GUI's color presets.
Lokasenna is offline   Reply With Quote
Old 05-27-2019, 08:59 AM   #207
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Ultraschall Framework - Changelog

4.00 Beta 2.75: - "Nick Cave &amp; 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.
__________________
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 05-27-2019, 09:00 AM   #208
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

  • 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.lu a - 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.l ua - 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)
__________________
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 05-27-2019, 09:01 AM   #209
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

  • 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 renderfilename[cur]with[/cur]path 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
__________________
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 05-28-2019, 02:08 AM   #210
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,868
Default

https://ultraschall.fm/api/ is goergeous.


This is where the ultrashall API index.xml should be !


Also, I asked for cfillion to included this repo in native reapack.
X-Raym is offline   Reply With Quote
Old 05-28-2019, 02:57 AM   #211
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,868
Default

GetUserInputs This break if more than 16 inputs, (native limitations)
expected behavior would be to be able to put as many as we want, and it would triger one GetUserInputs for each. If a single one is cancelled by yser, than all is cancelled. Else, it should a table of same length.


Also, I would love the possibility to enter table with KEYS rather than INDEX.

EDIT: these are FR, but I in fact found high priority bug. Reported on GitHub :P

Last edited by X-Raym; 05-28-2019 at 03:49 AM.
X-Raym is offline   Reply With Quote
Old 05-28-2019, 04:50 AM   #212
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Thanks, will have a look at the weekend for the bug.

The FR, I'll have a look into it for the next release, which I'll start in July. Need a break after coding this update, as it was quite exhausting...

An yes, the URL-idea is good. Will have a look at that, but we'll focus more on finishing the next Ultraschall-Extension release, before going into new features of the Ultraschall-API of any kind.
__________________
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 05-28-2019, 05:10 AM   #213
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,868
Default

ultrashallAPI is a very very big project, each time I check how a function is made it is very advanced. I can only imagine how much time/effot it requires. Well done and many thanks for that
X-Raym is offline   Reply With Quote
Old 05-28-2019, 12:51 PM   #214
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,868
Default

@mespotine
About User input commas... check last pre release :P


this will make things easier for both of us ^^
X-Raym is offline   Reply With Quote
Old 05-30-2019, 02:19 AM   #215
Ivannn Bennnettt
Human being with feelings
 
Join Date: Feb 2017
Posts: 263
Default

What a Great work!
Thanks a million!
Ivannn Bennnettt is offline   Reply With Quote
Old 06-01-2019, 01:07 PM   #216
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Quote:
Originally Posted by X-Raym View Post
@mespotine
About User input commas... check last pre release :P


this will make things easier for both of us ^^
That's cool

Will upload a fix tomorrow for my GetUserInputs
__________________
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 06-01-2019, 07:35 PM   #217
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 391
Default

Quote:
Originally Posted by Lokasenna View Post
If you're using my GUI, it has RGB <-> HSV conversion, as well as a function for gradients. https://github.com/jalovatt/Lokasenn...olor-functions
Does your code compensate for perceived brightness changes across the hue spectrum?

That's what this library addresses better than any other solution I found on the web...
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 06-03-2019, 06:14 AM   #218
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Hotfix 2 available:

- Helpers: GetUserInputs - 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), checks now, if user tries to pass more than 16 captions/default-values and returns with an error (reported by X-Raym)


Please update your ReaPacks.
__________________
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 06-03-2019, 06:41 AM   #219
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,019
Default

Quote:
Originally Posted by woodslanding View Post
Does your code compensate for perceived brightness changes across the hue spectrum?

That's what this library addresses better than any other solution I found on the web...
- No, IMO HSV isn't as useful. You can see the difference in how they treat the spectrum in the images here: https://en.wikipedia.org/wiki/HSL_an...asic_principle

- In retrospect I would rather have gone with HSL when I was adding that code, but at the time I thought it HSV/HSL/HSB were just different names for the same thing.

Adding a note to include HSL conversion in my GUI though, since I've got a bunch of color conversions already.
Lokasenna is offline   Reply With Quote
Old 06-08-2019, 02:07 AM   #220
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Note to myself:
Set name of a fx

https://forum.cockos.com/showthread.php?t=221733
__________________
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 06-08-2019, 09:48 PM   #221
woodslanding
Human being with feelings
 
woodslanding's Avatar
 
Join Date: Mar 2007
Location: Denver, CO
Posts: 391
Default

Quote:
Originally Posted by Lokasenna View Post
- No, IMO HSV isn't as useful. You can see the difference in how they treat the spectrum in the images here: https://en.wikipedia.org/wiki/HSL_an...asic_principle

- In retrospect I would rather have gone with HSL when I was adding that code, but at the time I thought it HSV/HSL/HSB were just different names for the same thing.

Adding a note to include HSL conversion in my GUI though, since I've got a bunch of color conversions already.
I like HSLuv specifically because of the intelligent way it deals with all the 'gray areas' in the set, where no color can be generated for a set of values (i.e., a bright, saturated blue...)
__________________
eric moon
Very Stable Genius
https://gogolab.com/
woodslanding is offline   Reply With Quote
Old 06-11-2019, 09:25 AM   #222
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 14,632
Default

so simple question: what IS the working link for adding the repository to Reapack?

the ones listed in various posts here do not work... return errors about it being not found...
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 06-12-2019, 08:54 AM   #223
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

This one should work:

https://github.com/Ultraschall/ultra..._api_index.xml

I've tested it successfully before release. If the problem persists, please post the errors from ReaPack here, so I know, where to look for.

Which Reaper version, which ReaPack version and OS are you using?
__________________
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 06-17-2019, 07:43 AM   #224
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

HotFix 5 available:

Changes:
- API: versionscheck - couldn't be used with pre/rc and dev-versions of Reaper -> fixed (reported by X-Raym)
- Helpers: GetUserInputs - didn't stop background-helper-script -> fixed

Please update your ReaPacks:

ReaPack-Indexfile: https://raw.githubusercontent.com/Ul..._api_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 06-18-2019, 02:54 PM   #225
Travesty
Human being with feelings
 
Travesty's Avatar
 
Join Date: Nov 2014
Posts: 461
Default

FR

Function to add Media Items to render queue
Travesty is offline   Reply With Quote
Old 06-20-2019, 02:24 AM   #226
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 183
Default

I finally have a bit of time to dig into the render mania update! Loving it Mespotine!

First off, i wanted to try to render all the regions within the time selection. I got this code:

Code:
dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")


loop_start, loop_end = reaper.GetSet_LoopTimeRange2(0,false,true,0,0,false)


number_of_all_regions, allregionsarray = ultraschall.GetAllRegionsBetween(loop_start, loop_end,true)


regions_in_time_selection_numbers = {}

for i=1, number_of_all_regions do
  table.insert(regions_in_time_selection_numbers,allregionsarray[i][3])
end


RenderTable = ultraschall.GetRenderTable_Project()

retval, folder_path = reaper.JS_Dialog_BrowseForFolder( "Select folder where to render your files", RenderTable["RenderFile"] )


for i=1, number_of_all_regions do
retval, _,_,filepath_names = ultraschall.RenderProject_Regions( nil,  folder_path..[[\]],  regions_in_time_selection_numbers[i],  true,  false, false, true, "ewav")
end
The script executes without errors but nothing happens. Any idea?

Last edited by reapero; 06-20-2019 at 02:32 AM.
reapero is offline   Reply With Quote
Old 06-20-2019, 06:14 AM   #227
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 183
Default

Ok, i had "ewav" on the last parameter instead of "evaw". I fixed this typo and now i get:

ultraschall_functions_engine.lua:60041: attempt to concatenate a nil value
reapero is offline   Reply With Quote
Old 06-21-2019, 12:32 PM   #228
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Shouldn't happen, so I'll need to fix that.

Gimme a few hours.
__________________
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 06-21-2019, 02:49 PM   #229
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Hotfix 6 now available, please update your ReaPacks:

- Helpers: GetPath - when filename has no path, it returns now "", filename
- Render: RenderProject_Regions - produced Lua-error, when passing a filename without extension and if region was <1, returns error-messages now in that case


@reapero

Should now prevent the Lua-error and return an error-message instead, which you can get using ultraschall.ShowLastErrorMessage().
__________________
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; 06-21-2019 at 03:02 PM.
mespotine is offline   Reply With Quote
Old 06-21-2019, 11:24 PM   #230
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 183
Default

Thanks! I'll report back in a few days.starting holidays now!

Cheers
reapero is offline   Reply With Quote
Old 06-28-2019, 07:26 AM   #231
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 183
Default

Hey mespotine!

Setting the first parameter projectfilename_with_path to 0 on the script above (after saving the project) throws an error:

error: File does not exist

errcode: -3
reapero is offline   Reply With Quote
Old 06-28-2019, 07:32 AM   #232
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

If you want to render the current project, you need to set it to nil, not to 0.

Otherwise, the function will think, you want to render a project called "0".
__________________
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 06-28-2019, 08:21 AM   #233
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 183
Default

Ah, damn!

When using nil, this is what i get:

param:renderfilename_with_path
error: Must be a string
errcode= -7

This is the variable folder_path in my script. I am trying to add just a folder there, as you explained in the API documentation: "Give a path only, when you want to use only the regionname as render-filename(set addregionname=true !) "

I printed this just before running the renderproject_regions and i see it is correct. I have something like "C:\Users\me.asd\Desktop"
reapero is offline   Reply With Quote
Old 06-28-2019, 08:24 AM   #234
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Ok, can you give me the current version of your code and an example-project-file that causes this issue, with which I can toy around?
__________________
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 06-28-2019, 08:34 AM   #235
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 183
Default

Code:
dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")


loop_start, loop_end = reaper.GetSet_LoopTimeRange2(0,false,true,0,0,false)


number_of_all_regions, allregionsarray = ultraschall.GetAllRegionsBetween(loop_start, loop_end,true)


regions_in_time_selection_numbers = {}

for i=1, number_of_all_regions do
  table.insert(regions_in_time_selection_numbers,allregionsarray[i][3])
end


RenderTable = ultraschall.GetRenderTable_Project()

_, folder_path = reaper.JS_Dialog_BrowseForFolder( "Select folder where to render your files", RenderTable["RenderFile"] )

reaper.ShowConsoleMsg(folder_path)


for i=1, number_of_all_regions do
  retval, _,_,filepath_names = ultraschall.RenderProject_Regions( nil,  folder_path,  regions_in_time_selection_numbers[i],  true,  false, false, true, "evaw")
end

ultraschall.ShowLastErrorMessage()
Thanks!
Attached Files
File Type: rpp test_reaper.rpp (6.9 KB, 9 views)
reapero is offline   Reply With Quote
Old 06-28-2019, 08:47 AM   #236
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Ok, I'll see, what I can do. Gimme a 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-01-2019, 08:31 AM   #237
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Will start tomorrow with work on beta 2.76. Anyone interested in a ReaPack-index-file for installing this in it's perelease-development-phase?
__________________
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-01-2019, 08:47 AM   #238
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 2,682
Default

If you add another <version> tag with letters inside the name attribute (eg. 1.2.3beta1), it won't trigger an update even if the version number is higher (unless that pre-release is explicitely selected in the browser, the currently installed version is also a pre-release or if the bleeding edge mode is enabled).
cfillion is offline   Reply With Quote
Old 07-01-2019, 09:33 AM   #239
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

There's a pre-release-thread now available for Ultraschall-API:
https://forum.cockos.com/showthread....07#post2153007

One focus will be Parameter-Learn/Modulation, so I will definately need testing-help for that from those of you, who want to program this in Reaper.


Quote:
Originally Posted by cfillion View Post
If you add another <version> tag with letters inside the name attribute (eg. 1.2.3beta1), it won't trigger an update even if the version number is higher (unless that pre-release is explicitely selected in the browser, the currently installed version is also a pre-release or if the bleeding edge mode is enabled).
I will look into it at some point. I think I've toyed around with it, but it somehow conflicted with my release-naming-scheme. But I don't remember anymore, in what 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-02-2019, 12:45 PM   #240
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 1,313
Default

Pre-release-phase has begun.
More in this thread: https://forum.cockos.com/showthread.php?t=222559
__________________
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 06:49 PM.


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