Go Back   Cockos Incorporated Forums > REAPER Forums > JSFX and ReaScript Discussion

Reply
 
Thread Tools Display Modes
Old 02-18-2018, 10:18 AM   #1
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default MPL Interactive Toolbar: context sensitive modular toolbar

Hi. This topic is dedicated to Cubase event info bar representation for REAPER world. It is a lua script with GUI which allow to dynamically display/edit context info.

All supported widgets (version 1.47)


In some cases it can reduce screen space usage taken by transport. Something like Breeder`s contextual toolbars, but expandable at lower level than just context sensitive regular Reaper toolbars with half-interactive buttons. Theoretically it is possible to put almost any shit you can imagine (thanks to REAPER devs). Limitations are mostly coming from API, so it can`t fry bacon, but may show current plugin learn or FX chain aligned horizontally, for example.

Download/Install: ReaPack
Source code: main functions
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 05-20-2018 at 12:10 PM.
mpl is offline   Reply With Quote
Old 02-18-2018, 10:44 AM   #2
SoulOne82
Human being with feelings
 
SoulOne82's Avatar
 
Join Date: Sep 2008
Location: Illville - Germany
Posts: 891
Default

Quote:
Originally Posted by mpl View Post
This probably not such usefull tool as Heda`s stuff
WTF?

This is hella useful!
__________________
Wood side panels, custom knobs, parts & upgrades for Maschine and the MPC range | Website | Soundcloud
Quote:
Originally Posted by strunkdts View Post
MIDI will outlive humanity.
SoulOne82 is offline   Reply With Quote
Old 02-18-2018, 01:02 PM   #3
Chris Hurst Music
Human being with feelings
 
Chris Hurst Music's Avatar
 
Join Date: Mar 2017
Location: Wales, UK
Posts: 56
Default

This is great...but I can't get it to dock in the toolbar docker (which I have at the top of my screen), so I wonder what I am doing wrong...!
__________________
http://www.chrishurstmusic.com
Chris Hurst Music is offline   Reply With Quote
Old 02-18-2018, 01:13 PM   #4
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

By default on first start it goes to the second dock whatever it placed. Then you can undock it and put to other toolbar or side (new docker will be shown), the configuration will be saved for next start.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-18-2018, 01:25 PM   #5
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,306
Default

It looks very interesting. I installed via ReaPack but I get this error when I try to run it...
Code:
mpl_InteractiveToolbar_basefunc.lua:233: attempt to index a nil value
IXix is offline   Reply With Quote
Old 02-18-2018, 01:33 PM   #6
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

Quote:
Originally Posted by IXix View Post
It looks very interesting. I installed via ReaPack but I get this error when I try to run it...
Code:
mpl_InteractiveToolbar_basefunc.lua:233: attempt to index a nil value
Can you make a selected track FX chain screenshot at the moment you run script?
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-18-2018, 01:47 PM   #7
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,306
Default

Quote:
Originally Posted by mpl View Post
Can you make a selected track FX chain screenshot at the moment you run script?
It doesn't seem to matter whether the selected track has FX or not or even if any track is selected.
IXix is offline   Reply With Quote
Old 02-18-2018, 01:54 PM   #8
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,306
Default

It seems to be something to do with my default project template. I created a new tab bypassing the default project and your toolbar opened.

edit: and if I load my default project while the toolbar is open, the error pops up and the toolbar goes away. Don't you just love computers.
IXix is offline   Reply With Quote
Old 02-18-2018, 02:00 PM   #9
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

wow, pretty quick update!

Thanks for adding my requests.

1.Is there any way you can fix the renamed FX crash? I have a renamed FX on almost every 2nd track...
Just to be sure: It only crashes if the FX is renamed temporarily in the mixer. It works ok if the FX is renamed globally in the FX browser.

2.For me scrolling through takes with mousewheel only works in one direction, no matter what i do with the wheel.

3. Is there a way to access the offline plugins?


Thanks, this is a very useful tool, this should be a default in Reaper.
HighVoltage is offline   Reply With Quote
Old 02-18-2018, 02:05 PM   #10
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,306
Default

Quote:
Originally Posted by HighVoltage View Post
1.Is there any way you can fix the renamed FX crash? I have a renamed FX on almost every 2nd track..
Ah! My default template has a bunch of renamed FX and if I strip out the FX the toolbar runs. Case closed.
IXix is offline   Reply With Quote
Old 02-18-2018, 11:12 PM   #11
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

1.02 should fix the problem with renamed FX and mousewheel scrolling for item name.


Quote:
Is there a way to access the offline plugins?
It is possible to do with chunking (I have a function which get/set offline FX state), but I don`t want to do this since it can increase CPU usage a lot. So the request more for the devs for adding related API.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 02-18-2018 at 11:31 PM.
mpl is offline   Reply With Quote
Old 02-19-2018, 04:30 AM   #12
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,306
Default

