jcsteh / osara

OSARA: Open Source Accessibility for the REAPER Application
GNU General Public License v2.0
127 stars 46 forks source link

Announce number of items to be created by dynamic split whilst in the dynamic split dialogue #847

Open Chessel85 opened 1 year ago

Chessel85 commented 1 year ago

When doing a dynamic split on an item you only find out how many items it makes once you have run the split. If it is wrong, you then have to undo, and repeat the split with different split parameter values. It is quite a long way to do it. Is it possible to announce the number of items to be created as controls are changed in the dialogue? For example, as the threshold is increased the number of items would probably decrease. Would want to support changing the transient threshold and sensitivity values also. Only need to announce when there is a change in number of items. I couldn't see any reascript API calls relating to dynamic splitting.

jcsteh commented 1 year ago

Is this information available visually? If not, there's not going to be any way OSARA can get this either.

ScottChesworth commented 1 year ago

In a discussion on RWP, @JennyKBrennan has reported being able to access the info with VO on Mac. I've poked around the object hierarchy in Windows and haven't found the equivalent control that she described, suspect we might need something from Cockos here. Gonna get some eyes on it soon and will report back.

ranetto commented 1 year ago

Hello everyone, visually you can see the elements that are added in this way sighted people decide when the parameters of the transients of the gate and other are correct for the type of split or quantization they want to perform, without this it becomes very difficult decide how to operate

ScottChesworth commented 1 year ago

We're gonna need more detail on the visual UX. Where exactly is the information displayed in the window? What type of control is used? Hoping to get some answers tonight or perhaps tomorrow.

ranetto commented 1 year ago

Hello everyone, then: when I open the dynamik split window, both by adjusting the parameters in that modal window and by calling up the sensitivity adjustment window for the transient detection adjustment, bars appear directly on the track, i.e. on the shape waveform of the track itself and therefore out of the dialogue window whether the one to adjust the sensitivity of the transients or the one to adjust the split parameters is open: therefore the bars normally present probably for the division of the track increase and according to the adjustments made they change in real time with any of the modified values without giving any ok or confirmation to the dialogue itself: I hope I have explained the situation to you: do not hesitate to ask if you still need an eye thanks and I am grateful in advance if you can make this thing work really important.

ScottChesworth commented 1 year ago

We won't be able to make those fancy aspects of the visual UX accessible. At most, keep your fingers crossed that we can find a way to report the projected number of splits that will be created as the user adjusts settings.

ranetto commented 1 year ago

it would also be perfectly fine to know how many items added somehow thanks

ScottChesworth commented 1 year ago

The difference is that on Mac, a dimmed but navigable GUI element appears stating the number of splits that will be created. On Windows, it's possible to make this number appear in the tab order by checking the "Reduce splits" check box (note that if your current settings would result in no splits being created, then nothing new appears in the tab order).

So now I guess the question becomes, is it possible for us to pass page keys and Control/Alt/Shift modifiers in the Dynamic Split dialog, so that we can adjust the threshold and sensitivity without needing to Shift+Tab a bunch of times to reach the "Set transient sensitivity button", hit Space on that to open the dialog, adjust values, hit Escape to close it and find our way back to the number of splits that will be created? If it is possible to pass those keys, I reckon we'll just be able to pop focus on the number and dial it in using the actions already on the key map.

Had a look at how this is being handled in the Transient sensitivity dialog to see if I could reuse some stuff and it's... um... beyond me.

Any thoughts?

jcsteh commented 1 year ago

So modifier+page isn't being passed through to the main section in the Dynamic Split dialog? That's the reverse problem we had in the Transient Sensitivity dialog, where everything was being passed through to the main section.

ScottChesworth commented 1 year ago

So modifier+page isn't being passed through to the main section in the Dynamic Split dialog?

Seems not, nope. Is this one for Cockos maybe?

jcsteh commented 1 year ago

Maybe. How do other REAPER dialogs behave with modifier+page?

ScottChesworth commented 1 year ago

The only one I can find where any modifiers work in combination with page is the transient sensitivity dialog, which OSARA meddles with. Even in there, Control doesn't make it. Unmodified page keys seem to work in dialogs across the board, it's specifically modifiers+page that doesn't. Does that mean they're not sending modifiers to the dialogs?

jcsteh commented 1 year ago

On the contrary, I think it means they're sending modifier+blah (where blah includes page keys and probably others) to the dialog and not to the main section. In many cases, I guess this makes sense; you wouldn't want control+tab switching project tabs in some tabbed dialog, for example, It does seem like the Dynamic Split dialog might be a useful exception... but we also don't want them going quite as far as the Transient Sensitivity dialog, where they send everything to the main section and OSARA has to overide that.

ScottChesworth commented 1 year ago

One loud CLANG later, a rusty penny drops and I think my brain has caught up! So for those adjustment actions to work, we'd want modifiers and page keys sent to the main section, not the dialog, right?

jcsteh commented 1 year ago

Correctamundo.