 |
|
|
07-06-2019, 08:11 AM
|
#241
|
Human being with feelings
Join Date: Aug 2011
Posts: 495
|
Works flawlessly now! Thanks a lot mespotine
|
|
|
07-11-2019, 12:30 PM
|
#242
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
You're welcome
|
|
|
07-12-2019, 08:56 AM
|
#243
|
Human being with feelings
Join Date: Aug 2011
Posts: 495
|
Hey mespotine,
I am trying to change the number of channels in the rendering options with your API and i have a few questions. I guess they are mostly related to "ProjectStateChunk". I have been reading a lot about this in other places but i still dont understand what it is (if you have documentation about it, let me know please).
So, the easiest way to do that seems to be SetProject_RenderFreqNChans. I have tried to do something with it and i got this
Code:
dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")
retval = ultraschall.SetProject_RenderFreqNChans(nil, 9, 1, 44100)
So, questions:
1.First parameter "projectfilename_with_path" i set it to nil with hopes that it would use the current project although the documentation says "nil to use Parameter ProjectStateChunk instead". Since i dont know what the ProjectStateChunk is, i am afraid i am pretty lost here.
2. Second paramter "unknown numer". The descriptions just says unknown number again so i have absolutely no clue what to add here. Added a random 9 there, just in case
To be completely clear about this, and in case there´s an easier way i am missing, i just want to set the rendering options to mono/stereo programatically on the project that is currently opened.
Thanks!
|
|
|
07-12-2019, 09:04 AM
|
#244
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
These functions are for projectfiles only, but you can work alternatively with RenderTables, who have all(!) render-related settings in them.
Introduction about RenderTables:
https://mespotin.uber.space/Ultrasch...t_RenderTables
You can get a RenderTable from the current Project with GetRenderTable_Project:
https://mespotin.uber.space/Ultrasch...rTable_Project
You can alter the the number of channels, by altering the entry:
RenderTable["Channels"]
And you can re-apply the altered RenderTable using ApplyRenderTable_Project: https://mespotin.uber.space/Ultrasch...rTable_Project
You can use the RenderTable directly with Renderfunctions as well. Just look for RenderTable in the RenderProject-functions to see, which would work for you.
Otherwise, if you just applied the altered RenderTable to the current project, you can just run the action
42230 - File: Render project, using the most recent render settings, auto-close render dialog
|
|
|
07-12-2019, 09:18 AM
|
#245
|
Human being with feelings
Join Date: Aug 2011
Posts: 495
|
Yeah, i know about the render tables. It just seemed easier to me to target just the channel number parameters than go and save/recall all of the render parameters.
But hey, if you say that´s the way, here i go!
|
|
|
07-12-2019, 09:21 AM
|
#246
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Yeah, they are easier, as some of the settings aren't easy to access using Reaper's own API.
Afaik the Offline/Online-render-dropdownlist is only settable using a hack I added to my functions.
So RenderTables are the "no need to hack around"-comfort-solution for rendering
|
|
|
07-12-2019, 09:27 AM
|
#247
|
Human being with feelings
Join Date: Aug 2011
Posts: 495
|
Nice to know!
Just out of curiosity, are RenderTables something you added to your API some time after the SetProject_RenderFreqNChans function then?
|
|
|
07-12-2019, 09:32 AM
|
#248
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Yes, as I found fiddling with tons of parameters too difficult and meh.
They are easier to get, easier to alter and easier to pass.
Took me a while to come up with that, as all other attempts, like 20+parameters were too difficult to use.
|
|
|
07-12-2019, 09:35 AM
|
#249
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Just saw, you can alter the channels using GetSetProjectInfo:
https://mespotin.uber.space/Ultrasch...SetProjectInfo
So if that's the only thing you want to alter, this should help you as well.
|
|
|
07-15-2019, 08:46 AM
|
#250
|
Human being with feelings
Join Date: Aug 2011
Posts: 495
|
Thanks man! I completely skipped GetSetProjectInfo
|
|
|
07-17-2019, 01:23 AM
|
#251
|
Human being with feelings
Join Date: Aug 2011
Posts: 495
|
After playing a bit exporting regions on my current opened project (all working perfectly!) i see it takes a while for the region to actually start rendering. Like, on an almost empty Reaper project with just one track and no audio, it takes 6 seconds for my script to actually display the rendering window. That happens on every region (6 secs before it renders) so if you are exporting a bunch of sound effects -doing sound design work here- you can easily spend some minutes waiting there.
Just wanted to ask if this was normal. If its something i can tweak here to imporve those times i´d be all for it.
I remember at some point you said you had to do some tricky stuff to make this work without having to create a copy of the project. Can you tell us whats going on under the hood in such a case?
Thanks!
|
|
|
07-17-2019, 07:56 AM
|
#252
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
I think(!) the problem lies in mostly setting the new render-settings, which takes a moment to do. There's nothing I can do about it.
Another thing is, that my current implementation of region-render restarts a completely new render for each region, so this might take a while too.
Maybe it's possible to improve on that, using region-rendering-matrix and such, but I need to look into that further, as I never really understood the region-render-matrix(at least back then).
There's probably potential for improvement, but it'll take some more time to make it work.
In the meantime, you can use RenderTables so set the render-settings and try to work around with the region-render-matrix. Don't know (yet) how to work them programmatically...but I think, there's a way.
|
|
|
07-17-2019, 08:26 AM
|
#253
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
New release! Please update your ReaPacks.
Ultraschall Framework - Changelog
4.00 Beta 2.76: - "The Police - Walking on the Moon" - 20th of July 2019
Has now 977 functions with 42 new ones!
New in this release:
- Parameter Learn
You can set/get/delete parameter-learning in Statechunks.
1) get a StateChunk
2) get its FXStateChunk using GetFXStateChunk
3) alter this FXStateChunk using the ParmLearn-functions
4) set this FXStateChunk using SetFXStateChunk
5) (re-)apply the final StateChunk to the Track/Item
- Localize
You can localize your scripts using an external localize-file.
If that exists, ultraschall.Localize will convert your string into it's localized one, otherwise it uses it's original text.
- DocEngine
long time on my list, functions for the DocEngine. With them, you can use my Reaper-internal-sourcefiles (.USDocML) and create your own conversions of them.
- get_action_context_MediaItemDiff
a function, which helps you to get the diff of an MediaItem since last time calling this function. Good for RippleDrag-features.
- AddSelectedItemsToRenderQueue
this adds MediaItems into the Render-Queued, either as single-queued or multiqueued-project-files(requested by Travesty)
- GetUserInputs
allows now setting the length of the captions-fields.
No more cutting off of longer captions!(requested by Julian Sader)
- More functions, more bugfixes, updated Reaper-docs, speedups
New features in 4.00beta2.76
- Actions: GetAllActions - gets all actions, actioncommandids and scriptnames of all actions in a specific section
- DocEngine: Docs_ConvertPlainTextToHTML - converts a plaintext into html
- DocEngine: Docs_GetAllUSDocBlocsFromString - gets all US_DocBlocs from a string
- DocEngine: Docs_GetUSDocBloc_ChapterContext - gets the chapters of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Description - gets the description of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Functioncall - gets a functioncall of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_NextChapter - gets the slug of the next chapter of the US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Params - gets the parameters of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_PreviousChapter - gets the slug of the previous chapter of the US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Requires - gets the requires-tag from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Retvals - gets the retvals of an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Slug - gets the slug from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_SourceDocument - gets the source-document-entry from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_TargetDocument - gets the target-document-entry from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Tags - gets the tags-entry from an US_DocBloc
- DocEngine: Docs_GetUSDocBloc_Title - gets the title from an US_DocBloc
- DocEngine: Docs_RemoveIndent - removes indentation from a text(usually taken from an US_DocBloc)
- Docs: Concepts: Localize_001_Introduction - Introduction to Localization
- Docs: Concepts: Localize_002_LangPack_Fileformat - How to write the translation-file
- Docs: Concepts: Localize_003_Localize_Functions - usage of Localization functions
- FXManagement: AutoDetectVSTPlugins - auto-searches for the vst-plugin-folder
- FXManagement: AddParmAlias_FXStateChunk - adds a parameter-alias-entry to an FXStateChunk
- FXManagement: AddParmLearn_FXStateChunk - adds a parameter-learn-entry to an FXStateChunk
- FXManagement: AddParmLFOLearn_FXStateChunk - adds a parameter-lfo-learn-entry to an FXStateChunk
- FXManagement: CountParmAlias_FXStateChunk - counts parameter-alias-entries in an FXStateChunk
- FXManagement: CountParmLearn_FXStateChunk - counts parameter-learn-entries in an FXStateChunk
- FXManagement: CountParmLFOLearn_FXStateChunk - counts parameter-lfo-learn-entries in an FXStateChunk
- FXManagement: DeleteParmAlias_FXStateChunk - deletes a parameter-alias-entry from a specific fx in an FXStateChunk
- FXManagement: DeleteParmLFOLearn_FXStateChunk - deletes a parameter-lfo-learn-entry from a specific fx in an FXStateChunk
- FXManagement: DeleteParmLearn_FXStateChunk - deletes a ParmLearn-entry from a specific fx in an FXStateChunk
- FXManagement: ScanDXPlugins - rescans all DX(DirectX)-plugins, optionally scans all or just the new ones
- FXManagement: ScanVSTPlugins - rescans all vst-plugins, optionally clears vst-plugin-cache first
- FXManagement: SetFXStateChunk - sets an FXStateChunk into a TrackStateChunk or MediaItemStateChunk
- FXManagement: SetParmAlias_FXStateChunk - sets a parameter-alias-entry from a specific fx in an FXStateChunk
- FXManagement: SetParmLearn_FXStateChunk - sets a parameter-learn-entry from a specific fx in an FXStateChunk
- FXManagement: SetParmLFOLearn_FXStateChunk - sets a parameter-lfo-learn-entry from a specific fx in an FXStateChunk
- GFX-Management: GFX_SetFont - sets a font to be used in a gfx-window; adjust Mac-fonts to match the size of Windows-fonts(unlike Reaper's own gfx.setfont)(code by lokasenna with contributions by Justin and Schwa)
- HelperFunctions: get_action_context_MediaItemDiff - gets the MediaItemDifference(position, start, end, length, offset) since last time calling this function. Good for ripple-drag-scripts.
- Localize: Localize - localizes a string, using the texts from a translationfile; can be used with or without ultraschall. at the beginning
- Localize: Localize_RefreshFile - reloads an already set translation-file, so translations can be updated at runtime
- Localize: Localize_UseFile - sets a translationfile, that shall be used by function ultraschall.Localize
- Localize: ultraschall_translation_file_format.USLangPack - has a description of the USLangPack-fileformat for usage with the Localize-functions(see in misc-folder)
- Misc: Developer_Reaper5965.ReaperLangPack - a language-pack, which displays the sections, in which the caption is located in a langpack
- ReaMote: AutoSearchReaMoteSlaves - autosearches for new ReaMote-slaves
- Render: AddSelectedItemsToRenderQueue - adds selected MediaItems to render-queue as either one render-queued-project or individual projects(requested by Travesty)
- Render: GetRenderingToFileHWND - gets the hwnd of the rendering-to-file-dialog, during rendering
- Tools: LangPack2Developer_langpack_converter.lua - converts a language-pack into a developer-langpack, which displays the sections, in which every caption is located in the langpack
- Tools: ultraschall_Add_Developertools_To_Reaper.lua - allows installing developertools into Reaper (requested by X-Raym)
- Tools: ultraschall_developertool_CheckForNewConfigVars.lu a - checks the individual lines of a string in clipboard for valid config-vars; thought I already had added that...
- Tools: ultraschall_Remove_Developertools_From_Reaper.lua - allows removing already installed developertools from Reaper
- Track Management: AnyTrackMute - returns, if any track is muted; optionally includes the master-track as well
Changes from Beta 2.75 to Beta 2.76
- API: versionscheck - had problems with pre/rc and dev-versions of Reaper -> fixed(reported by X-Raym)
- Docs: Concepts-RenderTable - layout was totally messed up due Markdown -> fixed
- Docs: FileType-Description - added missing info to ReaperConfigZip-Filetype-description
- Docs: Index - index in all docs was missing chapters -> fixed
- Docs: updated Reaper-docs to 5.980 and JS-extension 0.989
- Helpers: GetPath - when filename has no path, it returns now "", filename
- Helpers: GetUserInputs - allows now setting width of the captions-fields(requested by Julian Sader), allows now commas in captions and default-values as well; title is now the one defined by the title-parameter(used to have temporary title previously) (reported by X-Raym)
- Helpers: SplitStringAtLineFeedToArray - sped up by magnitudes, should now work much faster with megabyte-strings
- Markers: GetAllRegions - returned index in allregionsarray[index][3] wasn't 1-based, causing problems with other functions -> fixed
- Render: RenderProject_Regions - produced Lua-error, when passing a filename without extension and if region was <1, returns error-messages now in that case
allows now giving an optional separator between renderfilename_with_path and regionname when addregionname=true, including /
check docs for that new feature(reported by reapero)
- Scripts: HWND-Displayer.lua - reimplemented, much more comfortable now with a lot of more features.
- Tools - the following scripts renamed to:
ultraschall_developertool_ActionlistToIni-Converter.lua
ultraschall_developertool_Display-Altered-ConfigFile-Entries.lua
ultraschall_developertool_Display-Altered-Config-Vars.lua
ultraschall_developertool_Env_State_Diffs_Monitor. lua
ultraschall_developertool_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
|
|
|
07-23-2019, 09:00 AM
|
#254
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Hotfix 2 - 23rd of July 2019
Changes:
- Docs: Reaper 5.980-logo missing
- Helpers: GetUserInputs - did change the tables passed as default-retvals -> fixed now
Please update your ReaPacks.
|
|
|
08-01-2019, 10:51 AM
|
#255
|
Human being with feelings
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
|
Documentation of parameter_modulation_baseline_slider range in PARAMBASE
While working on a script, I've discovered some info that you might want to add to ParmLearnDocs.txt:
https://github.com/Ultraschall/ultra...mLearnDocs.txt
Currently the parameter_modulation_baseline_slider of PARAMBASE is documented as always being in the range [0, 1]:
Code:
PARAMBASE number parameter_modulation_baseline_slider
number parameter_modulation_baseline_slider - between 0.0000 and 1.0000; default is 0.2500
I've investigated this for VST, VST3, JS and AudioUnit on macOS. It holds true for VST and VST3, but AU and JS plugins instead have the range that is defined by the parameter itself. One consequence of this is that when using PARAMBASE with AU and JS parameters, I first have to call reaper.TrackFX_GetParamEx() in order to get minval and maxval so that I know the range of parameter_modulation_baseline_slider, and then I need to scale accordingly.
Thought I would mention this in case you want to add it to the documentation.
Thanks for maintaining this documentation, it has been immensely useful while working on a script that I have had the need for for several years, and now it is almost working.
|
|
|
08-01-2019, 03:02 PM
|
#256
|
Human being with feelings
Join Date: Jun 2009
Location: Earth
Posts: 1,340
|
I've been busy for a while, but finally got some free time to look over the new beta FX param related stuff.., and WOW!!! It's coming along pretty nicely, looking forward to the reset of the Set functions.
Reading through the docs, I thought I saw something about the possibility of being able to script a "multi-clipboard", if so maybe you could include an example/helper script?
Cheers
|
|
|
08-02-2019, 08:51 AM
|
#257
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
@lossius
Thanx, will look into it.
@Anton9
Can you point me to the part in my docs you've found? It's been a while, since I've done clipboard-stuff.
|
|
|
08-03-2019, 06:37 PM
|
#258
|
Human being with feelings
Join Date: Jun 2009
Location: Earth
Posts: 1,340
|
mespotine,
It looks like I may have read the line wrong.., it was from the Introduction and Concepts doc.
"Clipboard-Management - get items from clipboard, put them to clipboard, even multiple ones."
Reading it a second time I see it probably refers to multiple "items" into single clipboard using array function.
Cheers
|
|
|
08-05-2019, 09:04 AM
|
#259
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Hotfix 4 available - 4th of August 2019
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?)
Please update your ReaPacks.
@lossius
This update should fix your problem you had with FXStateChunks taken from projectfiles.
|
|
|
08-13-2019, 07:33 PM
|
#260
|
Human being with feelings
Join Date: Jun 2009
Location: Earth
Posts: 1,340
|
Quote:
Originally Posted by mespotine
[*] FXManagement: GetFXStateChunk - had layoutproblem, when the passed StateChunk was taken from a ProjectStateChunk -> fixed(thanks to Anton9?)
|
Just to be fair to whomever helped with this one.., I can't take credit for it.., at least I don't think so?
|
|
|
08-14-2019, 05:08 AM
|
#261
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Yes, I fixed that for the next pre-release already
|
|
|
08-22-2019, 09:51 AM
|
#262
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
4.00 Beta 2.761: - "Coldplay - Fix You" - 23rd of September 2019
Has now 985 functions with 8 new ones!
IMPORTANT!: This is a massive critical bugfix release. About 60 functions returned wrong returnvalues in case of an error.
If you use any of the functions listed in [cur]Changes from Beta 2.76 to Beta 2.761[/cur], you should check, if your scripts still work.
This is totally my fault, as I had some of them wrong to begin with.
My apologies for any inconvenience.... :/
New in this release:
- Critical Bugfixes
In case of errors, many functions returned wrong returnvalues or had faulty returnvalues stated in the docs. All of them are fixed now.
Please check, if your scripts use any of the functions listed in Changes for more details.
Hope this is the last time, stuff like that happened...
- GetProjectStateChunk
gets a full StateChunk of the current project(finally working!)
Now you can get all states of your project!
- MediaExplorer
Get the HWND(GetMediaExplorerHWND), update the listview(UpdateMediaExplorer) and run an action, associated with the MediaExplorer-section(MediaExplorer_OnCommand).
- ConvertYCoordsMac2Win
Y-coordinates on Mac are different from the ones in Windows/Linux, meaning, pixel 0 is at the bottom, while Windows/Linux start on top.
This function converts the y-coordinates between these two coordinate-systems.
- New version of Config-Vars-displayer-script
Shows changed with doubles without a problem now, is faster, uses the config-var-docs included with the API to get the currently accepted config-vars.
I also improved the layout a bit.
New features in 4.00beta2.761
- Helper functions: FindPatternsInString - finds all occurrences of a matching-pattern in a string
- Helper functions: IsWithinTimeRange - returns, if a time is within a start and endtime, takes care of the precision-problem time-positions in Lua have
- ProjectManagement: GetProjectStateChunk - returns the ProjectStateChunk of the current project(finally working!)
- Scripts: ultraschall_developertool_Display-Altered-Config-Vars.lua - new version, which solves the faulty-displaying-of-double-issue, faster and improved layout. Uses now ConfigVars-Docfile to read the currently supported ConfigVars.
- Trackmanagement: IsSplitAtPosition - returns, if a split/mediaitemend/mediaitemstart exists at a certain position, within certain tracks
- User Interface: ConvertYCoordsMac2Win - converts y-coordinates between Windows/Linux and Mac related coordinatesystems
- User Interface: GetMediaExplorerHWND - gets the HWND-windowhandler of the Media Explorer
- User Interface: UpdateMediaExplorer - updates the listview of the Media Explorer
- User Interface: MediaExplorer_OnCommand - runs an Media Explorer action(just like Reaper's Main_OnCommand and Midi_OnCommand-functions); runs no scripts yet, only native/extension actions
Read next post for potentially problematic functions:
|
|
|
08-22-2019, 09:52 AM
|
#263
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
This lists all functions, who could break you script!
Changes from Beta 2.76 to Beta 2.761 - Automation Items: GetProject_CountAutomationItems - didn't return the right retval in case of an error -> fixed
- ColorManagement: RGB2Grayscale - didn't return the right retval in case of an error -> fixed
- Configuration Files: CountIniFileExternalState_sec - did count keys instead of sections -> fixed(thanks to rstockm)
- Configuration Files: CountUSExternalState_sec - did count keys instead of sections -> fixed(thanks to rstockm)
- Configuration Files: CountUSExternalState_key - didn't return the right retval in case of an error -> fixed
- Configuration Files: DeleteKBIniActions - didn't return the right retval in case of an error -> fixed
- Configuration Files: DeleteKBIniScripts - didn't return the right retval in case of an error -> fixed
- Configuration Files: DeleteKBIniKeys - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateIniFileExternalState_sec - did enumerate keys instead of sections -> fixed(thanks to rstockm)
- Configuration Files: EnumerateKeysByPattern - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateSectionsByPattern - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateUSExternalState_sec - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateUSExternalState_key - didn't return the right retval in case of an error -> fixed
- Configuration Files: EnumerateValuesByPattern - didn't return the right retval in case of an error -> fixed
- Configuration Files: SetIniFileExternalState - didn't return the right retval in case of an error -> fixed
- Docs: Api-docs - went through all of them and removed MarkDown-issues, though I should do something on this MarkDown-issue. It's a drag...
- Docs: Doc-Engine - had wrong parameters and retvals in numerous functions...fixed(ooops)
- Docs: Doc-Engine: Docs_ConvertPlainTextToHTML - was missing html-codes in the description due me encoding it wrong
- Docs: GetRenderingToFileHWND - had parameters described, that don't exist -> fixed
- Docs: Reaper Internals - updated to Reaper 5.982, JSextension 0.990 added configvars from developer-releases
- Docs: Reaper: GetTrackSendInfo_Value - fixed Markdown-formatting-problems
- Docs: Reaper: print-functions - all print-functions, like sprint, fprint, gfx.printf, etc include now formatting information in the description.
- Docs: Reaper: SetTrackSendInfo_Value - fixed Markdown-formatting-problems
- EnvelopeManagement: SetArmState_Envelope - didn't return the right retval in case of an error -> fixed
- FileManagement: CountLinesInFile - didn't return the right retval in case of an error -> fixed
- FileManagement: GetLengthOfFile - didn't return the right retval in case of an error -> fixed
- FileManagement: MakeCopyOfFile_Binary - didn't return the right retval in case of an error -> fixed
- FileManagement: ReadValueFromFile - didn't return the right retval in case of an error -> fixed
- FileManagement: ReadBinaryFileUntilPattern - didn't return the right retval in case of an error -> fixed
- FileManagement: ReadBinaryFileFromPattern - didn't return the right retval in case of an error -> fixed
- FXManagement: AddParmLFOLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a LFOLEARN entry to become PARMLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: AddParmLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a PARMLEARN entry to become LFOLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: AddParmAlias_FXStateChunk - enhanced doc-description
- FXManagement: CountParmAlias_FXStateChunk - returns now -1 in case of an errorenhanced doc-description
- FXManagement: CountParmLearn_FXStateChunk - returns now -1 in case of an error; enhanced doc-description
- FXManagement: CountParmLFOLearn_FXStateChunk - returns now -1 in case of an error; enhanced doc-description
- FXManagement: DeleteParmAlias_FXStateChunk - enhanced doc-description
- FXManagement: DeleteParmLFOLearn_FXStateChunk - enhanced doc-description
- FXManagement: GetParmModulationChunk_FXStateChunk - enhanced doc-description
- FXManagement: GetParmLFOLearn_MediaTrack - enhanced doc-description
- FXManagement: GetFXStateChunk - had layoutproblem, when the passed StateChunk was taken from a ProjectStateChunk -> fixed(thanks to lossius)
- FXManagement: SetFXStateChunk - didn't return the right retval in case of an error -> fixed
- FXManagement: SetParmLFOLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a LFOLEARN entry to become PARMLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: SetParmLearn_FXStateChunk - enhanced doc-description; fixed bug that could cause a PARMLEARN entry to become LFOLEARN(thanks to Justin and Schwa for helping me with that)
- FXManagement: SetParmAlias_FXStateChunk - enhanced doc-description
- Helper Functions: CompareStringWithAsciiValues - returned -1 in case of an error, although boolean should be returned -> fixed
- Helper Functions: ConvertIntegerIntoString2 - didn't return the right retval in case of an error -> fixed
- Helper Functions: GetScriptFilenameFromActionCommandID - didn't return the right retval in case of an error -> fixed
- Helper Functions: GetUserInputs - did change the tables passed as default-retvals -> fixed now
- Helper Functions: IsItemInTrack - changed error-retval to nil; didn't return the right retval in case of an error -> fixed
- Helper Functions: LoadFunctionFromExtState - didn't return the right retval in case of an error -> fixed
- Helper Functions: SetIntConfigVar_Bitfield - didn't return the right retval in case of an error -> fixed
- Helper Functions: ToggleStateAction - wrongly stated to return boolean instead of integer in the docs -> fixed
- Helper Functions: ToggleStateButton - wrong retval-description in the docs -> fixed
- Marker Management: DeleteNormalMarker - returned wrong retval in case of an error -> fixed
- Marker Management: DeleteEditMarker - returned wrong retval in case of an error -> fixed
- Marker Management: EnumerateEditRegion - returned wrong retval in case of an error -> fixed
- Marker Management: SetMarkerByIndex - returned wrong retval in case of an error -> fixed
- MediaItem Management: GetItemSpectralConfig - didn't return the right retval in case of an error -> fixed
- MediaItem Management: GetItemSpectralVisibilityState - didn't return the right retval in case of an error -> fixed
- MediaItem Management: GetMediaItemTake - didn't return the right retval in case of an error -> fixed
- MediaItem Management: RippleInsert_MediaItemStateChunks - had inner variable exposed
- MediaItem Management: SetItemLength - didn't return the right retval in case of an error -> fixed
- MediaItem Management: SetItemPosition - didn't return the right retval in case of an error -> fixed
- MediaItem Management: SetItemUSTrackNumber_StateChunk - didn't return in some errorcases, potentially resulting in a Lua-error -> fixed
- MediaItem Management: SplitMediaItems_Position - didn't return the right retval in case of an error -> fixed
- Project Management: GetProject_GetRegion - returned wrong retval in case of an error -> fixed
- Project Management: GetProject_CountMasterHWOuts - returned wrong retval in case of an error -> fixed
- Project Management: GetProject_MasterGroupFlagsState - returned wrong retval in case of an error -> fixed
- Project Management: GetProject_MasterGroupFlagsHighState - returned wrong retval in case of an error -> fixed
- Rendering: ApplyRenderTable_Project - stated nil as retval in case of an error, though it is false -> fixed
- Rendering: ApplyRenderTable_ProjectFile - stated nil as retval in case of an error, though it is false -> fixed
- Rendering: GetRenderPreset_RenderTable - stated false as retval in case of an error, though it is nil -> fixed
- Track Management: RemoveMediaItem_TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- Track Management: RemoveMediaItemByIGUID_TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- Track Management: RemoveMediaItemByGUID_TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- Track Management: SetMediaItemStateChunk[cur]in[/cur]TrackStateChunk - docs incorrectly stated nil as retval in case of an error -> fixed
- User Interface: GetVideoHWND - returned wrong retval in case of an error -> fixed
- Video: VID_Pixels2VideoUIStateCoords - returned wrong retval in case of an error -> fixed
- Video: VID_VideoUIStateCoords2Pixels - returned wrong retval in case of an error -> fixed
|
|
|
08-26-2019, 10:35 AM
|
#264
|
Human being with feelings
Join Date: Jan 2013
Posts: 1,076
|
Hey Mespotine, I'm planning to use your "Check for changed Project Tabs" functions to know if I have to resave my RPL file upon closing Reaper.
But it seems like there are 2 cases that are not covered:
1- If we save the current project under another name
2- If we open another project over the current one.
Both of those cases don't change the project count thus it seems like the function does not flag that change. Am I not using it right?
Last edited by lexaproductions; 08-26-2019 at 11:26 AM.
|
|
|
08-26-2019, 03:07 PM
|
#265
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
As far as I remember, the function only covers changes in the order of the projecttabs.
I could try to add checking changed projectnames as well, if that would help, as they aren't checked for right now.
|
|
|
08-26-2019, 03:52 PM
|
#266
|
Human being with feelings
Join Date: Jan 2013
Posts: 1,076
|
That would be great!!!
|
|
|
08-26-2019, 04:03 PM
|
#267
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
I'll put it on my list and hope, it works the way I have it on my mind right now
|
|
|
08-30-2019, 08:54 AM
|
#268
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Quote:
Originally Posted by lexaproductions
Hey Mespotine, I'm planning to use your "Check for changed Project Tabs" functions to know if I have to resave my RPL file upon closing Reaper.
But it seems like there are 2 cases that are not covered:
1- If we save the current project under another name
2- If we open another project over the current one.
Both of those cases don't change the project count thus it seems like the function does not flag that change. Am I not using it right?
|
Will be in the next version. Only thing not covered, if you reload the a project, means, you load the same project-file again. I'm not sure, whether I could catch that and I guess it will not be covered by GetProjectStateChangeCount...
Would this edgecase be important as well to have?
|
|
|
09-01-2019, 09:21 AM
|
#269
|
Human being with feelings
Join Date: Jun 2009
Location: Earth
Posts: 1,340
|
mespotine,
I noticed that there is GetParmModulationChunk_FXStateChunk() but no
SetParmModulationChunk_FXStateChunk()? Will this be added in an upcoming version?
|
|
|
09-01-2019, 01:17 PM
|
#270
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Yeah,stll missing.
I still have problems making this easy to use and handle without creating a maintenance nightmare for me.
But it's definately planned. Hope it makes it next version...
|
|
|
09-02-2019, 08:46 PM
|
#271
|
Human being with feelings
Join Date: Jan 2013
Posts: 1,076
|
Quote:
Originally Posted by mespotine
Will be in the next version. Only thing not covered, if you reload the a project, means, you load the same project-file again. I'm not sure, whether I could catch that and I guess it will not be covered by GetProjectStateChangeCount...
Would this edgecase be important as well to have?
|
No I can live without that.
You rule man!!!
Let me know when the build is up and running
|
|
|
09-06-2019, 03:18 AM
|
#272
|
Human being with feelings
Join Date: Apr 2014
Posts: 93
|
Hi,
Thanks for the great work!
Noticed a bug in:
ultraschall.SplitStringAtLineFeedToArray(Markers)
We don't get the last line in the array
I've put the test code below, i've used another method to split the strings and it output three elements in the array instead of two for the marker array.
Code:
Markers = ultraschall.GetRegionByScreenCoordinates(reaper.GetMousePosition(), false)
--split the markers string to get the right region index
Count, split_string = ultraschall.SplitStringAtLineFeedToArray(Markers)
--code used to split
lines = {}
for s in Markers:gmatch("[^\r\n]+") do
table.insert(lines, s)
end
Last edited by aurelien; 09-10-2019 at 12:46 AM.
|
|
|
09-08-2019, 06:45 AM
|
#273
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Thanks, will have a look at it
|
|
|
09-09-2019, 09:24 AM
|
#274
|
Human being with feelings
Join Date: Apr 2014
Posts: 93
|
Did some more work with ultrashall today.
Some bugs in RenderProjectRegions_RenderCFG, code below :
Code:
retval, renderfilecount, MediaItemStateChunkArray, Filearray = ultraschall.RenderProjectRegions_RenderCFG(nil,regionName, selectedRegion, false, true, true, false, render_cfg_string)
reaper.ShowConsoleMsg(MediaItemStateChunkArray[1])
-> Filearray + MediaItemStateChunkArray are nil
I did some debug in the ultraschall_functions_engine : if i put this line
Code:
reaper.ShowConsoleMsg(MediaItemStateChunkArray[1]) in the RenderTable function, i get the right value.
-> filenameincrease is not working.
To avoid spamming, is there a website to send bugs we find?
Last edited by aurelien; 09-10-2019 at 12:46 AM.
|
|
|
09-09-2019, 09:29 AM
|
#275
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
Yes, but this thread is best for me, so I have one place to look for them.
But it would be helpful, if you could add [code]-tags around your code, so it's easier for me to read.
I have a look at the bug.
Oh, and can you post the code, that fills the parameter-variables as well? So I can check, what you tried to pass to the function and see that live.
|
|
|
09-10-2019, 10:45 AM
|
#276
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
@aurelien
Could you add the line
ultraschall.ShowLastErrorMessage()
after the renderprojectregion-function and see, whether it displays an errormessage?
And do you use the most recent version of the US-Api? I renamed the renderregions-function by taking away the _RenderCFG-part. The old name is still there but deprecated.
If you don't know, use ultraschall.GetApiVersion() to get the installed version. The most recent is 4.00beta2.761
The other bug is fixed for the next release
|
|
|
09-12-2019, 01:34 AM
|
#277
|
Human being with feelings
Join Date: Apr 2014
Posts: 93
|
Thanks mespotine, i'll get back to you today.
It's just a stupid question : how do you debug those lua script? Did not found any interesting tutorial for debug.
It feels just like 95' debugging with message box and no breakpoint
|
|
|
09-12-2019, 08:41 AM
|
#278
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
With Ultraschall-API-related errors, you can check out the chapters about the error-messaging system:
https://mespotin.uber.space/Ultrasch...1_Introduction
Maybe you can do something like breakpoints with them. If not and you have an idea, what you would have as a helper function, drop me the idea and I see what I can do.
I mostly use ultraschall.ShowLastErrorMessage() to see, what error I did.
I may include a linenumber into the error-message at some point but this needs more research on my side, so for now, there's still some kind of guessing needed.
Another trick: code some lines, check if they work as expected, code the next lines, etc, etc.
This speeds up debuggin by magnitudes, as you don't need to debug hundreds of lines.
|
|
|
09-12-2019, 08:43 AM
|
#279
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,484
|
From the Ultraschall-API-lab:
Save Project As.
Still has some issues but I'm on my way
|
|
|
09-13-2019, 01:16 AM
|
#280
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,551
|
Hi ! I see there is some Spectral edit API, nice !
string MediaItemStateChunk = ultraschall.SetItemSpectralEdit(integer itemidx, integer spectralidx, number start_pos, number end_pos, number gain, number fade, number freq_fade, number freq_range_bottom, number freq_range_top, integer h, integer byp_solo, number gate_thres, number gate_floor, number comp_thresh, number comp_exp_ratio, number n, number o, number fade2, number freq_fade2, optional string MediaItemStateChunk)
Could we have item pointer to choose item target ?
It seems that it is only spectral edit functions which use this unsual Itemidx method (so I suppose we should use media item state instead ? I dont see any function to get item idx, and it it requires looping in all items, it does sseems that efficient in a loop)
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 11:34 PM.
|