trying to figure out some more things

Started by musicalman, February 29, 2020, 09:36:58

Previous topic - Next topic

musicalman

I like the idea of reading things automatically but there's one big caveat: if you play a module, the screen reader tries to read every row the cursor passes. So you have to turn speech off to play and back on to edit, which I think is more annoying than reading manually. If you could somehow deactivate the auto-reading when a module is playing, that would solve it. Probably better to make that global i.e. not just inside patterns tab.

I'm imagining a scenario with a sighted user, though I might be wrong on this. They play a module/loop a part of it, go to envelope editor or samples tab or whatever, and make some adjustments listening to how things sound without really looking all that much. Occasionally they might look to see what's going on but not always meticulously. Disabling auto-reading during playback would give that same facility to a screen reader user.

If disabling auto-reading during playback isn't really doable, then another idea is to just have a toggle for auto-reading in advanced settings or something. Imho it would be off by default.
Hope this helps.

Saga Musix

Oh yeah, that's pretty annoying. In r12558 I have modified all (I think...) accessible descriptions to only update while no song is playing: Order list, pattern editor, note map and envelope editor. I hope that's better?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

musicalman

Yep, this is indeed a lot better. Thanks for changing it!

A11CF0

Hello. These accessibility improvements are really great especially that automatic reading, but at least on my system it works only until I enter any note in a pattern. After that nothing is read when moving around. This does not happen when changing instrument numbers or other values. Is this a bug in OpenMpt or a problem with my system? I'm using r12563.

Saga Musix

No, this is a direct consequence of what has just been discussed in the last few posts: There will be no automatic readout as soon as playback starts, and when you enter a note, playback is started automatically. Maybe this should be configurable after all? Maybe it should keep reading if audio playback is open but the song itself is not playing?
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

musicalman

Imho auto-reading should only be disabled when a song/pattern is playing. Once you pause/stop playback it should be enabled again.

Feeling rather embarrassed I didn't catch this myself. I only really checked to make sure things worked as I expected when viewing a module. I'm just glad someone else caught it before I got serious with another project haha

A11CF0

I also think that automatic readout should be disabled only when a song is actually playing.

Saga Musix

Thanks for your input. I finetuned the behaviour in r12571, please let me know how this works for you.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

A11CF0

Great! Now it is working as expected.

musicalman

Also confirms it works as expected.
One more question I have, maybe @A11CF0 has insight on this?
When moving through a pattern, what's the easiest way to listen to the row you're on? Normally I use control enter to play rows until I find the one I want, but I have to remember that control enterr plays the current row then moves your cursor to the next. So if your cursor is on row 16, and you press control enter, you'll hear row 16 but your cursor has moved to row 17, so you have to move up to 16 if you want to change what you're hearing. Not saying this is bad, just wondering how other people, blind or sighted, do it. Famitracker works the same way so I suppose this is standard.

BTW I like that control enter doesn't auto-read. I at first thought I wouldn't like that, but now that I've played with it and thought about it, I like it the way it is. If it did read, I think it would be a bit overloading after a while.

A11CF0

#25
To play a current row without going to the next one I've just assigned two actions to the same shortcut. Specifically I assigned play row to the on key down event and previous row to the on key up event. This way when pressing the shortcut the cursor still moves to the next row, but only for a very short time.

Saga Musix

Yeah, that's one way of doing it. Quite honestly it's not a command that is part of my common workflow so I never really wondered if this could be solved in a better way, but of course there is the possibility of adding a command that plays the whole row and doesn't advance the cursor.
» No support, bug reports, feature requests via private messages - they will not be answered. Use the forums and the issue tracker so that everyone can benefit from your post.

musicalman

#27
Quote from: A11CF0 on March 16, 2020, 09:48:10
To play a current row without going to the next one I've just assigned two actions to the same shortcut. Specifically I assigned play row to the on key down event and previous row to the on key up event. This way when pressing the shortcut the cursor still moves to the next row, but only for a very short time.
Ah, that's a cool strategy. Never occurred to me to assign something to key down and key up, but it works. Thanks!
Quote from: Saga Musix on March 16, 2020, 20:55:28
Yeah, that's one way of doing it. Quite honestly it's not a command that is part of my common workflow so I never really wondered if this could be solved in a better way, but of course there is the possibility of adding a command that plays the whole row and doesn't advance the cursor.
Interesting that this isn't part of your common workflow. I imagine it's one of those things that some people feel more secure with and others don't[ need. I think it could be useful for some, but I don't think it's critical either.