osara icon indicating copy to clipboard operation
osara copied to clipboard

Would it be possible for OSARA to implement an action that closes all windows other than the TCP?

Open ScottChesworth opened this issue 4 years ago • 8 comments

Reaper has a nasty habit of leaving empty windows scattered about. the FX window and Item Properties dialog seem to be the two most common offenders for me and my students. This behaviour can have negative impact on the functionality of widely adopted scripts and add-ons that screen scrape, such as the AutoHotkey offerings from Access4Music, the Golden Cursor and Sibiac NVDA add-ons etc.

What I'd ideally like is for OSARA to provide an action called something like "OSARA: Close all open windows other than the Track Control Panel", because as much as I'm a firm believer in people learning to troubleshoot, identify and rectify these situations, there have been plenty of times here where it's disrupted my creative flow. Being able to run a single action and retry whichever screen scrapey move just failed unexpectedly would've derailed things a lot less.

I've spoken to Cockos about this behaviour in the past, but haven't seen any movement toward a resolution, hence asking here.

Is there any mileage in it?

ScottChesworth avatar Dec 08 '20 20:12 ScottChesworth

Hi Scott, there is a reaper action that does this: I think something like "close all floating windows" I don't remember well but if you are interested I look for it because I use it and I mapped it: would it be enough to vocalize it?

ranetto avatar Dec 08 '20 20:12 ranetto

There is some functionality in Jim Snowbarger’s scripts for JAWS to determine if some of these windows are open and close them if a user wishes. From his web page:

“Detecting Open Windows

It is common for people to have certain windows open, and then leave that window without actually closing it, such that the window remains open, undetected. Often, they can block other things that would normally be visible. for example, open the media explorer, and thenb alt tab away from it, rather than pressing escape to close it. It will remain open, but not reachable. It is nromally difficul to return focus to those windows. but, this feature lets you scan for those open windows, and return focus to them so you can close them, or continue operating in them as needed. Press control+jawskey+f4. A list of open windows is presented. You can escape out of the list without choosing one. Or, use the up and down arrows to select a window, and press enter to place focus there.”

I haven’t seen an Osara feature to close all unwanted windows but I’m very new at Reaper and Osara.

--Pete

From: ranetto [email protected] Sent: Tuesday, December 8, 2020 1:55 PM To: jcsteh/osara [email protected] Cc: Subscribed [email protected] Subject: Re: [jcsteh/osara] Would it be possible for OSARA to implement an action that closes all windows other than the TCP? (#417)

Hi Scott, there is a reaper action that does this: I think something like "close all floating windows" I don't remember well but if you are interested I look for it because I use it and I mapped it: would it be enough to vocalize it?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jcsteh/osara/issues/417#issuecomment-741014505 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ADEPTJKYHRU3ZME2XZ5EDO3ST2HC5ANCNFSM4USP5FHQ .

ptorpey avatar Dec 08 '20 21:12 ptorpey

Last time I tested it @ranetto, the Reaper action you're talking about didn't catch FX windows that weren't set to be floating here and didn't seem to catch any stray instances of Item Properties for me either. If you know different and the functionality I'm chasing already exists, tell me your secrets. :)

Yeah @ptorpey, I know Jim has some functionality for this in his scripts, as does Alexey in Sibiac. Neither of those solutions cater for Mac folk though, and from a community tutorials/teaching perspective, I'd rather a universal, consistently mapped OSARA solution existed if such a thing is relatively easy to implement.

ScottChesworth avatar Dec 08 '20 21:12 ScottChesworth

This is another one of those cases where we have to interact with the GUI, so this probably wouldn't work on Mac anyway. Parts of it are possible - for example, item properties is a toggle action so we can check the state and trigger if it's on - but some cases, such as the FX window, will probably require OS specific stuff.

jcsteh avatar Dec 08 '20 22:12 jcsteh

I looked into this a bit more. It seems we don't need to do OS specific stuff here:

  1. SWS has SWS/S&M: Close all FX chain windows.
  2. In reading the code for that, I discovered the API functions (it's easy to miss them because there are so many) TrackFX_Show and TakeFX_Show, which allow you to hide FX windows. So we could do this without depending on SWS.
  3. For item properties, there's the toggle action Item properties: Toggle show media item/take properties; Command ID: 41589.

So the remaining question is whether there are any other windows we want to deal with here and whether they have toggle actions, since we need specific code for each one.

jcsteh avatar Dec 09 '20 03:12 jcsteh

Hi Scott, try this is a t Toggle show all floating windows.zip oggle but it works! I am attaching it here!

ranetto avatar Dec 09 '20 16:12 ranetto

So the remaining question is whether there are any other windows we want to deal with here and whether they have toggle actions, since we need specific code for each one.

I've just found this window hanging around that was breaking screen scraping on an older project: View: Show project bay window (ID 41157) May as well hide the mixer as part of this too I reckon, seeing as the only times I see it being mentioned is when it's preventing focus from landing properly in the Media Explorer: View: Toggle mixer visible (ID 40078)

ScottChesworth avatar Jan 21 '21 12:01 ScottChesworth

Hello, there is an action from SWS: SWS/S&M: Focus main window (close others)

Lo-lo78 avatar Nov 17 '21 19:11 Lo-lo78