Quote:
Originally Posted by mpl View Post
1.02 should fix the problem with renamed FX and mousewheel scrolling for item name.
Crash is fixed. Cool script!
IXix is offline   Reply With Quote
Old 02-19-2018, 07:35 AM   #13
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

Works smoothly here so far!

Thanks for the awesomeness!
HighVoltage is offline   Reply With Quote
Old 02-19-2018, 08:14 AM   #14
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 7,719
Default

Quote:
Originally Posted by mpl View Post
It is possible to do with chunking (I have a function which get/set offline FX state), but I don`t want to do this since it can increase CPU usage a lot. So the request more for the devs for adding related API.
ReaScript API to offline/online FX will probably be in next SWS version (when it's released some day). Also uses chunk parsing internally but might be a bit faster than doing the chunk parsing directly in ReaScript. PM me if you want a SWS pre for testing.
nofish is offline   Reply With Quote
Old 02-19-2018, 08:37 AM   #15
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

There is no complexity to add this to #fxlist at the time it will introduced so no worries.

Why it will be faster than something like
Code:
tonumber(({FX_chunk:match('BYPASS (%d) (%d)')})[2]) == 1
?

Anyway I still think internal memory asking (i.e.native API) is way better especially for big FX data states.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 02-19-2018 at 08:46 AM.
mpl is offline   Reply With Quote
Old 02-19-2018, 08:50 AM   #16
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

If you could add a #bpm and #cycle to the persistent modules, i could get rid of the transport bar completely

Also noticed:
If i move any control on the bar (or click the play button), it completely traps keyboard shortcuts except the spacebar. Only if i click back in the main window i get themback.
HighVoltage is offline   Reply With Quote
Old 02-19-2018, 09:00 AM   #17
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 7,719
Default

Quote:
Originally Posted by mpl View Post
Why it will be faster than something like
Code:
tonumber(({FX_chunk:match('BYPASS (%d) (%d)')})[2]) == 1
?
Didn't say it will be, but 'it might be a bit'.
Because it uses SWS internal chunk parser which I gues is optimized for those things, but I don't know really.

Quote:
Anyway I still think internal memory asking (i.e.native API) is way better especially for big FX data states.
For sure.
nofish is offline   Reply With Quote
Old 02-19-2018, 10:20 AM   #18
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

Quote:
Originally Posted by HighVoltage View Post
If you could add a #bpm and #cycle to the persistent modules, i could get rid of the transport bar completely

Also noticed:
If i move any control on the bar (or click the play button), it completely traps keyboard shortcuts except the spacebar. Only if i click back in the main window i get themback.
I can add #bpm only for current edit cursor position, because otherwise it will be hard for CPU to update data/Generate GUI every defer cycle (30 times a second). Same for #repeat (if you mean Repeat state by "cycle").
It is not possible to pass shortcuts through reascript (so it allows to use different shortcuts for different scrits). The only way is to map them manually unfortunately.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-19-2018, 11:34 AM   #19
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

Quote:
Originally Posted by mpl View Post
It is not possible to pass shortcuts through reascript (so it allows to use different shortcuts for different scrits). The only way is to map them manually unfortunately.
I was playing with HeDa's track inspector and it solves this problem by automatically focusing the main window when you release the mouse on it's GUI.
HighVoltage is offline   Reply With Quote
Old 02-19-2018, 11:37 AM   #20
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

Does he use mousewhell also somethere?
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-19-2018, 11:39 AM   #21
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

Quote:
Originally Posted by mpl View Post
Does he use mousewhell also somethere?
Yes, pretty much on everything, but then it doesn't move the focus to the main window either... Just on left and right clicks.
But since the window is not active, the wheel still works when just hovering, without activating the script window.
HighVoltage is offline   Reply With Quote
Old 02-19-2018, 12:12 PM   #22
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

Aha it works, so passing Breeder`s SWS/BR: Focus arrange at mouse release seems a solution.

