ModPlug Central

OpenMPT Development (Archive) => Feature Requests => Topic started by: arfy on August 20, 2010, 17:34:52

Title: Improvements for visually impaired users.
Post by: arfy on August 20, 2010, 17:34:52
Hi, I've been looking through the forums, and playing with modplug over the last couple days, and I have to say, well done! This is certainly a very nice tracker, and will be made even better for visually impaired users, if the following suggestions could be implemented. I'd gladly work on this myself, but, I'm not much of a c++ coder... yet, :), and, I don't have visual studio 2008 that seems to be needed to compile, *points to mfc*. Anyway, here's my thoughts on what would make this fully accessible, and yes, this will probably get long, sorry about that.

First, my definition of fully accessible. If a user of NVDA, a free and open-source! Screen reader can fully use all the important features, (loading samples/instruments, editing patterns/orders, and getting to all parts of the program), then we're talking. It doesn't necessarily mean that *everything* needs to speak, and, in fact, for things like editing samples, imho, speaking just gets in the way. If you want to look at NVDA, go here. http://www.nvda-project.org.
So, the main points to work on are as follows.

1. getting from one part of a window to another. I've found that, for instance, if you go to the samples tab, you'll end up inside the sample your working on. this is fine, accept now, you can't tab, ctrl-tab, or whatever to the other sample properties. Same applys to, say, the instrument editor, or the pattern editor where there's no quick way, afaik, to get from the pattern/order list to the toolbar buttons. I suggest ctrl-tab be used more, like how it's done to toggle between the pattern editor and the order list.

2. making new/open/save/etc context sensative. For example, if your on the general tab, load/save modules. If the sample tab, load/export samples. etc etc. Currently loading instruments/samples requires some acrobatics with screen review cursors to find and click the toolbar buttons.

3. I noticed in the channel manager, well, you couldn't tab to the list of channels. Perhaps a standard multi-select list view with checkboxes here?

4. And now, the biggy. The pattern editor, as someone already pointed out, is bitmapped. My work around hopefully, is simple. Or, at least, it sounds simple in my head... lol. basically, take the fact that pattern data is internally stored as text, and you can paste this out to notepad or whatever to see it. How about taking that text, putting it in a standard edit control, then intersepting keys to handle the curret functions like moving between channels, etc? If not tab, ctrl-left/right should work, as if your moving from word to word in a text editor/word processor. This could be an interface option that you could toggle in the general tab of setup.

5. Finally, hopefully a small, but very useful tweak. have the pattern editor play notes as you cursor over them. If it can take simple effects like arpeggio, etc, then bonus. but not necessary if that complicates things.

Well, hopefully I've covered everything, and if you've made it this far, i congratulate you. Keep tracking alive!
Title: Re: Improvements for visually impaired users.
Post by: Saga Musix on August 20, 2010, 17:40:35
Quote from: "arfy"2. making new/open/save/etc context sensative. For example, if your on the general tab, load/save modules. If the sample tab, load/export samples. etc etc. Currently loading instruments/samples requires some acrobatics with screen review cursors to find and click the toolbar buttons.
Have you tried the load/save sample shortcuts in the key config dialog? I don't use them so I'm not sure how well they work, but in theory they should override the default shortcuts.

Concerning the pattern editor, well, basing it on a default text control provided by the operating system would most likely be rather slow and cause flickering. The bitmap code is highly optimized. If there was a different way to pass on the information that's hidden in the bitmap, that would probably be doable.
Title: Improvements for visually impaired users.
Post by: LPChip on August 20, 2010, 17:41:18
As far as I know, MODPlug already has support for the native windows speaking system to read out dialogs and windows.

I know Rewbs spoke about this in the past. I don't know all the details, but windows should be able to tell you what you're seeing (from the accessibility controls, read screen function)
Title: Improvements for visually impaired users.
Post by: Saga Musix on August 20, 2010, 17:42:27
Quote from: "LPChip"As far as I know, MODPlug already has support for the native windows speaking system to read out dialogs and windows.
MPT dosn't have this support - The operating system has. Did you read what this guy wants?
Title: Improvements for visually impaired users.
Post by: LPChip on August 20, 2010, 17:43:10
Quote from: "Jojo"
Quote from: "LPChip"As far as I know, MODPlug already has support for the native windows speaking system to read out dialogs and windows.
MPT dosn't have this support - The operating system has. Did you read what this guy wants?

