 |
|
|
04-11-2023, 11:32 AM
|
#841
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Quote:
Originally Posted by JackOrez
I use to check that page for the latest, but I had given up because it was also not the current version. Looks like it is now, so thank you very much. 
|
Yeah, I messed something up. But now it works 🙂
|
|
|
05-28-2023, 02:26 PM
|
#842
|
Human being with feelings
Join Date: Apr 2023
Posts: 21
|
Quote:
Originally Posted by Meo-Ada Mespotine
Yeah, I messed something up. But now it works 🙂
|
Hi Meo-Ada Mespotine, I installed your Ultraschall repo. There are a lot of very useful scripts in there, thank you.
In your online documentation, you show the following:
get_action_context
Lua: boolean is_new_value, string filename_with_path, integer sectionID, integer cmdID, integer mode, integer resolution, integer val, string contextstr = reaper.get_action_context()
I get "9: bad argument #1 to 'ShowConsoleMsg' (string expected, got nil)" when trying to view the contents contextstr, which is supposed to show the shortcut that ran the action. What am I doing wrong? I know this is a reaper function and when I look at their description, it doesn't list contextstr as a return item where yours does. I'm really hoping I am able to capture the shortcut as I have several shortcuts bound to the script and I would like to be able to do some conditional execution based on which shortcut was used. If I am not able to get that via reaper.get_action_context() is there another function I can use to accomplish this? Any help would be greatly appreciated.
|
|
|
05-28-2023, 04:48 PM
|
#843
|
Human being with feelings
Join Date: Apr 2023
Posts: 21
|
Quote:
Originally Posted by Kickaxe
Hi Meo-Ada Mespotine, I installed your Ultraschall repo. There are a lot of very useful scripts in there, thank you.
In your online documentation, you show the following:
get_action_context
Lua: boolean is_new_value, string filename_with_path, integer sectionID, integer cmdID, integer mode, integer resolution, integer val, string contextstr = reaper.get_action_context()
I get "9: bad argument #1 to 'ShowConsoleMsg' (string expected, got nil)" when trying to view the contents contextstr, which is supposed to show the shortcut that ran the action. What am I doing wrong? I know this is a reaper function and when I look at their description, it doesn't list contextstr as a return item where yours does. I'm really hoping I am able to capture the shortcut as I have several shortcuts bound to the script and I would like to be able to do some conditional execution based on which shortcut was used. If I am not able to get that via reaper.get_action_context() is there another function I can use to accomplish this? Any help would be greatly appreciated.
|
My bad, I see that this return value requires Reaper 6.71 and above. I was still on 6.70. I've updated Reaper and it's all good now. Regards.
|
|
|
05-29-2023, 04:11 AM
|
#844
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Quote:
Originally Posted by Kickaxe
My bad, I see that this return value requires Reaper 6.71 and above. I was still on 6.70. I've updated Reaper and it's all good now. Regards.
|
Yeah. That's why I add a small icon with versionnumber to each function in the docs, so you can see, which Reaper version is required for the newest set of features in that function.
|
|
|
06-29-2023, 03:18 PM
|
#845
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
4.9 - "Depeche Mode - Everything Counts" - 30th of June 2023
Has now 1663 functions, with 13 new ones and two fewer ones(!)
new in this release:
- ReaSpaghetti
Features bugfixes and additions that will make Ultraschall API compatible with Sexan's ReaSpaghetti coding-tool in the future.
Keep checking for ReaSpaghetti-updates for more details.
- Razor Edit
You can now set and resize RazorEdits. The resizing is possible by setting a new length or resizing by a factor, like 0.5 for half or 2 for double the size.
New features in 4.9
- Docs: links and code-examples - added links to related functions as well as some first code-examples; can now add more very easily
- DocEngine: Docs_GetAllUSDocBlocsFromFile - loads all USDocBlocs from a file
- DocEngine: Docs_GetReaperApiFunction_Categories - returns the index-categories of a Reaper-function(including extensions)
- DocEngine: Docs_GetUSDocBloc_Examples - retrieves the code-example-attributes stored in a USDocBloc
- DocEngine: Docs_GetUltraschallApiFunction_Categories - returns the index-categories of an Ultraschall-function
- Envelopes: DeleteTrackEnvelopePointsBetween - removes all envelope-points between start and endposition
- RazorEdit: RazorEdit_GetBetween_Envelope - get all razor-edits of an envelope between start and endposition one or all razor-edits in a track
- RazorEdit: RazorEdit_GetBetween_Track - get all razor-edits of a track between start and endposition
- RazorEdit: RazorEdit_Resize_Envelope - resizes one or all razor-edits in an envelope
- RazorEdit: RazorEdit_ResizeByFactor_Envelope - resizes one or all razor-edits in an envelope by a factor(requested by Daniel Lumertz)
- RazorEdit: RazorEdit_Resize_Track - resizes one or all razor-edits in a track
- RazorEdit: RazorEdit_ResizeByFactor_Track - resizes one or all razor-edits in a track by a factor(requested by Daniel Lumertz)
- RazorEdit: RazorEdit_Set_Envelope - sets start/endposition of a razor-edit in an envelope
- RazorEdit: RazorEdit_Set_Track - sets start/endposition of a razor-edit in a track
Changes from 4.8 to 4.9 - Helper Functions: SFEM - crashed, when the occurred error happened not within a function -> fixed now
- DocEngine: Docs_GetAllUSDocBlocsFromString - returned nil in case of an error which was wrong; returns -1 now -> fixed now
- Docs: Reaper Internals - updated to Reaper 6.80
- Envelopes: MoveTrackEnvelopePointsBy - didn't properly move and cut envelope-points -> fixed
- MediaItems: RippleCut - didn't properly move and cut envelope-points; cut env-points in all tracks, not just the ones from trackstring -> fixed
- MediaItems: RippleCut_Reverse - didn't properly move and cut envelope-points; cut env-points in all tracks, not just the ones from trackstring -> fixed
- MediaItem_Takes: GetProjectPosByTakeSourcePos - removed from release, due a Reaper bug that might remove take-markers; will return when bug is fixed
- MediaItem_Takes: GetTakeSourcePosByProjectPos - removed from release, due a Reaper bug that might remove take-markers; will return when bug is fixed
- PodcastMetadata: GetPodcastContributorAttributesAsJSON - fix due fix in GetSetContributor_Attributes
- PodcastMetadata: GetSetContributor_Attributes - had wrong undocumented parameter in the function which is removed now; added "ctrb_role"
- PodcastMetadata: GetSetPodcastEpisode_Attributes - removed "epsd_tagline" and "epsd_author"
- PodcastMetadata: GetSetPodcast_Attributes - added "podc_tagline" and "podc_feed"
- PodcastMetadata: GetShownoteAttributesAsJSON - timestamp is now in hh:mm:ss:mss
- PodcastMetadata: PodcastMetadata_CreateJSON_Entry - did only do the first chapter, ignoring the rest; improved layout of JSON -> fixed
- RazorEdit: RazorEdit_Nudge_Track - index didn't count properly, when envelopes had razor-edits -> fixed now
Please update it via ReaPack using: https://github.com/Ultraschall/ultra..._api_index.xml
|
|
|
09-28-2023, 03:44 PM
|
#846
|
Human being with feelings
Join Date: Jul 2022
Location: Japan
Posts: 560
|
Hi Mespotine, thanks for the great work!
I worked on a script which utilizes Ultraschall's Parameter Modulation API.
What I don't get is PARMLINK_LINKEDPARMIDX. When linking (self) fx parameter or MIDI, MonitorParmModTable says it's nil, but nil does not work. -1 is the correct value in those situation instead. Why does this mismatch happen?
Our table is like this. Thanks!
Code:
function Link_Param_to_CC(TrackNumToBeMod, FX_Slt_Indx_ToBeMod, PARAM_Num, parmlink, MIDIPLINK, Linked_Plugin, Linked_Self, Linked_Parm, Category,
CC_or_Note_Num,
Baseline_V, Scale)
--NOTE : ALL Numbers here are NOT zero-based, things start from 1 , hence the +1 in function
--('TrackNumToBeMod'..TrackNumToBeMod.. '\n FX_Slt_Indx_ToBeMod'..FX_Slt_Indx_ToBeMod..'\n PARAM_Num'..PARAM_Num..'\n'..'CC_or_Note_Num'..CC_or_Note_Num..'\n')
ParmModTable = ultraschall.CreateDefaultParmModTable()
ParmModTable["PARMLINK"] = parmlink
ParmModTable["MIDIPLINK"] = MIDIPLINK
ParmModTable["PARAM_TYPE"] = ""
ParmModTable["WINDOW_ALTERED"] = false
ParmModTable["PARMLINK_LINKEDPLUGIN"] = Linked_Plugin + 1 -- -100 for MIDI-parameter-settings, so you need to set -101
ParmModTable["PARMLINK_LINKEDPLUGIN_RELATIVE"] = Linked_Self -- for (self) FX link
ParmModTable["MIDIPLINK_BUS"] = 16
ParmModTable["MIDIPLINK_CHANNEL"] = 16
ParmModTable["MIDIPLINK_MIDICATEGORY"] = Category -- 176 is CC
ParmModTable["MIDIPLINK_MIDINOTE"] = CC_or_Note_Num
ParmModTable["PARAM_NR"] = PARAM_Num + 1 --Param Number to be modulated
ParmModTable["PARAMOD_ENABLE_PARAMETER_MODULATION"] = true
if Linked_Parm == -1 then ParmModTable["PARMLINK_LINKEDPARMIDX"] = Linked_Parm else ParmModTable["PARMLINK_LINKEDPARMIDX"] = Linked_Parm + 1 end -- Use -1 instead of nil, or it doesn't work
if Baseline_V then ParmModTable["PARAMOD_BASELINE"] = Baseline_V end
if Scale then ParmModTable["PARMLINK_SCALE"] = Scale end
whetherValid = ultraschall.IsValidParmModTable(ParmModTable)
retval, TrackStateChunk = ultraschall.GetTrackStateChunk_Tracknumber(TrackNumToBeMod)
FXStateChunk = ultraschall.GetFXStateChunk(TrackStateChunk)
alteredFXStateChunk = ultraschall.AddParmMod_ParmModTable(FXStateChunk, FX_Slt_Indx_ToBeMod + 1, ParmModTable)
retval, TrackStateChunk = ultraschall.SetFXStateChunk(TrackStateChunk, alteredFXStateChunk)
retval = ultraschall.SetTrackStateChunk_Tracknumber(TrackNumToBeMod, TrackStateChunk)
tab = ultraschall.GetParmModTable_FXStateChunk(FXStateChunk, FX_Slt_Indx_ToBeMod + 1, PARAM_Num + 1)
end
|
|
|
09-29-2023, 03:19 PM
|
#847
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Is it only the monitor showing a wrong value and the actual code works?
Edit:
according to my docs, -1 means no parameter linked. It shouldn't work that way.
The rest: it seems like the devs changed something in Parameter Modulation, so the nil is a bug.
Tbh, since Reaper's own api supports Parameter Modulation now, I strongly recommend to use that instead, since it's faster and more reliable.
I'll probably deprecate parameter modulation in Ultraschall-Api quite soon, since it always was done in a very hacky way.
Last edited by Meo-Ada Mespotine; 09-29-2023 at 03:51 PM.
|
|
|
10-02-2023, 01:40 AM
|
#848
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
New hotfix available:
Changes:
- Clipboard Management: PutMediaItemsToClipboard\_MediaItemArray - had edgecase, where it added one item too many -> fixed
- DocEngine: Docs\_GetReaperApiFunction\_Params - didn't correctly resolve datatypes when param was optional
- DocEngine: Docs\_GetReaperApiFunction\_Retvals - didn't correctly resolve datatypes when param was optional
- DocEngine: Docs\_GetUltraschallApiFunction\_Params - didn't correctly resolve datatypes when param was optional; had inner variable exposed -> fixed
- DocEngine: Docs\_GetUltraschallApiFunction\_Retvals - didn't correctly resolve datatypes when param was optional
- MediaItem Management: RippleCut - didn't close the gap under certain cirumstances -> fixed now
- MediaItem Management: RippleCut\_Reverse - didn't close the gap under certain cirumstances -> fixed now
- RenderManagement: GetRenderTable\_ProjectFile - didn't return a valid Rendertable, when normalize-settings weren't in the project-file
Please update your ReaPacks
|
|
|
10-02-2023, 03:36 PM
|
#849
|
Human being with feelings
Join Date: Jul 2022
Location: Japan
Posts: 560
|
Quote:
Originally Posted by Meo-Ada Mespotine
Is it only the monitor showing a wrong value and the actual code works?
Edit:
according to my docs, -1 means no parameter linked. It shouldn't work that way.
The rest: it seems like the devs changed something in Parameter Modulation, so the nil is a bug.
Tbh, since Reaper's own api supports Parameter Modulation now, I strongly recommend to use that instead, since it's faster and more reliable.
I'll probably deprecate parameter modulation in Ultraschall-Api quite soon, since it always was done in a very hacky way.
|
Yes, the code works. I figured now why LFO and ACS also did not work. It seems that a couple of things changed on the native API.
Anyway, I replaced Ultraschall modulation API with reaper.TrackFX_GetNamedConfigParm and reaper.TrackFX_SetNamedConfigParm. Thanks for your advice and detailed documentation
|
|
|
10-05-2023, 02:51 PM
|
#850
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
optional integer OfflineOnlineRendering
HI!
so, I'm experimenting with CreateNewRenderTable and applying the table via
ApplyRenderTable_Project
I noticed that the only parameter that can't change while the render dialog is open is OfflineOnlineRendering
Everything else seems to change in real time
is that correct?
|
|
|
10-05-2023, 02:54 PM
|
#851
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Oh, need to check this. It should change it.
Which Reaper version did you use to test it (I need the exact version to replicate the problem)?
|
|
|
10-05-2023, 02:56 PM
|
#852
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
Quote:
Originally Posted by Meo-Ada Mespotine
Oh, need to check this. It should change it.
Which Reaper version did you use to test it (I need the exact version to replicate the problem)?
|
6.82
|
|
|
10-05-2023, 02:58 PM
|
#853
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Ok, will have a look tomorrow and fix it, if I find out what's going on.
Can you give me a minimal code-snippet that shows the behavior? Just in case...
|
|
|
10-05-2023, 10:58 PM
|
#854
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
Code:
function setNEWrendersettings()
newrendertable = ultraschall.CreateNewRenderTable(
32, -- integer Source,
4, -- integer Bounds,
0, -- number Startposition
0, -- number Endposition
0, -- integer TailFlag
0, -- integer TailMS
"bounced files", -- string RenderFile
"$Item", -- string RenderPattern
44100, -- integer SampleRate
2, -- integer Channels
0, -- integer OfflineOnlineRendering
true, -- boolean ProjectSampleRateFXProcessing
10, -- integer RenderResample
true, -- boolean OnlyMonoMedia
false, -- boolean MultiChannelFiles
0, -- integer Dither
"ZXZhdxgAAA==", -- string RenderString
false, -- boolean SilentlyIncrementFilename
false, -- boolean AddToProj
false, -- boolean SaveCopyOfProject
false, -- boolean RenderQueueDelay
0, -- integer RenderQueueDelaySeconds
true, -- boolean CloseAfterRender
false, -- boolean EmbedStretchMarkers
"", -- string RenderString2
false, -- boolean EmbedTakeMarkers
false, -- boolean DoNotSilentRender
false, -- boolean EmbedMetadata
false, -- boolean Enable2ndPassRender
false, -- boolean Normalize_Enabled
0, -- integer Normalize_Method
false, -- boolean Normalize_Stems_to_Master_Target
0, -- number Normalize_Target
false, -- boolean Brickwall_Limiter_Enabled
1, -- integer Brickwall_Limiter_Method
0, -- number Brickwall_Limiter_Target
false, -- boolean Normalize_Method
false, -- boolean FadeIn_Enable
0, -- number FadeIn
0, -- integer FadeIn_Shape
false, -- boolean FadeOut_Enabled
0, -- number FadeOut
0, -- integer FadeOut_Shape
false, -- boolean OnlyChannelsSentToParent
false) -- boolean RenderStems_Prefader
ultraschall.ApplyRenderTable_Project(newrendertable)
end
setNEWrendersettings()
You can change -- integer OfflineOnlineRendering -- and check if it changes the parameter in real time
Last edited by 80icio; 10-05-2023 at 11:39 PM.
|
|
|
10-06-2023, 06:40 AM
|
#855
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Ok, found it. It's actually a bug in Reaper itself but I can circumvent it for an update.
It also affected other settings, not only the online/offline-mode.
Thnx for reporting this.
Last edited by Meo-Ada Mespotine; 10-06-2023 at 07:33 AM.
|
|
|
10-06-2023, 06:55 AM
|
#856
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Hotfix 3 available.
Changes:
- RenderManagement: ApplyRenderTable\_Project - did not properly apply render-settings when render to file-dialog was opened due Reaper bug -> fixed now (thanks to 80icio)
Please update your ReaPacks
|
|
|
10-07-2023, 01:52 AM
|
#857
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
Quote:
Originally Posted by Meo-Ada Mespotine
Hotfix 3 available.
Changes:
- RenderManagement: ApplyRenderTable\_Project - did not properly apply render-settings when render to file-dialog was opened due Reaper bug -> fixed now (thanks to 80icio)
Please update your ReaPacks
|
thank you!
|
|
|
10-07-2023, 12:09 PM
|
#858
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
source: razor edit areas
0, Master mix(default)
1, Master mix + stems
3, Stems (selected tracks)
8, Region render matrix
32, Selected media items
256, Embed stretch markers/transient guides-checkbox=on; optional, as parameter EmbedStretchMarkers is meant for that
Do you know by any chance which integer I should use to set up
'razor edit areas' on CreateNewRenderTable - Source?
I was able to get some other options using 64 and 128 but not 'razor edit areas'
thanks
EDIT:
probably solved ...
4224 is the integer for 'razor edit areas via Master'
4096 is the integer for 'razor edit areas'
Last edited by 80icio; 10-07-2023 at 01:24 PM.
|
|
|
10-07-2023, 02:00 PM
|
#859
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
Yeah, when in doubt, set it in the render to file-dialog, hit Save settings and then run the function GetRenderTable_Project() to see the current values of the settings.
Will add razor-area-rendering-values to the docs in the next release of Ultraschall-API which I'm currently working on.
|
|
|
10-07-2023, 02:03 PM
|
#860
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
Quote:
Originally Posted by Meo-Ada Mespotine
Yeah, when in doubt, set it in the render to file-dialog, hit Save settings and then run the function GetRenderTable_Project() to see the current values of the settings.
Will add razor-area-rendering-values to the docs in the next release of Ultraschall-API which I'm currently working on.
|
yeah you're right! thanks
|
|
|
10-22-2023, 05:30 AM
|
#861
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
API
do you think one day you'll make a repository with just the Reaper APIs and not all the Documents related to the Ultraschall DAW enviroment? (like image files for example)
Some of your APIs are pretty useful to me
|
|
|
10-22-2023, 06:06 AM
|
#862
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,476
|
It would be too much work to do and difficult to handle on a development-level.
It's all quite integrated so I prefer to keep it the way it is, especially as I try to keep this in a way that the surrounding maintenance is as little as possible. Otherwise releasing bugfixes or new releases becomes very cumbersome, which would demotivate me to work on it further.
|
|
|
10-22-2023, 06:11 AM
|
#863
|
Human being with feelings
Join Date: Mar 2016
Location: Italy
Posts: 247
|
Quote:
Originally Posted by Meo-Ada Mespotine
It would be too much work to do and difficult to handle on a development-level.
It's all quite integrated so I prefer to keep it the way it is, especially as I try to keep this in a way that the surrounding maintenance is as little as possible. Otherwise releasing bugfixes or new releases becomes very cumbersome, which would demotivate me to work on it further.
|
That's what I expected, gotcha
|
|
|
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 04:36 AM.
|