Re:#bpm widget
click on bpm/timesig - open input box for inserting values for project tempo (or tempo/timesignature marker falling right before edit cursor if any). Is that ok behaviour? Because native transport adding new marker instead of editing falling one (editing falling marker looks more useful to me).
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 02-19-2018 at 12:21 PM.
mpl is offline   Reply With Quote
Old 02-19-2018, 12:59 PM   #23
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: uk
Posts: 4,204
Default

Enjoying the last touched addition, thanks v much

Couple of q's:

The update speed is ok but maybe bit slow, wouldn't want to tax the system of course but is there an option?

Also & this may be reaper issue - some plugin's paramters on macos are not appearing to the system to allow control, confused me at first. Could there be a reason for this? Or should i report issue?

Thanks again
BenK-msx is offline   Reply With Quote
Old 02-19-2018, 01:04 PM   #24
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

GUI/Data update speed is up to ReaScript rules, so no option here. Showing plugin parameters is up to plugin developers.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-19-2018, 01:54 PM   #25
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

Quote:
Originally Posted by mpl View Post
Re:#bpm widget
click on bpm/timesig - open input box for inserting values for project tempo (or tempo/timesignature marker falling right before edit cursor if any). Is that ok behaviour? Because native transport adding new marker instead of editing falling one (editing falling marker looks more useful to me).

I was just expecting a way more simple current bpm display (if i want to go into multiple tempo/signature mode, then i can use the built in transport or open the tempo track.)

But your's sound good to me. What does it do if there is no marker? Does it just edit the base tempo like the transport one? Cause it's perfect then.
HighVoltage is offline   Reply With Quote
Old 02-19-2018, 08:01 PM   #26
BenK-msx
Human being with feelings
 
BenK-msx's Avatar
 
Join Date: Jun 2008
Location: uk
Posts: 4,204
Default

Quote:
Originally Posted by mpl View Post
GUI/Data update speed is up to ReaScript rules, so no option here. Showing plugin parameters is up to plugin developers.
informative! (i mean, straight to the point) thanks
BenK-msx is offline   Reply With Quote
Old 02-20-2018, 12:41 AM   #27
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 56
Default I can not load the other interface

I can not load the other interface, I only load the Audio Item interface. I tried, but could not, maybe I missed something. Can you show me !!
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top
lachinhan is offline   Reply With Quote
Old 02-20-2018, 01:06 AM   #28
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

Quote:
Originally Posted by lachinhan View Post
I can not load the other interface, I only load the Audio Item interface. I tried, but could not, maybe I missed something. Can you show me !!
If you tried alpha version before it was configured for item only. If you click Menu/Widgets configuration/Reset , youll get enabled all modules supported for current version. It looks like this:

Quote:
[EmptyItem]
order=#position #length
[MIDIItem]
order=#buttons#snap #position #length #offset #fadein #fadeout #vol #transpose #pan
buttons=#lock #loop #mute
[AudioItem]
order=#buttons#snap #position #length #offset #fadein #fadeout #vol #transpose #pan
buttons=#lock #preservepitch #loop #mute #chanmode #bwfsrc
[MultipleItem]
order=#buttons#position #length #offset #fadein #fadeout #vol #transpose #pan
buttons=#lock #preservepitch #loop #chanmode #mute
[Envelope]
order=#floatfx #position #value
[Track]
order=#vol #pan #fxlist #sendto
[Persist]
order=#grid #timeselend #timeselstart #lasttouchfx #transport
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-20-2018, 01:45 AM   #29
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 56
Default Hi MPL

I'm using version 1.03. I made a silly mistake, I thought it was possible to load multiple interfaces, while the interface would change according to the workflow.
I really like Track send bus in this tool.
Thank you so much !
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top
lachinhan is offline   Reply With Quote
Old 02-20-2018, 06:08 AM   #30
Mottemania
Human being with feelings
 
Join Date: Apr 2016
Posts: 50
Default

This is awesome. Thank you!

Ah, if I am moving an item around the positionvalues resets when I'm releasing the item. Maybe it could be showing the actual Position while moving?