Yup, he requests to add something to openmpt that should already be partially possible.
Title: Improvements for visually impaired users.
Post by: Saga Musix on August 20, 2010, 17:44:22
Quote from: "LPChip"Yup, he requests to add something to openmpt that should already be partially possible.
No. He asks to make those parts which are not accessible yet to be made accessible - for example the pattern editor.
Title: Improvements for visually impaired users.
Post by: Rakib on August 20, 2010, 17:54:20
By visual impaired, I hope you mean and not blind. So a another tip is to change the colors of modplug to get better constrast.
Title: Re: Improvements for visually impaired users.
Post by: Saga Musix on August 20, 2010, 18:20:20
Oh and...
Quote from: "arfy"3. I noticed in the channel manager, well, you couldn't tab to the list of channels. Perhaps a standard multi-select list view with checkboxes here?
Those are unluckily also bitmapped (as there are coloured status indicators on the buttons). I suppose this could be redone when switching from MFC to Qt, which should also offer more flexible custom controls, which could for example be used for the channel manager. Another problem would be that the channel buttons are draggable.
Title: Improvements for visually impaired users.
Post by: arfy on August 20, 2010, 18:29:31
First off,
Quote from: "Rakib"By visual impaired, I hope you mean and not blind. So a another tip is to change the colors of modplug to get better constrast.
Absolutely. I ment both blind and partially sited :).

@jojo @lpChip: Sure, whatever's made accessible through standard windows controls works perfectly, save a few very minor things. For instance, when you tab between channels on the general tab, you'll only here, edit, 64, edit 64. But that's more of a screen reader limitation of NVDA than anything else. Jaws for windows works fine here, seeing the labels above the channel's fields. As for the pattern editor, do you have much experience with programming speech to go to SAPI? Better yet, as I write, I've just remembered a tool that should make this much, easier. Pass in a string, and it automatically detects if a supported software speech package is running, else it falls back to SAPI. I'll take a look. Point is, you could send the highlighted column in the pattern editor to this, proceded by the row and channel number. Something like this. r1, c2. c#-4. This means row one of the pattern, channel two. Just an idea. Oh, while I remember, is there a way from the keyboard to copy/paste instruments/samples from one module to another?

Thanks all for the quick responses.

PS. The sample editor shortcuts did work, but had to assign new and save
sample to a new keystroke. Could similar shortcuts for load/save be done for the instrument editor then too? And mass-export samples?

pps. One more area that's a little hard to get to with just keyboard. the treeview.
Title: Improvements for visually impaired users.
Post by: Saga Musix on August 20, 2010, 18:39:31
Quote from: "arfy"PS. The sample editor shortcuts did work, but had to assign new and save
sample to a new keystroke. Could similar shortcuts for load/save be done for the instrument editor then too?
I didn't have a look at the code, but IIRC the same shortcuts apply there.
And for mass export, well it's theoretically possible, but apparently the shortcuts don't work anymore if Shift is pressed at the same time (which triggers mass export).[/quote]

QuoteOh, while I remember, is there a way from the keyboard to copy/paste instruments/samples from one module to another?
Not sure if that's what you're looking for, but the default copy/paste shortcuts also work for samples (they copy both the sample itself and the data connected to it) as well for the individual envelopes of each instrument.
Title: Improvements for visually impaired users.
Post by: arfy on August 20, 2010, 19:24:06
Perfect. Yes, instrument and sample editor shortcuts are the same, just make sure your on the right page. i also assume that using copy and paste to copy ample/instruments would be the same as drag n dropping samples from the treeview and onto the active sample screen?
Happy hacking :)
Title: Re: Improvements for visually impaired users.
Post by: arfy on August 22, 2010, 02:08:23
Quote from: "Jojo"Oh and...
Quote from: "arfy"3. I noticed in the channel manager, well, you couldn't tab to the list of channels. Perhaps a standard multi-select list view with checkboxes here?
Those are unluckily also bitmapped (as there are coloured status indicators on the buttons). I suppose this could be redone when switching from MFC to Qt, which should also offer more flexible custom controls, which could for example be used for the channel manager. Another problem would be that the channel buttons are draggable.

If you do switch to qt, let's hope it's a little way of. Currently, blind users especially have a hard time accessing QT apps. But, this seems to be more the fault of access technology in general. From what I've seen, the QT accessibility API is pretty extensive. Speaking of access API's, another way to expose the hiddden info, such as patterns, samples etc, would be through MSAA (Microsoft active accessibility). search for that at MSDn. Unfortunately, not very experience in this area. :(. anyway, hope all this helps.
Title: Re: Improvements for visually impaired users.
Post by: Saga Musix on August 22, 2010, 10:29:12
Quote from: "arfy"If you do switch to qt, let's hope it's a little way of. Currently, blind users especially have a hard time accessing QT apps
Why's that? I know that previous versions of Qt used custom-drawn controls, but as far as I know it uses native controls these days, so in theory they should be accessible.
Title: Improvements for visually impaired users.
Post by: arfy on August 22, 2010, 12:29:19
Hi, yes, I'll admit it's been a while since I looked at qt last. so, giving the open-source edition a look now. I'll report back here on my findings, :)