Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 09-07-2015, 11:06 AM   #1
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default Custom Action: Prevent UI Refresh Checkbox

When using complex custom actions ivolving moving items or moving the cursor several times, we can see the display changing very fast.

Actually, to avoid that, when I use a complex custom actions, I add PreventUIRefresh with two scripts, at the end and at the bottom of the action.
Scripts (EEL): Prevent UI Refresh for Custom Actions

Maybe we could have a simple checkbox "PreventUIRefresh" below Consolidates Undo Point ?

It would be very useful, way more handy than adding these scripts manually in each custom actons. There is rare cases for which no ui refresh is needed in a complex macro.

Thanks for listening !
X-Raym is offline   Reply With Quote
Old 09-07-2015, 11:53 AM   #2
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,231
Default

Wow, this is great ; very welcome to me ; i hate those screen redraws .. haha.

Thanx X-Raym !

I will use your script in my intensive scripts and meanwhile dreaming of this functionality built in Reaper by Devs .. :0)
vanhaze is offline   Reply With Quote
Old 09-07-2015, 02:32 PM   #3
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Lovely idea. +1
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 09-15-2015, 02:58 AM   #4
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,164
Default

Custom action is text with action IDs so anyway we need native actions which will be added into custom action in kb.ini by clicking suggested option check.
mpl is offline   Reply With Quote
Old 09-23-2015, 04:35 AM   #5
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default

Because pf the new PreventUIRefresh preventing error system introduced recently, the trick that involves using my PreventUIRefresh trick doesn't work anymore.
This anti-bug system is really nice and save me a lot of time in scripting, but we really need a way to be able to prevent UI refresh for custom actions.

An other good reason to have a checkbox for this on the Create custom action window.
X-Raym is offline   Reply With Quote
Old 10-06-2015, 07:28 AM   #6
Triode
Human being with feelings
 
Triode's Avatar
 
Join Date: Jan 2012
Posts: 913
Default

Yes absolutely.

There are a number of my custom actions (and some single SWS actions) that create jittery graphics.

A tickbox that simplifies the UI refresh to the start and end of a custom action would help reaper feel way smoother to use.
__________________
Mixing / Brush and Beater Drums Online: www.outoftheboxsounds.com
Triode is online now   Reply With Quote
Old 10-06-2015, 08:01 AM   #7
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,231
Default

↑↑↑↑ This !
vanhaze is offline   Reply With Quote
Old 10-06-2015, 09:27 AM   #8
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default

Actually, I wonder in what circumstance we would not need this. Maybe it should be global, for all custom actions ?
X-Raym is offline   Reply With Quote
Old 02-22-2016, 08:16 PM   #9
onemillionmangos
Human being with feelings
 
Join Date: Mar 2013
Posts: 6
Default

yes please implement this. one of my most frequent shortcuts desperately needs this (increase to maximum waveform gain which is 40x duplicate waveform gain actions in a row because there is no appropriate action for this otherwise).
onemillionmangos is offline   Reply With Quote
Old 02-23-2016, 02:20 AM   #10
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default

The implementation of this function is up to cockos :P

Meanwhile, if you need to have a serie of actions without UI refresh, you can create a simple scripts that start and ends with the choosen action, and have call to this actions inbetween.

I made a template for you.
ReaScripts-Templates/X-Raym_Custom actions with UI refresh prevention.lua at master · ReaTeam/ReaScripts-Templates
X-Raym is offline   Reply With Quote
Old 06-06-2016, 01:25 PM   #11
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 6,498
Default

need this today. when a cycle action makes a selection the screen flashes are very annoying and you can't help but think the whole thing would run faster without updating the GUI for each loop.
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is online now   Reply With Quote
Old 06-06-2016, 03:04 PM   #12
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

X-Raym, could you do it with two scripts?

1:
- PreventUIRefresh(1)
- defer loop checking some ExtState's value
- when the ExtState returns 1, PreventUIRefresh(-1), set the ExtState to 0 again

2:
- Set the ExtState to 1

Then you just build your custom action like so:

Script 1
Action stuff
Action stuff
Action stuff
Script 2

I don't know how the PreventUIRefresh error checking you mentioned works, but it seems to me like this should work - the original script is running the entire time, so if the error checking is looking for scripts exiting it won't get caught.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 06-06-2016, 04:32 PM   #13
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default

@Lokasenna
No need for defer script,

having Main_OnCommand inside to PreventUIRefresh is enough

ReaScripts-Templates/X-Raym_Custom actions with UI refresh prevention.lua at master · ReaTeam/ReaScripts-Templates

But it is not really a plug and play solution accessible to everyone.
X-Raym is offline   Reply With Quote
Old 06-06-2016, 08:39 PM   #14
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

That's what I meant - using two separate actions makes it easy for people to use in their custom actions without making them fiddle with Lua.

