Closed Lo-lo78 closed 2 weeks ago
Sorry! I forgot! π In the menu the selected track is: Track # 6 You can edit 6 snare for the selected track? For example: 6 snare Sends: 10 loop 23 pad 2 26 reverb snare c l o s e c ;)
Hi
You wrote:
In the menu there is the selected track with the number but there is no name.
The display of send destination or receive source track name in the menu is already supported, unless you mean something else. If the track is not named only its number is displayed.
Hi Buyone, yes the sends and receives are perfect. When the menu opens it also tells me the selected track but only with a number without the name: "Track # 1" I confirm.Then the sends and receives are clearly named. I don't know if in the menu, in addition to other information, the number of the selected song visually appears. With the screen reader the menu is as follows: Track # 1 Sends: 8 guitar c l o s e This is the receiving track: Track # 8 Receives: 1 voice c l o s e When I select guitar track 8 in the menu it says: "Track # 8" When I select vocal track 1: Track # 1 I'm talking about the menu that opens when you start the script. Technically it's a menu but it's like a list. Thank you!
Hi
I've just added current track name readout to the menu title so it reads for example Track # 1 - My track name
Yes! Works well... πππ THANK YOU!
Great!
Hi Buyone, I'm trying to figure out why when I select a send or receive track the screen reader reads the main Reaper window. In the previous version this did not happen. Did you make any other changes besides the name of the track? We could understand where the problem lies. ;) I explain to you: I do a custom action with: "Script: BuyOne_Navigate to track send destination or receive source track via menu.lua" "OSARA: Report track/item/time/MIDI selection (depending on focus)" The OSARA script reads the selected track when I enter after selecting a send or receive. Sorry if I'm insistent! π Thank you!
In practice, if I execute the custom action with OSARA it no longer reads the selected track which has the receive or send. There is a conflict between OSARA messages with Reaper. The main Reaper window overlays the OSARA message that reads the selected trace it receives or sends. In version 1.0 of your script this didn't happen. Thank you!
I understood the effect of the problem. in version 1.0 the message sequence for the screen reader was:
with version 1.2 the messages for the screen reader are:
To simplify, only the last message is read by the screen reader after I have chosen the send or receive track. The others are cancelled.
The custom action with version 1.0 is:
The difference from version 1.0 to 1.1 is only: 1.1 #Fixed REAPER version evaluation instead in version 1.2 1.2 #Added current track name readout
Maybe already since version 1.1 it no longer works with the Custom action? Thank you!
Hi
I've compared versions 1,0 and 1.1 line by line and didn't find any culprit. I guess the only way to test is for you to use v1.0 with the v1.2 change skipping v1.1 changes.
How do you want me to send this test version to you?
Hi Buyone! You can easily send the script here in chat with a .zip file. It's 17 kb. Not a problem for Github! ;) Thank you!
It works perfectly! The only difference between 1.0 and 1.2 is: "1.1 #Fixed REAPER version evaluation" Strange! Does this change anything?
Should I open another issue or continue here to propose you another feature for this lua script? I have another little idea! π π
Not sure, i just made REAPER version evaluation expression more robust (error proof), nothing drastic to change the script behavior. Are you using REAPER 7.11 now? Did version v1.0 work properly in this build? What OS version are you running and what is its bit version?
You may continue to post here, doesn't matter.
I'm currently using: Windows 10 22H2 (AMD64) build 19045.4046 REAPER versione 7.11.
The functionality I wanted to offer you is the following:
When there is only one send and one receive in the menu, pressing the S or R button selects the track. When there are multiple sends or multiple receives, is it possible to press S or R to navigate the menu without closing the menu? By hypothesis. If I press the S key it goes to the sends item and if I press the R key it goes to the Receives item without closing the window.
The "c l o s e" entry may not be necessary for your workflow. There is always the escape key that takes you out of the menu or the first item "Track # track number β track name" that closes the menu. Thank you!
Does it work now if I download the official 1.2 version? Just to see if I need to make a backup. ;)
Is it important that I ask you to save the project the first time? If I change the setting: REMINDER_OFF = "" Modified: REMINDER_OFF = "1" Does anything change when running the script?
I modified this string to remove the word track from the first menu item. Now it just says the track number and track name: local idx = gfx.showmenu('#'..tr_idx..(#name > 0 and ' ' or '')..name..'||'..menu) It's much faster with a screen reader. Maybe visually it's uglier. I do not know! ;)
Can the first item of the menu or the selected starting track be activated to close the window like the last "c l o s e" item of the menu? I suggest this to you because with screen readers there is always feedback that a menu item is not available. If you connect the first voice of the currently selected track the feedback for the screen reader is no longer there. Sorry if I ask you all this. Thank you! It's just to speed up the workflow.
I deleted the "c l o s e" entry: local esc = (snd_menu_t or rcv_menu_t) and '' or '' I hope it's not bad for you. π I read that you represented the menu graphically in a beautiful way for the user. I don't want to ruin the visual appearance of the script. This way, if I work with someone who can see, they can enjoy and understand the menu graphics.
I tried adding this string to the end of the script:
reaper.Main_OnCommandEx(reaper.NamedCommandLookup( "_OSARA_REPORTSEL"), 0, 0) -- Osara report selection
I inserted it before the last line:
do return r.defer(function() do return end end) end
It works but there is the same problem of message overlap. It has the same effect as the custom action. It's practically the same thing.
Hi
Regarding your suggestion 1. of keeping the menu open after navigating to the send or receive track. It's possible to keep it open but keys S and R cannot be assigned to the menu. You may already know that the menu can be navigated with up/down arrow keys. At the same time depending on your needs when the menu is reloaded there can be two outcomes as far as the menu contents are concerned: A. the same menu as before the navigation, which means that the menu will not match the currently selected track send/receive list; B. the updated menu which lists sends and receives for the currently selected track as if it's just been opened. Also i'd like to understand the practical purpose of keeping the menu open. As far as i understand when you navigate to a track you then want to manage its properties or content, but once you start doing that the menu will close anyway because you click away from it.
REMINDER_OFF setting is experimental and should be left in its default state, i.e. enabled, it prevents display of a reminder that the script includes USER SETTINGS which may need to be configured.
Hi Buyone! Maybe I can't make myself understood in English. Many proposals I made to you were wrong. I definitely don't want to keep the menu open. I thought about it and the script is perfect the way it is. There is only one small problem with the screen reader. I will try to ask the community to create an addon that removes the foreground application title for NVDA which is an open source screen reader. I'll ask the NVDA community. We would need a toggle that activates and deactivates the reading of the title of the Reaper window. The script you created is gorgeous. Unfortunately the S or R key cannot work also because there are not two items in the menu that have S or R in the word. Therefore it is not possible to move through the menu by alphanumeric letter. Arrows are used in the menus and letters are used when possible. Only when there is a duplicate. It will then cycle between the two entries. Sorry if I confused you a bit with the screen reader. π
You wrote:
Can the first item of the menu or the selected starting track be activated to close the window like the last "c l o s e" item of the menu?
Yes, it's possible.
Since you've made some changes to your version of the script, if you want me to implement your request mentioned above, send me your file so i can modify it.
I also think i've figured out the reason why in versions later than 1.0 the screen reader worked differently. There was a change which i didn't document thinking it wouldn't affect anything. And if it were not for OSARA it indeed wouldn't affect anything. The change after version 1.0 prevented reaper gfx window to pop up along with the menu, and when this window is visible (as in version 1.0) it's focused.
In the end I didn't make any changes to the script.. I'm using what you passed me: https://github.com/Buy-One/REAPER-scripts/files/14591072/BuyOne_Navigate.to.track.send.destination.or.receive.source.track.via.menu.v1.0.%2B.v1.2.zip At the moment I have done a custom action. If you think you've figured out the problem with OSARA super happy! Your scripts are super helpful in my workflow. Thanks for everything you do!
You said that you had removed the close button:
I deleted the "c l o s e" entry: local esc = (snd_menu_t or rcv_menu_t) and '' or ''
And had simplified the current track name display:
I modified this string to remove the word track from the first menu item. Now it just says the track number and track name: local idx = gfx.showmenu('#'..tr_idx..(#name > 0 and ' ' or '')..name..'||'..menu)
π₯³ Perfect! With 1.4 it also works well with custom action. The most important thing has been solved. Now with the custom action it reads the trace with the OSARA action: Command ID: _OSARA_REPORTSEL Description: OSARA: Report track/item/time/MIDI selection (depending on focus)
I thank you!
For curiosity. What was the problem? This way we could improve coordination between OSARA and ReaPack and SWS in the future. Shall I close the issue?
You wrote
For curiosity. What was the problem?
I described it yesterday: The change after version 1.0 prevented ReaScript gfx window to pop up along with the menu (which was needed on Windows up until build 6.82, but now the menu can work without this gfx window). When this window is visible (as in version 1.0) it is focused which makes the screen reader or OSARA detect it as the primary window i believe, but when it's absent (as after the update which broke the script for you) the primary window is REAPER program window.
In the latest script version this additional gfx window will still pop up as long as OSARA is installed, if not, it won't pop up because it's not needed for the menu to work.
If there're no other issues feel free to close the ticket.
π OK thank you. I'm closing the issue. I read you on OSARA. Did you know that James Teh changed the lives of many people? Not only did he develop OSARA for Reaper but with Michael Curran they revolutionized the world of screen readers. Two blind people who are very good at development with a philosophical idea of ββgiving all the blind who do not have economic opportunities to access today's world with computers. If you are curious, read the philosophical manifesto here: https://www.nvaccess.org/ This is the repository: https://github.com/nvaccess/nvda Thanks for everything you do.
Hi Buyone, is it possible to make the script work even without the mixer displayed? I only use TCP. Unfortunately when the mixer is not visible the script works badly. It doesn't see sends and receives well. Thanks for all!
Sorry if I opened and closed the issue several times. Github has changed. I didn't realize that the issue had already been opened.
Hi
Can you specify what you mean by "works badly", and provide steps to replicate?
For me seems to work fine.
Sorry Buyone. I don't know what it could depend on. Today it works fine for me too. The problem is a bit random. The other day if the mixer with TCP wasn't active it didn't work. I got the idea that there was a problem with the MCP. Now that I'm trying it, it's perfect but I think the TCP needs to be strengthened. This way the script always works. It happened to me that if the mcp mixer was disabled the script didn't work. As soon as I activate the mcp the script works 100% of the time. If MCP is disabled and there is only TCP it works at 90%. Not being a developer I don't understand where the problem is. Sorry if I'm a little vague.
Well, once that happens again, try to figure out steps to replicate and also send a copy of your project file and your reaper.ini file.
I understand that when the script doesn't work well I have to log out of Windows and log in. If I do this the script starts working again. In this .rpp the script didn't work I exited Windows and re-entered I loaded Reaper and the script worked fine. That's why I don't understand where the problem is. Sometimes it happens and other times it doesn't happen. Maybe it depends on my Reaper configuration do I have something with Windows 10? When the script doesn't work I try to do another test with a portable version of Reaper. So I understand if it depends on the Reaper configuration. If it depends on my Reaper I'll let you know immediately. I'll give you an empty project where I'm testing: example.zip
Hi
For me on Windows 7 your project works fine with the script. What i discovered is that you're also using OSARA Peakwatcher and Archie's Project time counter. I enabled OSARA Peakwatcher but still couldn't replicate the glitch. I din't try testing with the Project time counter.
So you may try to disable both and see whether this has any affect on the script behavior.
Hi Buyone! Beautiful script. I've been looking for a feature like this for a long time. π Is it possible to also enter the name of the selected track in the menu? In the menu there is the selected track with the number but there is no name. For sends and receives it is perfect. All the right information is there. Thanks for what you do!