And maybe an option for movin the item to the original timestamp?
Mottemania is offline   Reply With Quote
Old 02-20-2018, 06:23 AM   #31
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

As I said before, GUI/Data update can takes a lot of CPU. For keeping low CPU usage, I give an update trigger for GUI/data not on every ReaScript cycle (30 times a second approximately), but only when something was changed (a couple of API-based triggers). So live with it.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-20-2018, 06:29 AM   #32
Mottemania
Human being with feelings
 
Join Date: Apr 2016
Posts: 50
Default

Quote:
Originally Posted by mpl View Post
As I said before, GUI/Data update can takes a lot of CPU. For keeping low CPU usage, I give an update trigger for GUI/data not on every ReaScript cycle (30 times a second approximately), but only when something was changed (a couple of API-based triggers). So live with it.
Allright, and I should totally read the whole thread. Thanks anyway!
Mottemania is offline   Reply With Quote
Old 02-20-2018, 07:10 AM   #33
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

Just curious, is it possible with this API to have a script that selects the track that the currently active floating FX resides on?

Kind of like a reverse "Float instrument relevant to midi editor", but instead it would select the midi track.
HighVoltage is offline   Reply With Quote
Old 02-20-2018, 12:17 PM   #34
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default

Of course possible (as a lot of things in REAPER). But not sure it is related to this thread.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 02-20-2018 at 12:24 PM.
mpl is offline   Reply With Quote
Old 02-21-2018, 02:17 AM   #35
Chris Hurst Music
Human being with feelings
 
Chris Hurst Music's Avatar
 
Join Date: Mar 2017
Location: Wales, UK
Posts: 56
Default

Quote:
Originally Posted by mpl View Post
By default on first start it goes to the second dock whatever it placed. Then you can undock it and put to other toolbar or side (new docker will be shown), the configuration will be saved for next start.
Thanks for that. I've accidentally made it a floating toolbar. Any ideas on how I dock it again, as I have tried everything unsuccessfully so far!

Thanks.
__________________
http://www.chrishurstmusic.com
Chris Hurst Music is offline   Reply With Quote
Old 02-21-2018, 09:06 AM   #36
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,829
Default



You only need to reopen the script again after this (for Graphics update, currently it doesnt refresh after changing dock state and docker actually)
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 02-21-2018, 12:25 PM   #37
Chris Hurst Music
Human being with feelings
 
Chris Hurst Music's Avatar
 
Join Date: Mar 2017
Location: Wales, UK
Posts: 56
Default

Quote:
Originally Posted by mpl View Post

You only need to reopen the script again after this (for Graphics update, currently it doesnt refresh after changing dock state and docker actually)
Thanks but my floating toolbar doesn't have the docking tab (no matter what size I make it):

Edit - screen grab removed

I must have done something, but can't figure it out. Apologies for de-railing thread - this is an awesome tool (I just want to dock it!).
__________________
http://www.chrishurstmusic.com

Last edited by Chris Hurst Music; 02-21-2018 at 01:53 PM.
Chris Hurst Music is offline   Reply With Quote
Old 02-21-2018, 01:19 PM   #38
HighVoltage
Human being with feelings
 
HighVoltage's Avatar
 
Join Date: Jan 2007
Posts: 297
Default

Quote:
Originally Posted by Chris Hurst Music View Post
Thanks but my floating toolbar doesn't have the docking tab (no matter what size I make it):


I must have done something, but can't figure it out. Apologies for de-railing thread - this is an awesome tool (I just want to dock it!).
Does it have it if you use the default reaper skin? Just a guess
HighVoltage is offline   Reply With Quote
Old 02-21-2018, 01:43 PM   #39
fundorin
Banned
 
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
Default

Right click on the toolbar and select "Position toolbar/in toolbar docker".

P.S. Was this huge screenshot even necessary? Reaper can be started in a window, you know?
fundorin is offline   Reply With Quote
Old 02-21-2018, 01:52 PM   #40
Chris Hurst Music
Human being with feelings
 
Chris Hurst Music's Avatar
 
Join Date: Mar 2017
Location: Wales, UK
Posts: 56
Default

Appreciate the help.

I’ll leave the topic now so we can get the thread back on track and discuss this great mpl toolbar.

(Image removed from original post)
__________________
http://www.chrishurstmusic.com
Chris Hurst Music 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:27 PM.


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