Anyway, I tried it and it doesn't seem to work. Even with the initial script setting PreventUIRefresh(1) I can still see the individual actions happening. Oh well.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 06-07-2016, 02:58 AM   #15
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default

@Lokasenna
Inddeed, that is the point : this trick (having them in two separate actions) use to work and it works nicely.
In REAPER 5.1 (approx) a bug fix has been introduced to prevent orhelins PreventUIRefresh in scripts.
It is a very nice geature because in Lua, we used to break the UI refresh very often.
But now, we need a new way to add prevent UI refresh for custom action.
X-Raym is offline   Reply With Quote
Old 08-01-2016, 11:21 AM   #16
hscottaudio
Human being with feelings
 
Join Date: Jul 2016
Posts: 92
Default

Bumping this.

This feature is sorely needed!

Would greatly help to make reaper look and feel more 'solid'

Seeing the UI go mental as I navigate with my custom actions makes reaper feel less solid than it really is.

It's mainly a psychological thing (as-well as performance I hope) and is essential to making custom actions feel less clunky and also therefore turning reaper into a more attractive product to potential new users.

Cheers!

H
hscottaudio is offline   Reply With Quote
Old 02-28-2017, 05:53 AM   #17
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,189
Default

+1000000
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is online now   Reply With Quote
Old 11-27-2019, 02:33 PM   #18
BirdBird
Human being with feelings
 
BirdBird's Avatar
 
Join Date: Mar 2019
Posts: 254
Default

Is this still not possible?
BirdBird is offline   Reply With Quote
Old 06-14-2020, 01:44 PM   #19
Buy One
Human being with feelings
 
Join Date: Sep 2019
Posts: 580
Default

It gets my vote as well
Buy One is offline   Reply With Quote
Old 06-14-2020, 02:32 PM   #20
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 10,980
Default

SWS cycle actions can now be used as a workaround.
From the SWS v2.12.0 pre-release changelog:

Quote:
Cycle actions:
Optimize execution performance of cycle actions (they can now be used as a faster and flicker-free alternative to custom actions)
nofish is offline   Reply With Quote
Old 06-14-2020, 04:45 PM   #21
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 7,875
Default

Thanks nofish for the trick !
X-Raym is offline   Reply With Quote
Old 05-17-2021, 04:19 PM   #22
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,089
Default

Quote:
Originally Posted by nofish View Post
SWS cycle actions can now be used as a workaround.
From the SWS v2.12.0 pre-release changelog:
I am using a cycle action to switch toolbars but it still flickers. Am I doing something wrong or is this impossible to do without flicker?

This is the cycle action I am using:



And this is how it looks like (Licecap is not best to show this due too low framerate but it should still be clear what is happening):

Phazma is online now   Reply With Quote
Old 05-19-2021, 10:42 AM   #23
AZpercussion
Human being with feelings
 
Join Date: Oct 2019
Location: Moscow, Russia
Posts: 390
Default

Yes, I don't see a reason for haven't prevent UI refresh by default for all actions. Maybe it could switch off during record to smooth display recording.
AZpercussion is offline   Reply With Quote
Old 06-15-2021, 09:47 AM   #24
Delucci
Human being with feelings
 
Join Date: May 2017
Posts: 303
Default

Well I was looking for something like this and stumbled in people saying about Cycle Actions doing the job, worked like a charm!
Thanks so much for that.
Delucci is offline   Reply With Quote
Old 07-14-2021, 06:30 AM   #25
Buy One
Human being with feelings
 
Join Date: Sep 2019
Posts: 580
Default

Quote:
Originally Posted by Phazma View Post
I am using a cycle action to switch toolbars but it still flickers. Am I doing something wrong or is this impossible to do without flicker?
The cycle action editor has Prevent UI refresh checkbox? Doesn't it work?
__________________
Some scripts in ReaPack
Buy One is offline   Reply With Quote
Old 07-14-2021, 07:07 AM   #26
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 2,089
Default

Quote:
Originally Posted by Buy One View Post
The cycle action editor has Prevent UI refresh checkbox? Doesn't it work?
That checkbox doesn't work for this particular case. But the culprit seems not to be SWS but Reaper. I was told so by nofish when posting the same issue here: https://forum.cockos.com/showthread....99#post2450099
Phazma is online now   Reply With Quote
Old 07-14-2021, 07:51 AM   #27
Buy One
Human being with feelings
 
Join Date: Sep 2019
Posts: 580
Default

Quote:
Originally Posted by Phazma View Post
That checkbox doesn't work for this particular case. But the culprit seems not to be SWS but Reaper. I was told so by nofish when posting the same issue here: https://forum.cockos.com/showthread....99#post2450099
Ah, i see
__________________
Some scripts in ReaPack
Buy One 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 10:47 AM.


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