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

Reply
 
Thread Tools Display Modes
Old 12-16-2015, 05:17 AM   #1
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default MPL Mapping Panel 3: linking FX parameters across tracks

MappingPanel is a Lua script for REAPER.
It allows to link parameters across FX using custom JSFXs pair.

Requirements:
  • REAPER 6.74+
  • ReaPack 1.2.1+

Install:
  • run ActionList > ReaPack: Browse packages...
  • navigate and install (rightclick) MappingPanel and Various_functions packages, then click 'Apply'
  • run ActionList > ReaPack: Synchronize packages


Last edited by mpl; 08-27-2023 at 12:18 PM.
mpl is offline   Reply With Quote
Old 12-16-2015, 07:16 AM   #2
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Subscribed! That is going to be insanely useful MPL!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 12-16-2015, 10:34 AM   #3
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

You should make a video+audio demo !!
We want to see it in action
X-Raym is offline   Reply With Quote
Old 12-16-2015, 11:37 AM   #4
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Well, basic idea is simple - to get quick access for mostly used parameters in project. And with some future tweaks it will should make midi/osc learn for small controllers (up to 8 knobs/sliders) easy.

mpl is offline   Reply With Quote
Old 12-16-2015, 11:45 AM   #5
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

so awesome!

Will it be possible to save the settings/assignments with the project?
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 12-16-2015, 12:00 PM   #6
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Data is project related, so it automatically stored when you save project (no need external files), but there is possibility to save/load data to/from text file.
mpl is offline   Reply With Quote
Old 12-16-2015, 12:26 PM   #7
Alex Philipp
Human being with feelings
 
Alex Philipp's Avatar
 
Join Date: Mar 2015
Posts: 52
Default

Really cool! Thank You for share!
Some thoughts for future development as it only beta.
Map multiple parameters on one handle, set controlled range, and direction. (Ableton style mapping) 😀
Alex Philipp is offline   Reply With Quote
Old 12-16-2015, 12:33 PM   #8
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Quote:
set controlled range
Nice, I will take a look.

