Old 06-06-2019, 04:58 AM   #1
lossius
Human being with feelings
 
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
Default ReaScript and FX Parameter Link?

Are there any ReaScript functions that can be used to set up Track FX Parameter Modulation/Link with Link from FX Parameter?

I'd like to do so in order to have two daisy-chained plugins of the same kind with all parameters of the first one linked to the parameters of the second FX.
lossius is offline   Reply With Quote
Old 06-06-2019, 06:15 AM   #2
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,622
Default

I'm working on that. The next update will have the functions fully available in my Ultraschall-API.

CUrrently, it already features get-functions for all the parameter-linking/modulation-stuff, so you can already toy around with some of them.

Just follow the thread in my signature.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is online now   Reply With Quote
Old 06-06-2019, 06:49 AM   #3
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Parse track state chunk and use SetTrackStateChunk(), there is no other API to do that.
mpl is offline   Reply With Quote
Old 06-06-2019, 06:59 AM   #4
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,622
Default

If you want to do it yourself, you can use my parmlink/learn-docs as reference:

https://github.com/Ultraschall/ultra...mLearnDocs.txt
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is online now   Reply With Quote
Old 06-09-2019, 12:40 PM   #5
lossius
Human being with feelings
 
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
Default

Thanks for the suggestions, I'm currently reviewing them.

Just a little more background on the task that I'm trying to develop a script for. I am experimenting with various approaches to effect processing of ambisonic signals. This might be first or third order, meaning that there might be 4 or 16 channels to process on the track. I want to be able to use several instances of the same mono or stereo plugins, each processing two of the channels. So more specific, when dealing with 1st order ambisonics there are 4 channels and I need to instances of the plugin, one for channels 1-2 and another one for 3-4. This could be said to be somewhat inspired by how you can use plugin as multi-instance-mono FXs when working with surround in Logic.

So far I have managed to set up a script that copies the currently selected FX and paste immedeately after. The pins of the first instance are set so that it processes channels 1-2 and the pins of the 2nd instance so that it processes channels 3-4.

In order to complete the script, I next want to script a set of parameter links so that all parameters of the first instance are linked to the equivalent parameter of the second instance. I want to do so programatically rather than manually.

I've checked out globalmapper and will make note of this script for later. It seems genuinly useful, although I don't see how it can be a solution to the problem I'm working on at the moment.

As for mpl_MappingPanel, I am in the process of checking it out and learn how it works. Still, I doubt that it is a solution to the task at hand, as it also seems to require me to manually set up mappings. Still, once I figure out how it works, it might be that there are excerpts of the code that can be adapted.

Ultraschall-API sounds very promising. I have subscribed to your thread, mespotine, and also follow your repo at GitHub. Is code for the next update available in a branch at GitHub?
lossius is offline   Reply With Quote
Old 06-09-2019, 02:50 PM   #6
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
Originally Posted by lossius View Post
As for mpl_MappingPanel, I am in the process of checking it out and learn how it works.
In your case it is bad idea for various reasons.
Probably best option is to script something like "Link all FX parameters to same plugin upper in FX chain". Somehing similar I did in mpl_Split focused ReaEQ to LR routing.lua - it duplicate ReaEQ instance and link all parameters to parent ReaEQ. Not really good example but kinda way to overview how it works.
mpl is offline   Reply With Quote
Old 06-09-2019, 08:12 PM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,622
Default

Quote:
Originally Posted by lossius View Post
Ultraschall-API sounds very promising. I have subscribed to your thread, mespotine, and also follow your repo at GitHub. Is code for the next update available in a branch at GitHub?
It's the 2.76-branch,but I haven't really started on that yet, so the 2.75 is as good.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is online now   Reply With Quote
Old 07-20-2019, 09:30 AM   #8
lossius
Human being with feelings
 
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
Default

Quote:
Originally Posted by mespotine View Post
It's the 2.76-branch,but I haven't really started on that yet, so the 2.75 is as good.
Thanks, mespotine. I am looking into this currently, and I manage to get the FXStateChunk using ultraschall.GetFXStateChunk. Is it correct that using ultraschall I have to operate on a saved version of the Reaper (.RPP) project file, and can not just access the current project from memory? Do this also imply that I need to do changes to that file, save, and then reload the project?
lossius is offline   Reply With Quote
Old 07-20-2019, 09:45 AM   #9
lossius
Human being with feelings
 
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
Default

Quote:
Originally Posted by mpl View Post
Probably best option is to script something like "Link all FX parameters to same plugin upper in FX chain". Somehing similar I did in mpl_Split focused ReaEQ to LR routing.lua - it duplicate ReaEQ instance and link all parameters to parent ReaEQ. Not really good example but kinda way to overview how it works.
I am unfortunately not able to find the mpl_Split focused ReaEQ to LR routing.lua script. I have Reapack installed, and have many of your mpl_ scripts, but I am not able to see this one. It does not show up in searches for eq or EQ in Action List.

Neither do I manage to track it down by searching the ReaPack manager, and I could not find it in your GitHub repository. Could you please provide me with a link to the script (or other solution for how get access to it)?

I notice that I do not find the rest of the EQ scripts that are mentioned in the MPL: ReaEQ stuff thread (https://forum.cockos.com/showthread.php?t=206389), so there is probably something I need to install, but I don't know exactly were to look for it. Thanks!
lossius is offline   Reply With Quote
Old 07-20-2019, 11:06 PM   #10
lossius
Human being with feelings
 
Join Date: Jul 2011
Location: Bergen, Norway
Posts: 123
Default

Quote:
Originally Posted by lossius View Post
I am unfortunately not able to find the mpl_Split focused ReaEQ to LR routing.lua script. I have Reapack installed, and have many of your mpl_ scripts, but I am not able to see this one. It does not show up in searches for eq or EQ in Action List.
Never mind, a good nights slieep, and I found them after all. Sorry for the noise,.
lossius is offline   Reply With Quote
Old 07-22-2019, 03:06 PM   #11
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,622
Default

For Ultraschall-related questions, please ask in the Ultraschall-API-thread.

I almost missed your post.

To your question: You can apply them to the currently opened project.
Just get a TrackStateChunk of the track/ItemStateChunk of the item, in which you want to set/add/delete parm-learn.

From the ChangeLog of the newest Ultraschall-APIversion:

Quote:
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

You can get a StateChunk using reaper.GetItemStateChunk or reaper.GetTrackStateChunk.


ParmLearn is now part of Ultraschall-API, parmmodulation is still in the works.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is online now   Reply With Quote
Old 10-20-2019, 05:02 AM   #12
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by mespotine View Post
ParmLearn is now part of Ultraschall-API, parmmodulation is still in the works.
Having minimal use case examples would be great, apart from those in the source.

Having both API documentation as pdf would be another advantage, so reaper-api.pdf and ultraschall-api.pdf, then both could be merged and used comfortably for searching, among the million functions.
TonE is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

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

Forum Jump


All times are GMT -7. The time now is 08:04 AM.


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