 |
|
|
02-18-2018, 10:18 AM
|
#1
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
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 stuff you can imagine (thanks to REAPER devs). Limitations are mostly coming from API, so it can`t fry bacon, but may show current plugin learned parameters or FX chain aligned horizontally, for example.
Download/Install:
- Install ReaPack and SWS Extensions
- run ActionList > ReaPack: Browse packages...
- navigate and install InteractiveToolbar and Various_functions packages
Last edited by mpl; 05-10-2020 at 02:42 AM.
|
|
|
02-18-2018, 10:44 AM
|
#2
|
Human being with feelings
Join Date: Sep 2008
Location: Illville - Germany
Posts: 969
|
Quote:
Originally Posted by mpl
This probably not such usefull tool as Heda`s stuff
|
WTF?
This is hella useful!
|
|
|
02-18-2018, 01:02 PM
|
#3
|
Human being with feelings
Join Date: Mar 2017
Location: Wales, UK
Posts: 75
|
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...!
|
|
|
02-18-2018, 01:13 PM
|
#4
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
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.
|
|
|
02-18-2018, 01:25 PM
|
#5
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
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
|
|
|
02-18-2018, 01:33 PM
|
#6
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
Quote:
Originally Posted by IXix
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?
|
|
|
02-18-2018, 01:47 PM
|
#7
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-18-2018, 01:54 PM
|
#8
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
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.
|
|
|
02-18-2018, 02:00 PM
|
#9
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
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.
|
|
|
02-18-2018, 02:05 PM
|
#10
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Quote:
Originally Posted by HighVoltage
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.
|
|
|
02-18-2018, 11:12 PM
|
#11
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
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.
Last edited by mpl; 02-18-2018 at 11:31 PM.
|
|
|
02-19-2018, 04:30 AM
|
#12
|
Human being with feelings
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,842
|
Quote:
Originally Posted by mpl
1.02 should fix the problem with renamed FX and mousewheel scrolling for item name.
|
Crash is fixed. Cool script!
|
|
|
02-19-2018, 07:35 AM
|
#13
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
Works smoothly here so far!
Thanks for the awesomeness!
|
|
|
02-19-2018, 08:14 AM
|
#14
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,926
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-19-2018, 08:37 AM
|
#15
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
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.
Last edited by mpl; 02-19-2018 at 08:46 AM.
|
|
|
02-19-2018, 08:50 AM
|
#16
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
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.
|
|
|
02-19-2018, 09:00 AM
|
#17
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,926
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-19-2018, 10:20 AM
|
#18
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
Quote:
Originally Posted by HighVoltage
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.
|
|
|
02-19-2018, 11:34 AM
|
#19
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-19-2018, 11:37 AM
|
#20
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
Does he use mousewhell also somethere?
|
|
|
02-19-2018, 11:39 AM
|
#21
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-19-2018, 12:12 PM
|
#22
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
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).
Last edited by mpl; 02-19-2018 at 12:21 PM.
|
|
|
02-19-2018, 12:59 PM
|
#23
|
Human being with feelings
Join Date: Jun 2008
Location: Whales, UK
Posts: 5,967
|
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
|
|
|
02-19-2018, 01:04 PM
|
#24
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
GUI/Data update speed is up to ReaScript rules, so no option here. Showing plugin parameters is up to plugin developers.
|
|
|
02-19-2018, 01:54 PM
|
#25
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-19-2018, 08:01 PM
|
#26
|
Human being with feelings
Join Date: Jun 2008
Location: Whales, UK
Posts: 5,967
|
Quote:
Originally Posted by mpl
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
|
|
|
02-20-2018, 12:41 AM
|
#27
|
Human being with feelings
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 280
|
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 !!
|
|
|
02-20-2018, 01:06 AM
|
#28
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
Quote:
Originally Posted by lachinhan
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
|
|
|
|
02-20-2018, 01:45 AM
|
#29
|
Human being with feelings
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 280
|
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 !
|
|
|
02-20-2018, 06:08 AM
|
#30
|
Human being with feelings
Join Date: Apr 2016
Posts: 103
|
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?
|
|
|
02-20-2018, 06:23 AM
|
#31
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
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.
|
|
|
02-20-2018, 06:29 AM
|
#32
|
Human being with feelings
Join Date: Apr 2016
Posts: 103
|
Quote:
Originally Posted by mpl
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!
|
|
|
02-20-2018, 07:10 AM
|
#33
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
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.
|
|
|
02-20-2018, 12:17 PM
|
#34
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
Of course possible (as a lot of things in REAPER). But not sure it is related to this thread.
Last edited by mpl; 02-20-2018 at 12:24 PM.
|
|
|
02-21-2018, 02:17 AM
|
#35
|
Human being with feelings
Join Date: Mar 2017
Location: Wales, UK
Posts: 75
|
Quote:
Originally Posted by mpl
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.
|
|
|
02-21-2018, 09:06 AM
|
#36
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,878
|
You only need to reopen the script again after this (for Graphics update, currently it doesnt refresh after changing dock state and docker actually)
|
|
|
02-21-2018, 12:25 PM
|
#37
|
Human being with feelings
Join Date: Mar 2017
Location: Wales, UK
Posts: 75
|
Quote:
Originally Posted by mpl
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!).
Last edited by Chris Hurst Music; 02-21-2018 at 01:53 PM.
|
|
|
02-21-2018, 01:19 PM
|
#38
|
Human being with feelings
Join Date: Jan 2007
Posts: 478
|
Quote:
Originally Posted by Chris Hurst Music
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
|
|
|
02-21-2018, 01:43 PM
|
#39
|
Banned
Join Date: Feb 2014
Location: Moscow, Russia
Posts: 554
|
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?
|
|
|
02-21-2018, 01:52 PM
|
#40
|
Human being with feelings
Join Date: Mar 2017
Location: Wales, UK
Posts: 75
|
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)
|
|
|
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 12:59 AM.
|