# REAPER: Visual indication for disabled tracks



## lucor (Jan 8, 2016)

Hey guys!

I'm currently checking out Reaper 5 and I'm seriously impressed so far! Everything feels so slick and the ability to customize so much stuff yourself has me on the edge of switching my DAW from Cubase 8.5.
I encountered one problem so far though: I love Cubase's disable track feature and it has become a crucial part of my workflow, so I'm very happy that the same thing is also included in Reaper. I already found the action for it ("Set FX online/offline for selected track"), but I discovered that there seems to be no visual indication at all, if a track is activated or deactivated.
In Cubase deactivated tracks get greyed out (see picture). Is there something similar possible in Reaper? Otherwise things would get way to messy and confusing with 1000+ tracks.
I will also ask around in the Reaper forums, but my activation mail has still not been sent, so I hope until then someone can help me out here.

Cheers!


----------



## tack (Jan 8, 2016)

lucor said:


> I already found the action for it ("Set FX online/offline for selected track"), but I discovered that there seems to be no visual indication at all, if a track is activated or deactivated.


What I do is both offline/online _and_ bypass/unbypass track FX at the same time. The latter gives me the visual indication of which tracks I have onlined. Looks something like:






The green button on the right indicates the track is enabled, red means it's disabled (i.e. all FX offline and bypassed).

I use a SWS cycle action for this. I call it "Toggle all FX offline/bypass for selected tracks" and bind it to a shortcut key:


----------



## d.healey (Jan 8, 2016)

A quicker/clearer way to do this is to just click the FX on off button on the track.


----------



## tack (Jan 8, 2016)

d.healey said:


> A quicker/clearer way to do this is to just click the FX on off button on the track.


This just bypasses though. It doesn't bring all the FX offline.


----------



## tack (Jan 8, 2016)

d.healey said:


> Ah, What's the difference?


A bypassed FX is loaded but, uh, bypassed.  An offline FX is completely unloaded and doesn't consume any resources. So when you build your template with a bazillion instrument tracks and use a separate Kontakt instance for each, you can just bring everything offline as part of your template, and only online the tracks you need.

The trouble is that with FX offline, there is indeed no visual indicator in the TCP, unlike bypass (as you pointed out). This is why I combine both offline and bypass: the former gives me the resource savings and on-demand nature of the instrument, and the latter gives me the visual cue in the TCP as to which instruments I have enabled.


----------



## lucor (Jan 9, 2016)

That's a clever way of doing it, thanks tack!


----------



## Jaybee (Jan 9, 2016)

