|
|
|
08-19-2014, 07:13 AM
|
#1
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
REQ: quickly switch to other plugins in FX chain
Since this FR got such an overwhelming ressonance I thought I'd ask if maybe someone's interested in doing it via an (Eel) script.
Basically it would bring up a small window listing all currently present FX on the currently selected track and clicking on an entry would bring up the floating GUI of this FX. (eg Ctrl+click on an entry could open a plugin GUI 'exclusive', closing all other GUI's of the chain).
When selecting another track the plugins list in the window would get updated, so there's only one "plugin switcher" window which could always stay open and positioned where needed.
As said in the FR, I think this could speed up mixing quite a bit (for me at least) having such a plugin switcher always present.
Last edited by nofish; 08-19-2014 at 07:22 AM.
|
|
|
08-19-2014, 01:37 PM
|
#2
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Here's my attempt : - Left mouse button: float/hide FX
- Ctrl + left mouse button: float FX, hide others in selected track
- Ctrl + mousewheel: increase/decrease the font size
Maybe there should be more colors for different FX states? ("enabled and floating", "bypassed and floating", "enabled and not floating" etc.)
Currently, the green color == FX GUI is floating.
Track FX selector (EEL script)
Download:
https://stash.reaper.fm/21543/Track%20FX%20selector.zip
Last edited by spk77; 08-19-2014 at 02:54 PM.
|
|
|
08-19-2014, 02:10 PM
|
#3
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Extraordinary, as usual!!!
|
|
|
08-19-2014, 02:15 PM
|
#4
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by Soli Deo Gloria
Extraordinary, as usual!!!
|
Thanks! I hope it works
|
|
|
08-19-2014, 02:35 PM
|
#5
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Oh wow ! Don't know what to say really, I didn't expect someone doing it THIS fast
Thank you so much spk77.
That's exactly how I had in mind, love it already.
From my short test now it seems to work fine.
I'm away till end of August though and can only test extensively after this.
More colors for different FX states I think aren't really necessary (for me anyways).
But other things I already thought of (if you're in the mood)...
- automatic vertical (edited) resizing of the window to adapt for different number of FX in the chain but still consume as less space as possible (don't know if this would be possible at all), automatic horizontal resizing wouldn't be necessary imo, even if truncated one can figure out the names anyway.
- Alt+click: Float FX and hide ALL others (not just on the selected track) for quick "cleanup"
Thank you again, your contributions are very appreciated.
|
|
|
08-19-2014, 02:51 PM
|
#6
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by nofish
Oh wow ! Don't know what to say really, I didn't expect someone doing it THIS fast
Thank you so much spk77.
That's exactly how I had in mind, love it already.
From my short test now it seems to work fine.
I'm away till end of August though and can only test extensively after this.
More colors for different FX states I think aren't really necessary (for me anyways).
|
Thanks
Quote:
Originally Posted by nofish
But other things I already thought of (if you're in the mood)...
- automatic vertical (edited) resizing of the window to adapt for different number of FX in the chain but still consume as less space as possible (don't know if this would be possible at all), automatic horizontal resizing wouldn't be necessary imo, even if truncated one can figure out the names anyway.
|
Hmm..this is not possible - the window size can be set only when "initializing" the script.
Quote:
Originally Posted by nofish
- Alt+click: Float FX and hide ALL others (not just on the selected track) for quick "cleanup"
|
This is possible - I'll add it later.
EDIT: Forgot to mention - CTRL + Mousewheel: increase/decrease the font size
|
|
|
08-19-2014, 03:02 PM
|
#7
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,096
|
Quote:
Originally Posted by spk77
Hmm..this is not possible - the window size can be set only when "initializing" the script.
|
Ah ok.
Quote:
This is possible - I'll add it later.
|
Cool, thanks.
Quote:
EDIT: Forgot to mention - CTRL + Mousewheel: increase/decrease the font size
|
That's also a nice touch.
You know what, I think this script gives me motivation to finally try to dive into Eel myself. I'll try to find out and understand what you did there and how.
|
|
|
08-19-2014, 03:27 PM
|
#8
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by nofish
You know what, I think this script gives me motivation to finally try to dive into Eel myself. I'll try to find out and understand what you did there and how.
|
Nice!
(Just think that the "main function" in the script runs in a loop - at the end of the "main function", the window is updated with gfx_update())
|
|
|
10-12-2014, 05:42 AM
|
#9
|
Human being with feelings
Join Date: Feb 2012
Posts: 1,972
|
Great! Now i don't need my mixer opened everytime. Thanks
Btw is it possible to change background color? Which value i need to change?
|
|
|
10-12-2014, 12:18 PM
|
#10
|
Human being with feelings
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
|
I have some EEL scripts for OSCII-bot that allow the user to use cursor keys to navigate effect UI windows in REAPER (automatically open newly selected effect window, close all others) whenever the script window has focus. Would that perhaps also be useful to you?
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
|
|
|
10-26-2014, 06:58 AM
|
#11
|
Human being with feelings
Join Date: Feb 2012
Posts: 1,972
|
Btw is it possible to change background color from black to something else? What i need to tweak?
|
|
|
10-26-2014, 07:14 AM
|
#12
|
Human being with feelings
Join Date: Feb 2012
Posts: 1,972
|
This is a nice concept of floating inspector window
Is it also possible to add track name here?
|
|
|
03-01-2015, 10:27 AM
|
#13
|
Human being with feelings
Join Date: Jun 2006
Posts: 22,567
|
Quote:
Originally Posted by spk77
Here's my attempt : - Left mouse button: float/hide FX
- Ctrl + left mouse button: float FX, hide others in selected track
- Ctrl + mousewheel: increase/decrease the font size
Maybe there should be more colors for different FX states? ("enabled and floating", "bypassed and floating", "enabled and not floating" etc.)
Currently, the green color == FX GUI is floating.
Track FX selector (EEL script)
Download:
https://stash.reaper.fm/21543/Track%20FX%20selector.zip
|
this is great!!! I almost wished it could be integrated in another way - I have it in the docker right now. I wish we just had this integrated in the TCP
|
|
|
03-06-2015, 05:01 AM
|
#14
|
Human being with feelings
Join Date: Jun 2011
Posts: 603
|
Hi spk77,
Thanks for this useful script. I wonder if it's possible to add volume slider, pan & send knobs to this script? This way it will be like a mixer channelstrip and will be very useful so you dont need to open up the whole mixer for quick edits. For small screen and compact theme users it will be huge space saver. Thanks...
|
|
|
03-11-2015, 08:32 AM
|
#15
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by mehmethan
Hi spk77,
Thanks for this useful script. I wonder if it's possible to add volume slider, pan & send knobs to this script? This way it will be like a mixer channelstrip and will be very useful so you dont need to open up the whole mixer for quick edits. For small screen and compact theme users it will be huge space saver. Thanks...
|
Hi,
Thanks! We are making something like this with ReaScript Lua (it will be a track inspector):
http://forum.cockos.com/showthread.php?t=156739
|
|
|
03-22-2015, 05:55 PM
|
#16
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by Jason Brian Merrill
this is great!!! I almost wished it could be integrated in another way - I have it in the docker right now. I wish we just had this integrated in the TCP
|
me too (devs!) but still super useful!
__________________
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.
|
|
|
03-22-2015, 06:42 PM
|
#17
|
Human being with feelings
Join Date: Dec 2011
Posts: 2,161
|
this looks interesting !
Can anyone point to info on how to use EEL scripts ?
Can this be used in Reaper v4 ?
I've not seen this format before ... help appreciated.
Thanks
|
|
|
03-23-2015, 12:33 AM
|
#18
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,239
|
Quote:
Originally Posted by RJHollins
this looks interesting !
Can anyone point to info on how to use EEL scripts ?
Can this be used in Reaper v4 ?
I've not seen this format before ... help appreciated.
Thanks
|
EEL or Lua scripts work the same as python ones. Just load them in the actions window
EEL is for REAPER 4.6 and above.
Lua for REAPER 5 and above.
But there can be some EEL scripts with specific REAPER 5 functions that can only work in REAPER 5. So the script should specify which version of REAPER you need.
Someone should make a sticky post on HOW TO USE SCRIPTS
|
|
|
03-23-2015, 09:22 AM
|
#19
|
Human being with feelings
Join Date: May 2010
Location: Austin, TX
Posts: 791
|
spk77, thanks for this script!
It looks like there's a way in R5 to make the script remember it's docked state but I couldn't get it to work. Is this possibe?
Thanks
|
|
|
01-11-2016, 08:59 PM
|
#20
|
Human being with feelings
Join Date: Apr 2015
Posts: 589
|
This script looks promising but after load on action list and call action script - nothing showing up even on tracks when its called. R5
|
|
|
01-12-2016, 12:31 PM
|
#21
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by mehmethan
Hi spk77,
Thanks for this useful script. I wonder if it's possible to add volume slider, pan & send knobs to this script? This way it will be like a mixer channelstrip and will be very useful so you dont need to open up the whole mixer for quick edits. For small screen and compact theme users it will be huge space saver. Thanks...
|
This Lua script will be "channelstrip lite" :
(Currently there's just a volume fader)
Last edited by spk77; 01-12-2016 at 12:39 PM.
|
|
|
01-14-2016, 12:35 PM
|
#22
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Volume faders seem to be working...
|
|
|
01-14-2016, 12:43 PM
|
#23
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
I've got my eye on this still! nice work!
__________________
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.
|
|
|
01-15-2016, 11:21 AM
|
#24
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by musicbynumbers
I've got my eye on this still! nice work!
|
Thanks
If someone likes to test this Mixer thing, here's the download link:
https://stash.reaper.fm/26308/spk77_Mixer.zip
(no FX support yet) - select track(s)
- run the script (the GUI should appear at the mouse cursor)
- support for 15 tracks per mixer (more later)
(I'll create a new thread for this script later.)
Last edited by spk77; 01-15-2016 at 11:27 AM.
|
|
|
01-15-2016, 01:53 PM
|
#25
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,239
|
this is great spk77
Testing it
long track names won't fit very well, maybe the track icon could be represented too.
also a mode switch to automatically switch to selected tracks instead of opening a new window. I think you had that feature in other script, but can't find it here. Or it may be a separated script combining all the ones you have with the FX and sends, all in one inspector script for selected tracks.
Last edited by heda; 01-15-2016 at 02:02 PM.
|
|
|
01-15-2016, 03:03 PM
|
#26
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Thanks Heda
"Lock to selected tracks" -mode (like in "Track IO mixer" -script) will be added later. (the current behavior was easiest to implement for this test ).
Fitting long track names is a problem when using vertical sliders...I don't know how they should be handled.
|
|
|
01-15-2016, 06:47 PM
|
#27
|
Human being with feelings
Join Date: Nov 2009
Location: Toronto
Posts: 102
|
Quote:
Originally Posted by spk77
Volume faders seem to be working...
|
this is so neat
|
|
|
02-04-2016, 07:50 PM
|
#28
|
Human being with feelings
Join Date: Apr 2015
Posts: 589
|
This thing with mixer is very - original. Interesting thing.
I tested and working here. Super.
This thing with display VST is good. It's work but actually for me display
only VSTI. Other fields (VST) is dark but when i click them - VST windows is showing. Maybe some font color problem here - same as background ?
Thing for showing I/O list like VST display thing (or combination) would be nice too cause minimised mixer tracks not showing I/O - same as arrange tracks not showing I/O.
THX for experiments. Super.
Last edited by X-Tech; 02-04-2016 at 08:03 PM.
|
|
|
11-09-2016, 02:57 AM
|
#29
|
Human being with feelings
Join Date: Apr 2016
Posts: 122
|
Quote:
Originally Posted by spk77
Here's my attempt :
|
Great script, thanks!
It opens the plugins in the FX window, rather than a separate window on my Mac. Is there a way to fix this?
|
|
|
12-26-2016, 03:07 AM
|
#30
|
Human being with feelings
Join Date: Mar 2013
Posts: 213
|
Hello everyone !
First of all, thank you spk77 for this script !
I've tweaked it to fit my needs, so I've added the selected track name on top of the FX list, I've tried to get rid of the prefix and it's almost working - only the 5 first characters are hidden so when the prefix is longer, there is a problem, but no big deal. I've also put aside the mousewheel support for font size beacause I didn't need it.
Now I would like to color the track name font with the custom color of the track. I think I have to use this :
GetMediaTrackInfo_Value( tr, "parmname" )
But I really don't know how to do it...
Is there a Script Guru kind enough to show me the way please ?
Here is my modified code so far :
Code:
small_size = 22;
big_size = 47;
font_name = "Verdana";
function init(window_w, window_h)
(
//gfx_a = 1; gfx_r = 1; gfx_g = 1; gfx_b = 1;
gfx_init("Track FX selector", window_w, window_h);
gfx_setfont(1, font_name, small_size);
);
function main() local(sel_track)
(
gfx_x = 10;
gfx_y = 0;
(sel_track = GetSelectedTrack(0, 0)) ? (
i = 0;
(GetSetMediaTrackInfo_String(sel_track, "P_NAME", #trackname, 0);
GetMediaTrackInfo_Value(sel_track, "I_CUSTOMCOLOR" )
);
gfx_setfont(2, font_name, big_size, 'b');
gfx_a = 1; gfx_r = 0; gfx_g = 1; gfx_b = 0;
gfx_printf(#trackname);
gfx_measurestr(#trackname, s_w2, s_h2);
gfx_x = 10;
gfx_y += s_h2;
TrackFX_GetCount(sel_track) ? (
gfx_setfont(1, font_name, small_size);
loop(TrackFX_GetCount(sel_track),
TrackFX_GetOpen(sel_track, i) ? (
gfx_a = 0.8; gfx_r = 0; gfx_g = 1; gfx_b = 0;
) : (
gfx_a = 0.7; gfx_r = 0.8; gfx_g = 0.8; gfx_b = 0.8;
);
TrackFX_GetFXName(sel_track, i, #fx_namebuf);
str_delsub(#fx_namebuf,0,5);
gfx_measurestr(#fx_namebuf, s_w, s_h);
mouse_x > 10 && mouse_x < 10 + s_w && mouse_y > s_h2 + i * s_h && mouse_y < s_h2 + i * s_h + s_h && mouse_state == 0 ? (
gfx_a = 1;
mouse_cap == 1 ? (
mouse_state == 0 ? (
mouse_state = 1;
TrackFX_SetOpen(sel_track, i, !TrackFX_GetOpen(sel_track, i));
last_clicked_fx = i;
);
);
mouse_cap == 5 && mouse_state == 0 ? (
mouse_state = 1;
j = 0;
!TrackFX_GetOpen(sel_track, i) ? TrackFX_SetOpen(sel_track, i , 1);
loop(TrackFX_GetCount(sel_track),
j != i ? TrackFX_SetOpen(sel_track, j, 0);
j += 1;
);
);
);
gfx_printf(#fx_namebuf);
//gfx_printf("%d", mouse_cap);
i < TrackFX_GetCount(sel_track) ? (
gfx_x = 10;
gfx_y += s_h;
);
i += 1;
);
) : (
gfx_a = 0.8; gfx_r = 1; gfx_g = 0; gfx_b = 0;
gfx_x = 10;
gfx_y += s_h2;
gfx_setfont(1, font_name, small_size);
gfx_printf("No FXs on selected track");
);
) : (
gfx_a = 0.8; gfx_r = 1; gfx_g = 0; gfx_b = 0;
gfx_printf("Please select a track");
);
mouse_cap == 0 || mouse_cap == 4 ? mouse_state = 0;
mouse_cap >= 1 && (mouse_x < 10 || mouse_x > gfx_w || mouse_y < 10 || mouse_y > gfx_h) ? mouse_state = -1;
gfx_update();
gfx_getchar() >= 0 ? defer("main();");
);
// init(window_w, window_h);
init(569, 300);
main();
By the way, I almost forgot. I'm also trying to have some specific keystrokes to pass through the script window. I guess it can be done at the "gfx_getchar() >= 0 ?" level. I know how to do it in .lua but once again, I don't understand the .eel structure as well as I want to...
|
|
|
12-26-2016, 03:44 PM
|
#31
|
Human being with feelings
Join Date: Mar 2013
Posts: 213
|
Ok, so I managed to color the track name just as I wanted to !
Note, it should only work for Mac as there is a problem with RGB translation...
I've also added a bypass toggle function with right click on fx name. It seems to work just as expected but I need to test it a little bit more to be sure.
Here is the code :
Code:
small_size = 22;
big_size = 29;
font_name = "Verdana";
function init(window_w, window_h)
(
//gfx_a = 1; gfx_r = 1; gfx_g = 1; gfx_b = 1;
gfx_init("Track FX selector", window_w, window_h);
gfx_setfont(1, font_name, small_size);
);
function INT2RGB(i) local(x y z) instance(R G B)
(
R = i & 255;
G = (i >> 8) & 255;
B = (i >> 16) & 255;
R = R/255;
G = G/255;
B = B/255;
);
function main() local(sel_track)
(
gfx_x = 10;
gfx_y = 0;
(sel_track = GetSelectedTrack(0, 0)) ? (
i = 0;
(GetSetMediaTrackInfo_String(sel_track, "P_NAME", #trackname, 0);
track_color = GetTrackColor( sel_track );
RGB.INT2RGB(track_color););
gfx_setfont(2, font_name, big_size, 'b');
gfx_a = 1; gfx_r = 0; gfx_g = 1; gfx_b = 0;
gfx_a = 1; gfx_r = RGB.B; gfx_g = RGB.G; gfx_b = RGB.R;
gfx_printf(#trackname);
gfx_measurestr(#trackname, s_w2, s_h2);
gfx_x = 10;
gfx_y += s_h2;
TrackFX_GetCount(sel_track) ? (
gfx_setfont(1, font_name, small_size);
loop(TrackFX_GetCount(sel_track),
TrackFX_GetOpen(sel_track, i) ? (
gfx_a = 0.8; gfx_r = 0; gfx_g = 1; gfx_b = 0;
) : (
gfx_a = 0.7; gfx_r = 0.8; gfx_g = 0.8; gfx_b = 0.8;
);
TrackFX_GetFXName(sel_track, i, #fx_namebuf);
str_delsub(#fx_namebuf,0,5);
gfx_measurestr(#fx_namebuf, s_w, s_h);
mouse_x > 10 && mouse_x < 10 + s_w && mouse_y > s_h2 + i * s_h && mouse_y < s_h2 + i * s_h + s_h && mouse_state == 0 ? (
gfx_a = 1;
mouse_cap == 1 ? (
mouse_state == 0 ? (
mouse_state = 1;
TrackFX_SetOpen(sel_track, i, !TrackFX_GetOpen(sel_track, i));
last_clicked_fx = i;
);
);
mouse_cap == 2 ? (
mouse_state == 0 ? (
mouse_state = 1;
#byp_char = "_S&M_FXBYP";
k = i + 1;
sprintf(#byp_k, "%d", k );
strcat(#byp_char,#byp_k );
Main_OnCommandEx(NamedCommandLookup(#byp_char), i, 0 );
last_clicked_fx = i;
);
);
mouse_cap == 5 && mouse_state == 0 ? (
mouse_state = 1;
j = 0;
!TrackFX_GetOpen(sel_track, i) ? TrackFX_SetOpen(sel_track, i , 1);
loop(TrackFX_GetCount(sel_track),
j != i ? TrackFX_SetOpen(sel_track, j, 0);
j += 1;
);
);
);
gfx_printf(#fx_namebuf);
//gfx_printf("%d", mouse_cap);
i < TrackFX_GetCount(sel_track) ? (
gfx_x = 10;
gfx_y += s_h;
);
i += 1;
);
) : (
gfx_a = 0.8; gfx_r = 1; gfx_g = 0; gfx_b = 0;
gfx_x = 10;
gfx_y += s_h2;
gfx_setfont(1, font_name, small_size);
gfx_printf("No FXs on selected track");
);
) : (
gfx_a = 0.8; gfx_r = 1; gfx_g = 0; gfx_b = 0;
gfx_printf("Please select a track");
);
mouse_cap == 0 || mouse_cap == 4 ? mouse_state = 0;
mouse_cap >= 1 && (mouse_x < 10 || mouse_x > gfx_w || mouse_y < 10 || mouse_y > gfx_h) ? mouse_state = -1;
gfx_update();
gfx_getchar() >= 0 ? defer("main();");
);
// init(window_w, window_h);
init(447, 347);
main();
I still gotta find a way to have some specific keystrokes to pass through the script window...
And now with the bypass toggle thing, I'll have to find how to get the font color of bypassed FX to reflect this state...
Ideas are welcome
|
|
|
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:18 PM.
|