Quote:
direction
I`ll add FL Studio style mapping (by user typed formula + some presets).

Last edited by mpl; 12-16-2015 at 12:47 PM.
mpl is offline   Reply With Quote
Old 12-16-2015, 01:45 PM   #9
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

Quote:
Originally Posted by mpl View Post
Data is project related, so it automatically stored when you save project (no need external files), but there is possibility to save/load data to/from text file.
Awesome!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 12-16-2015, 01:59 PM   #10
semiquaver
Human being with feelings
 
Join Date: Jun 2008
Posts: 4,923
Default

nice!!!
semiquaver is offline   Reply With Quote
Old 12-16-2015, 01:59 PM   #11
Spacemen Tree
Human being with feelings
 
Spacemen Tree's Avatar
 
Join Date: Mar 2013
Posts: 515
Default

Mpl, this script is awesome!!!

A while back I was trying to find some plugin to do this so I could have some sort of a customized VST "pedalboard" for guitar playing.

Really looking forward to V1.

Will you make some sort of a load/save map? That make it even more awesome. Just a suggestion.
EDIT: I see you've already answered that. Very nice. Very very nice!
__________________
"After silence, that which comes nearest to expressing the inexpressible is music", Aldous Huxley
Spacemen Tree is offline   Reply With Quote
Old 12-16-2015, 03:53 PM   #12
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

@mpl
This script is just WOW.
We will see how well it perform with MIDI (latency etc...).
Well done !!
X-Raym is offline   Reply With Quote
Old 12-17-2015, 12:37 AM   #13
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Wow mpl, this is great stuff, thank you !!
vanhaze is offline   Reply With Quote
Old 12-17-2015, 04:14 AM   #14
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
Default

Cool idea, thank you.
nofish is offline   Reply With Quote
Old 12-17-2015, 09:43 AM   #15
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default

Good stuff here!

On a slightly related note, would a script be capable of mimicing a Bitwig-like macro control workflow? Here's a video demonstration of the basics:

https://www.youtube.com/watch?v=rRZd...youtu.be&t=313

This kind of functionality where you can assign a single macro control to modulate any amount of fx parameters in their own respective ranges, is one of the best features in Bitwig in my opinion. ReaScript should be capable to provide something similiar I think?
Sju is offline   Reply With Quote
Old 12-17-2015, 09:49 AM   #16
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

@Sju
Nice feature indeed
X-Raym is offline   Reply With Quote
Old 12-17-2015, 11:06 AM   #17
_TIP_
Human being with feelings
 
_TIP_'s Avatar
 
Join Date: Apr 2014
Location: NY
Posts: 175
Default

First of all a HUGE thank you to mpl, amazing work as always my friend!!!
Great post Sju, this is exactly what i was looking for.
That's why i love Reaper, it's not only the program it self that ROCKS, it's also this amazing community with all the creative and thoughtful people like mpl, thank you all and happy holidays!!!

Quote:
Originally Posted by Sju View Post
Good stuff here!

On a slightly related note, would a script be capable of mimicing a Bitwig-like macro control workflow? Here's a video demonstration of the basics:

https://www.youtube.com/watch?v=rRZd...youtu.be&t=313

This kind of functionality where you can assign a single macro control to modulate any amount of fx parameters in their own respective ranges, is one of the best features in Bitwig in my opinion. ReaScript should be capable to provide something similiar I think?
_TIP_ is offline   Reply With Quote
Old 12-17-2015, 01:56 PM   #18
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Instead linking multiple parameters to one slider actually I building routing matrix for sliders with formula control and multiple linking. I found this more logical (though a bit painful to setup first time) than just have some parameters linked to one slider.

Last edited by mpl; 12-18-2015 at 04:12 AM.
mpl is offline   Reply With Quote
Old 12-17-2015, 02:04 PM   #19
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default

Sounds awesome! By the way, is there any way to automate the parameter group? One of the parameters is the "master"?
Sju is offline   Reply With Quote
Old 12-17-2015, 09:01 PM   #20
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

I guess it should be master/slave system. Maybe "Create/Show automation lane for master" action for slave sliders or something?
The thing I don`t know is checking/returning a lot parameters will be CPU friendly. I testing everything on lightweight projects (some VST, some midi/audio items). But I didn`t tested it on my big projects yet.

Last edited by mpl; 12-17-2015 at 11:02 PM.
mpl is offline   Reply With Quote
Old 12-18-2015, 04:11 AM   #21
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Ok, seems read mode for matrix works already))
Its time to think is it better to place routing in specified place in chunk (and stored ids and their connections) or make it slider chunk related (so removing slider remove routing).

mpl is offline   Reply With Quote
Old 12-18-2015, 04:32 AM   #22
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default UI and ToolTip

@mpl
Hi !
A small UI proposition:
Having sliders/knobs infos as tooltip is not very convenient, as text scroll with the cursor.

IMHO, it would be better to have an extra lines below the sliders to display this infos, in a fixed way, to ease the reading.

Also, it would allow to display the infos without mouse over (which will be handy when we will trigger the sliders from other controller than the mouse).

Also, I'm sure it require less code than the tooltip :P

What do you think of that ?

Congrats for all the great stuff you did on this project so far !
X-Raym is offline   Reply With Quote
Old 12-18-2015, 04:45 AM   #23
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Can you draw what do you mean?
Note, I want also display this info related to slider:
- internal sends (name + thin meter)
- internal returnes (name + thin meter)
- internal mapping formula / small rectangle to showing this formila graph
- external MIDI/OSC routing info.
Cant placed it just as text somewhere currently.

Last edited by mpl; 12-18-2015 at 04:58 AM.
mpl is offline   Reply With Quote
Old 12-18-2015, 04:59 AM   #24
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Quote:
Can you draw what do you mean?
I mean that the tooltip that is displayed on mouse hover over the sliders and know and that display track/vst infos could be displayed in a dedicated space at the bottom of the script (so yes the script will be a bit taller), to make it more readable.
Indeed, as it follows the mouse, it is not very convenient to read while adjusting.
Also, the more infos you will have to display, the more it will make sense.
You can even think of a side pannel rather than a bottom place if you want. As log as the text is fixed :P
X-Raym is offline   Reply With Quote
Old 12-19-2015, 04:44 PM   #25
J Reverb
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,071
Default

Hats off to you mpl, this is genius !
Especially with the parameter modulation/link to bind it to cc.

Thank you Just so so cool !

Looking forward eagerly to future updates.
J Reverb is offline   Reply With Quote
Old 12-20-2015, 07:36 AM   #26
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

modulation matrix in progress



todo for today:
-parsing routing chunk back
-damn wires

Last edited by mpl; 12-20-2015 at 08:17 AM.
mpl is offline   Reply With Quote
Old 12-20-2015, 08:01 AM   #27
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

wow!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 12-28-2015, 01:04 PM   #28
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

testing linking parameters by formula



also multiple (gui bugs fixed already, but wires would be better with curves)



and link maps to track / fx


Last edited by mpl; 12-29-2015 at 12:01 AM.
mpl is offline   Reply With Quote
Old 12-29-2015, 11:32 AM   #29
Alex Philipp
Human being with feelings
 
Alex Philipp's Avatar
 
Join Date: Mar 2015
Posts: 52
Default

Just WOW!
Another script from Michael which REAPER should have natively! Thank You so much for hardworking and sharing with all us!
Alex Philipp is offline   Reply With Quote
Old 12-29-2015, 12:04 PM   #30
digitalfix
Human being with feelings
 
Join Date: Nov 2015
Posts: 86
Default

Obviously I've missed this thread .. That looks crazy clever Michael. Will check it out tomorrow hopefully.
digitalfix is offline   Reply With Quote
Old 12-29-2015, 12:11 PM   #31
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Thanks!
Note, there are still many bugs here. And also a lot of things todo. Current developing: relative midi/osc learn (when change active map, all learn goes to same sliders in new map)
mpl is offline   Reply With Quote
Old 12-29-2015, 10:18 PM   #32
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

testing quick mapping (I just took an fx, but this feature will be mostly for sliders)



Here GetSetMIDIOSCLearn for test, if anyone interested (updated today)

Oh, and ugly visualization for wires


Last edited by mpl; 12-30-2015 at 02:55 AM.
mpl is offline   Reply With Quote
Old 12-30-2015, 01:30 AM   #33
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Didn't yet get around to testing this, but looks pretty epic for a Lua script!
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 12-30-2015, 04:07 AM   #34
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

indeed! awesome as usual!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 12-30-2015, 04:29 AM   #35
Pasajeromoronmoreno
Human being with feelings
 
Join Date: Nov 2013
Location: Argentina
Posts: 326
Default

Woooooooaaaaa!!! Truly Epic! No better description than that!!! Thanks for this and all your contributions, one better than the other.
__________________
Living la vida loca
Pasajeromoronmoreno is offline   Reply With Quote
Old 12-30-2015, 05:26 AM   #36
noise_construct
Human being with feelings
 
Join Date: Nov 2015
Posts: 1,566
Default

Very, very impressive!

The wires are very clever and allow for quite versatile setups. Will the formulas include a relative value mode setting per knob? In your example the changes were absolute across all knobs.
noise_construct is offline   Reply With Quote
Old 12-30-2015, 06:09 AM   #37
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

noise_construct, when write mode is active (red frame) then you drag wire from output to input. When you release mouse in this mode, it checks is routing beetween these knobs already exists and if not, it creates a record in script data and store it to external state like this:

Code:
[routing]
<R_CONF_1 (first configurtion chunk)
  2 3 7 8 y=x (from map2slider3 to map7slider8 by formula y = x)
  5 5 7 8 y=x
>
...so yes, formula is per knob wire (it can be multiple wires from one knob). It is currently create links with default linear relation, editable only by hand, but I`ll do some tests with formula parser and will add some presets for formula and option to define it via native userinput dialog (unfortunately it is too small and size of this window is not scriptable).

Last edited by mpl; 12-30-2015 at 06:58 AM.
mpl is offline   Reply With Quote
Old 12-30-2015, 06:34 AM   #38
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

This is madness ^^

@mpl

Can't wait to have an audio+video demo from you to see how well it perform :P
X-Raym is offline   Reply With Quote
Old 12-30-2015, 06:50 AM   #39
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

X-Raym, It performs relatively ok for me (I tested it on small projects though). As with mouse withing script, as from midi/osc control, as from envelope/native parameter modulation.

But of course it gets a lot of variables every defer cycle, so performance can potentially make a problem with that.

I tried to minimize all graphics performance issues by blitting that stuff (there is 12 buffers already) and splitting to minor(sliders/knobs) and major(static buttons, backgrounds etc) updates to make it not so hungry for cpu. I also asked schwa about LuaJT, I`ve heard it can increase Lua performance in some way, he didn`t asked yet...

Anyway, you can try it by yourself since I shared a GitHub link.
Happy new year

Last edited by mpl; 12-30-2015 at 07:06 AM.
mpl is offline   Reply With Quote
Old 12-30-2015, 07:12 AM   #40
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Awesome
Happy new year!
spk77 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 05:42 AM.


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