The SWS Extension set (http://www.sws-extension.org/) has some great actions you can combine (and assign to a button/keystroke) etc

I'm designing my first Reaper template after reading much great advice here (seems like it'll take until eternity to finish and I've nowhere near the amount of samples as some) but I've added two action sets to offline/bypass/record disable and online/load/record enable instances of Kontakt to manage memory efficiency.

These Custom Actions are assigned to buttons on a menu (or you could use a keystroke combo) so I select one (or more) Kontakt folder tracks, hit the "FX offline" button and the following action set is triggered:









To bring them online for use, select Kontakt folder track(s) required and hit my "FX online" button and the following action set is triggered:






Before the offline version of the track project/template is saved I'm purging all samples (my RAM & SSD seem up to loading on the fly - we will see if this happens on a heavy master template when I eventually finish it). The offline Kontakt instances leave a small footprint and only take a couple of seconds to boot up to the purged version so still remaining as light as possible before a note is played.

I'm doing this in sections (strings, woods, synths etc) all loaded, routed, balanced, purged so I can combine these sections later to make lighter custom project templates. That's the theory anyway.

Finally, when the track is offlined the FX indicator is Red and the track record light is off. The opposite applies for when it's online. So visually it's easy to see what's ready to go etc.


----------



## samphony (Jan 9, 2016)

You could add "lock track" to the custom action to dim it and as a visual aid.


----------



## Jaybee (Jan 9, 2016)

samphony said:


> You could add "lock track" to the custom action to dim it and as a visual aid.



Had no idea that was there, thanks! Reaper looks simple on the surface but under the hood....


----------



## lucor (Jan 9, 2016)

samphony said:


> You could add "lock track" to the custom action to dim it and as a visual aid.



That's even better, now it actually looks the same as in Cubase. Thanks a lot!


----------



## samphony (Jan 9, 2016)

You could also go a step further and hide locked tracks in your custom action workflow.


----------



## tack (Jan 9, 2016)

samphony said:


> You could add "lock track" to the custom action to dim it and as a visual aid.


Sweet. Definitely replacing my suggestion for me. Thanks. 

Though it's almost _too_ dim -- but I am sure the opacity is configurable somewhere. 

Edit: Locked track control panel overlay color, and Locked track control panel fill mode. So you can tweak both the tint and the opacity. Very nice!


----------



## Orchestrata (Jan 9, 2016)

Not really what you're looking for, but I'd be remiss if I didn't mention that hiding tracks also helps tremendously when working with massive sessions, and you can specify whether they're hidden in the TCP and/or MCP. Ctrl + Shift + M for track manager, and then you can click and slide over tracks / folders, and have an overview of solo, lock, record arm etc.


----------



## tack (Jan 9, 2016)

Along those lines, I wrote a script to toggle visibility of all disabled instrument tracks. It requires the VSTi instance names be prefixed with "VSTi:" which REAPER does by default. So you can bind this script to a shortcut to quickly hide/show just your instrument tracks. It doesn't touch non-instrument tracks so it preserves any folder structure, or non-instrument FX tracks. It also persists the visibility state with your project.


----------



## lucor (Jan 9, 2016)

tack said:


> Locked track control panel overlay color, and Locked track control panel fill mode. So you can tweak both the tint and the opacity. Very nice!



Where do you find these?



Orchestrata said:


> Not really what you're looking for, but I'd be remiss if I didn't mention that hiding tracks also helps tremendously when working with massive sessions, and you can specify whether they're hidden in the TCP and/or MCP. Ctrl + Shift + M for track manager, and then you can click and slide over tracks / folders, and have an overview of solo, lock, record arm etc.



Yeah, I'll definitely hide tracks that I only use on special occasions to reduce clutter.


----------



## tack (Jan 9, 2016)

lucor said:


> Where do you find these?


Open the actions list, search for "theme" and run the action "Theme Development: Show theme tweak/configuration window". It's in a track panel color section near the top (3rd section for me).


----------



## lucor (Jan 9, 2016)

tack said:


> Open the actions list, search for "theme" and run the action "Theme Development: Show theme tweak/configuration window". It's in a track panel color section near the top (3rd section for me).



Awesome, thanks!


----------



## tack (Jan 9, 2016)

Ah, one little wrinkle by adding "toggle lock/unlock track controls" to the cycle action list: when you want to _enable_, unlock must come first, before FX can be onlined and unbypassed. If you want to _disable_, lock must happen last (because otherwise offline and bypassing are ignored because the track is locked).

This means the order of the commands matters, and you can't just have a simple toggle action. And unfortunately "toggle lock/unlock track controls" does not report an on/off state so a cycle action IF statement can't be used.

I think this will need to be solved with a script then. I'll put something together later and share here.


----------



## lucor (Jan 9, 2016)

tack said:


> Ah, one little wrinkle by adding "toggle lock/unlock track controls" to the cycle action list: when you want to _enable_, unlock must come first, before FX can be onlined and unbypassed. If you want to _disable_, lock must happen last (because otherwise offline and bypassing are ignored because the track is locked).
> 
> This means the order of the commands matters, and you can't just have a simple toggle action. And unfortunately "toggle lock/unlock track controls" does not report an on/off state so a cycle action IF statement can't be used.
> 
> I think this will need to be solved with a script then. I'll put something together later and share here.



Mh are you sure? I have this very simple cycle at the moment (see picture) and it works like a charm. Everything gets loaded and unloaded without any interference by the lock.
Or does this only happen on special occasions?


----------



## tack (Jan 9, 2016)

lucor said:


> Or does this only happen on special occasions?


Yes, I see what's happening: it looks like toggle FX online/offline is not constrained by the track locking, but bypass _is_. I wanted to preserve the FX bypass (from my original suggestion) because other aspects of my workflow (such as the script I attached earlier) use the FX bypass state for decisions. I guess I will have to change one or the other.


----------



## tack (Jan 9, 2016)

And if I remember correctly, there was no API to get or set individual FX offline state with REAPER. So I'll need to preserve the FX bypass behaviour I currently have to keep my workflow intact.


----------



## tack (Jan 9, 2016)

Just in case anyone else is interested, here is a script to toggle FX online, bypass, as well as lock track controls.

As lucor showed, if you just want to toggle FX online and lock, you can use an SWS cycle action. If you want to include FX bypass as well (necessary for example if you also want to use my "toggle visibility of all disabled instrument tracks" script posted earlier), then you'll need to use this new script instead.

Thanks again samphony for the lock track controls tip.


----------



## Lannister (Jan 9, 2016)

tack said:


> Just in case anyone else is interested, here is a script to toggle FX online, bypass, as well as lock track controls.
> 
> As lucor showed, if you just want to toggle FX online and lock, you can use an SWS cycle action. If you want to include FX bypass as well (necessary for example if you also want to use my "toggle visibility of all disabled instrument tracks" script posted earlier), then you'll need to use this new script instead.
> 
> Thanks again samphony for the lock track controls tip.



Thanks for this. Replacing my basic toggle action toolbar button with it.


----------



## lucor (Jan 10, 2016)

tack said:


> Just in case anyone else is interested, here is a script to toggle FX online, bypass, as well as lock track controls.
> 
> As lucor showed, if you just want to toggle FX online and lock, you can use an SWS cycle action. If you want to include FX bypass as well (necessary for example if you also want to use my "toggle visibility of all disabled instrument tracks" script posted earlier), then you'll need to use this new script instead.
> 
> Thanks again samphony for the lock track controls tip.


Seems like including FX bypass might actually be necessary. Still working on my template and finally finished Brass today after the Woodwinds. With everything disabled Reaper is idling 40-50% CPU usage and that's still with Percussion, Strings and Reverb missing.
After additonally bypassing the FX on every track I'm mostly back to 0% CPU (with some Spikes here and there though, not sure where those are coming from yet).


----------



## tack (Jan 10, 2016)

lucor said:


> Seems like including FX bypass might actually be necessary. Still working on my template and finally finished Brass today after the Woodwinds. With everything disabled Reaper is idling 40-50% CPU usage and that's still with Percussion, Strings and Reverb missing.


Hm, that's interesting, but also suspicious. Are you certain the FX are truly offlined?


----------



## lucor (Jan 10, 2016)

tack said:


> Hm, that's interesting, but also suspicious. Are you certain the FX are truly offlined?


Pretty sure they are. At least I don't see any Kontakt samples getting loaded in when opening up the project (which I think would happen since I accidentaly left up some patches earlier and was greeted by a bunch of Kontakt loading screens when I reopened my template). Haven't loaded in any other plugins like EQ or Reverb so far either, so that also can't be it.


----------



## tack (Jan 10, 2016)

lucor said:


> Pretty sure they are. At least I don't see any Kontakt samples getting loaded in when opening up the project (which I think would happen since I accidentaly left up some patches earlier and was greeted by a bunch of Kontakt loading screens when I reopened my template).


When you open the FX panel for your disabled tracks, do you see something like this?


----------



## lucor (Jan 10, 2016)

tack said:


> When you open the FX panel for your disabled tracks, do you see something like this?


Yes, they are. Found the problem though, it was something else: 15 tracks were still record armed even though they were locked and disabled, which for some reason has a really high CPU usage. After removing the record arm CPU is back to 0%.
Gonna run some tests if re-enabling tracks with your script takes longer than the simple cycle I used before; if not I guess I'll keep it anyway so I can use your other script.


----------



## tack (Jan 10, 2016)

lucor said:


> Gonna run some tests if re-enabling tracks with your script takes longer than the simple cycle I used before


I strongly doubt it will be slower -- I mean it's basically the same actions under the hood. There is one scenario where it might be slightly visually glitchy, which is when you select multiple tracks, some of them currently enabled and some disabled, and you use the script to toggle them. Surely that's a rare edge case though.


----------



## lucor (Jan 12, 2016)

Finally done... But my template with 1458 track is 1,2gb big.  I mean HD space isn't expensive in todays day and age, but does REAPER have some nifty tricks to reduce the project size?


----------



## d.healey (Jan 12, 2016)

lucor said:


> Finally done... But my template with 1458 track


I'd love to see your music performed live


----------



## EvilDragon (Jan 12, 2016)

lucor said:


> Finally done... But my template with 1458 track is 1,2gb big.  I mean HD space isn't expensive in todays day and age, but does REAPER have some nifty tricks to reduce the project size?



Nope. RPP file format is completely uncompressed, human-readable XML-like format. That's why it's so big.


----------



## tack (Jan 12, 2016)

EvilDragon said:


> Nope. RPP file format is completely uncompressed, human-readable XML-like format. That's why it's so big.


And slow to save. I find even a few hundred tracks obnoxiously slow -- and unusably slow over CIFS. I can't even imagine a 1500 track, 1.2GB project file. Over the last two decades I have had ctrl-s ingrained as a reflex action and it gets slow enough that it's disrupting to my workflow.

Some mild compression (e.g. Snappy or LZ4, which are extremely fast for about 2x compression) would improve things a bit but honestly I'd rather REAPER just use a suitable binary format that is efficient to serialize (and deserialize) and provide an offline tool for conversion to and from a human readable format (because being able to edit the project files really is a great feature).


----------



## EvilDragon (Jan 12, 2016)

Yeah that probably won't ever happen.

SSDs should help in decreasing the saving time, though, no?


----------



## tack (Jan 12, 2016)

EvilDragon said:


> SSDs should help in decreasing the saving time, though, no?


They do, and I moved my project files from my NAS (via CIFS) to local SSD. But it's still a few seconds to save, during which time the UI is hung, which is quite enough to annoy. I actually haven't measured, but I have assumed the save process is now CPU bound, because it takes longer than it should given the I/O I can do on SSD. Serializing that much data to a text format is the likely culprit, CPU-wise.


----------



## storyteller (Aug 15, 2016)

16 years with Protools (with a few on-and-off-again years with the other big DAWs), I'm now a happy new Reaper convert. I haven't hit production stride with it yet as I just started building out my template for it, but I'm really excited about it so far. After just finishing a new production template in Protools, I hit my wits end with it (and its egregious amount of bugs and crashes, among other problems). So now its just a matter of sunsetting one, and watching it rise on another. It's a good feeling. 

@tack - your script was just what I was looking for. Thanks for posting it.


----------



## tack (Aug 15, 2016)

storyteller said:


> @tack - your script was just what I was looking for. Thanks for posting


Glad it helped!


----------



## Quasar (Apr 13, 2017)

tack said:


> Glad it helped!


I know this thread is almost a year old, but Google brought me here and I wanted to say thank you. This morning I had no idea how to disable a track other than to bypass FX. Now I have a perfect environment for this, having been able to:

1) Disable/re-enable selected tracks.
2) Toggle the visibility of disabled (VSTi) tracks.
3) Make easy to use-&-remember key shortcuts, as well as a main toolbar icon for the toggle and quick access in the Actions Menu for enable/disable.
4) Customize the tint and translucency for the dimmed (locked) disabled tracks so the track names are easy to read but the disabled status is obvious at a glance.

What this effectively does is remove the resource cap barrier for creating more complete orchestral templates. It works perfectly (yes, the order of the individual commands matters) and the info here (with your lua script) has been extremely helpful and awesome. Thanks again!


----------



## tack (Apr 13, 2017)

Tugboat said:


> What this effectively does is remove the resource cap barrier for creating more complete orchestral templates.


Or at least it shifts it.  Right now the biggest obstacle for me with a template a bit shy of 200 tracks is the project file size. An empty template saved out is 200MB in size and takes about 2 seconds (locally to my SSD). That's not exactly debilitating, but I think a much larger template would start to get rather unwieldy in terms of file size and save times.



Tugboat said:


> It works perfectly (yes, the order of the individual commands matters) and the info here (with your lua script) has been extremely helpful and awesome. Thanks again!


You're very welcome! I'm always happy to learn when my meager efforts make someone else's life easier.


----------



## Quasar (Apr 13, 2017)

tack said:


> Or at least it shifts it.  Right now the biggest obstacle for me with a template a bit shy of 200 tracks is the project file size. An empty template saved out is 200MB in size and takes about 2 seconds (locally to my SSD). That's not exactly debilitating, but I think a much larger template would start to get rather unwieldy in terms of file size and save times.
> 
> 
> You're very welcome! I'm always happy to learn when my meager efforts make someone else's life easier.



I don't currently have any templates much bigger than about 40MB, but this seems more or less right (with a fairly wide variability) of about 1MB per track. But this is a much higher class problem than not being able to build a comprehensive orchestra template to begin with, and longer loading times for tasks that either precede or follow the actual work are much more tolerable than delays _during_ project work...

...Trying to figure out a way to do what I see in those video tutorials using Cubase (where I gather tracks can easily be enabled/disabled) was driving me nuts, and I usually don't have a lot of patience for workarounds that are too involved or geeky. So this has been a godsend. I'm going to be busy over the next short while making some really sweet templates... I'm still in the "scuffling forward" stage with all things orchestral, and don't mind admitting it.


----------



## robgb (Apr 14, 2017)

Why disable? Doesn't Reaper cut the cpu draw from a track when you simply mute the track?


----------



## tack (Apr 14, 2017)

robgb said:


> Why disable?


Memory usage and load times.


----------



## Stevie (Nov 29, 2017)

I compared my cycle action to the script and to my surprise my cycle action seems to perform a bit better:
https://forums.cockos.com/showpost.php?p=1914696&postcount=12


----------



## Quasar (Nov 29, 2017)

Stevie said:


> I compared my cycle action to the script and to my surprise my cycle action seems to perform a bit better:
> https://forums.cockos.com/showpost.php?p=1914696&postcount=12



I'm really happy with the action sequence Jason helped me with, but this looks cool. I've saved a snapshot of the your actions and I'll give it a shot when I'm feeling ambitious. Thanks.


----------



## Stevie (Nov 29, 2017)

You're welcome, maybe Jason's script performs better on your machine. I think it's a matter of trying out.


----------

