|
12
|
Hi all,
I have already introduced myself, and I am interested in the GSoC project idea, Accessibility.
In this project, I am planning to implement a keyboard based interface on top of the museScore system. I thought of having a one-to-one mapping of required events to key combinations without overlapping any existing keyboard shortcuts. I am currently researching on it and any feedback or guidance will be highly appreciated.
As per the “creating Braille music output” I am planning to use a tool like FreeDots to convert from MusicXML to Braille music.
Regards,
Samadhi.
|
|
Thanks for your interest in this project. Do you have ideas on how this system you mention might work? The main thing thst is not currently keybaord-acciessible now are the palettes. One idea lasconic had was to make these searchable much liek the Symbols dialog (press "Z" to display) or the Instrument list (press "I") is, or for that matter the shortcut definition dialog in Edit / Preferences / Shortcuts. So you could type the first couple of letters of the name of the palette item you want and the palettes would be filtered to show only elements whose names start those letter, and then you could navigate the resulting list with up/down keys and hit Enter to apply. This much would probably actually be pretty easy to add. But I think we need more than this - I think we need the ability to create regular user-assignable shortcuts as well, so if there are certain symbols you use a lot, you can apply them more directly. I could imagine each palette cell having an optional "shortcut" property that let you assign shortcuts to any element you wanted. Probably in reality there would be a single underlying command "apply palette element" that the shortcut system would use to apply the selected palette element, something like that.
There is also existing experimental code from another GSoC student who worked on this two years ago to make the palettes traversable by keyboard, and when I tested this code, it did seem to work pretty well. it is not merged yet so you'd need to get his branch and build it, we can discuss this here or on IRC.
Another problem to tackle is score navigation. The student I mentioned above implemented a lot and that was merged and is in 2.0.2 already, but we still don't have a way to select anything but notes, key and time signatures, clefs, and barlines. That is, you can't use the keybaord to navigate to a text element or an articulation or a crescendo marking. We need a new command that will navigate through these.
Braille output would be ncie, but simply exporting to MusicXML then converting using FreeDots is already possible to do by hand. I think a more interesting integration with MuseScore might be to output the current selection to a Braille output device (physical devices with raised pins you can touch that respond in real time) so that as you navigate the score, the Braille device tells you want you are looking at. This would be more efficient for many users than what we currently do, which is output a text decription to the status ine for a screenreader to read.
There are a few other user interface issues to sort out - shortcuts to move the focus from one window to the next (eg, from score to toolbar to inspector to selection filter).
Realistically, doing all of this in one summer is probably not feasiable, but these are ideas to cnsider. i think keybaord control for palettes is especially high priority though, as it will also benefit sighted users (especially if we allow the assigning of shortcuts).
Marc Hi all,
I have already introduced myself, and I am interested in the GSoC project
idea, Accessibility.
In this project, I am planning to implement a keyboard based interface on
top of the museScore system. I thought of having a one-to-one mapping of
required events to key combinations without overlapping any existing
keyboard shortcuts. I am currently researching on it and any feedback or
guidance will be highly appreciated.
As per the “creating Braille music output” I am planning to use a tool like
FreeDots to convert from MusicXML to Braille music.
Regards,
Samadhi.
--
View this message in context: http://dev-list.musescore.org/GSoC-project-idea-Accessibility-tp7579691.html
Sent from the MuseScore Developer mailing list archive at Nabble.com.
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
Administrator
|
Let me add that even sighted mouse addicts will appreciate a palette that can be filtered. The advanced palette has several 100 symbols and even in the basic palette, there are over 100 symbols. A lot of users have hard time to locate specific symbols.
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Hello, Marc, Lasconic, Samadhi!
The code that Marc is talking about for traversing palettes and also for providing screen reader feedback for it's elements can be found in this branch: As Marc said, the code is pretty old, so if you want to use it you would have to try it out, see what works and what doesn't.
A very good starting point for you, Samadhi, if you are interested in this project is to install the NVDA screen-reader (Windows only) and to see what is there in MuseScore and what is not, what can be done with the keyboard and what needs to be added. You can find a page in the handbook regarding this wrote by Marc here: https://musescore.org/en/handbook/accessibility
MuseScore works best with NVDA, because that is what I used when I participated in GSoC 2014. If you start working on this project, you will find that each screen-reader has its own "personality". :) Meaning, they react differently to the events generated by Qt and report differently the information that is available. Support for other screen-readers would be also very welcomed from users point of view, I managed to do a bit a for JAWS, but a lot of users asked for VoiceOver on OS X and also Orca on Linux is a good alternative because it's free.
At some point I also compiled a list for myself for what MuseScore needs from the accessibility point of view and small notes on how can they be implemented, you can find that here:
Feel free to use anything from my list, or my repository (I don't remember if there is more useful unmerged code) in your GSoC proposal, but you should discuss everything in advance with Marc and Lasconic, because I haven't been up to speed with the latest MuseScore development and they know better what is top priority.
Thank you, Andrei
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
By
considering the suggestions mentioned and the notes from Andrei here are the requirements of the project as I feel.
1/ Make the palettes keyboard
accessible
· Make the palettes searchable by
implementing a filter- A shortcut (something like ctrl+F9) to summon the
palette filter and type the first couple of letters and all the palette items starting
from that letter will be listed one below the other and the user can traverse
through them by pressing the downwards arrow. When the required palette is
found press enter to display. Provide the ability to create regular user-assignable shortcuts. – add a shortcut
property to the palette.
Make the palettes traversable by
keyboard – use Andrei’s code.
Press
a number to move to the desired element, instead of traversing the palette and
pressing enter when the desired element is selected.
Each palette cell
having an optional "shortcut" property that let you assign shortcuts
to any element you wanted.
2/ Enable the use of keyboard
to navigate to a text element or an articulation or a crescendo marking. Currently
Information about articulations, dynamic
markings, lyrics, and so forth are read along with the notes they are
attached to. So I assume that this requirement is to implement accessibility
for those elements separately. With that assumption, I think we can use Implement QAccessibleInterface
for those widgets.
3/Braille output- I plan on doing this
by calling the FreeDots executable once the user enters the command to import
the file to braille. However, this would not be the optimum solution to this
since FreeDots is written in java.
4/ Shortcuts
to move the focus from one window to the next- Assign a shortcut (e.g. : cmd/ctrl+shift+tab)
to summon the list of windows and the user
can traverse through them by pressing the downwards arrow. When the required window
is found press enter to move to it.
5/ Support for other screen-readers- VoiceOver
on OS X and also Orca on Linux
This is my first draft. Waiting for a feedback!
Best Regards!
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Sorry about the previous message. It has some formatting errors. So here I attach the formatted message.
By considering the suggestions mentioned and the notes from Andrei here are the requirements of the project as I feel.
1). Make the palettes keyboard accessible - Make the palettes searchable by implementing a filter - A shortcut (something like ctrl+F9) to summon the palette filter and type the first couple of letters and all the palette items starting from that letter will be listed one below the other and the user can traverse through them by pressing the downwards arrow. When the required palette is found press enter to display.
- Provide the ability to create regular user-assignable shortcuts – Add a shortcut property to the palette.
- Make the palettes traversable by keyboard – Use Andrei’s code.
- Press a number to move to the desired element, instead of traversing the palette and pressing enter when the desired element is selected.
- Each palette cell having an optional "shortcut" property that let you assign shortcuts to any element you wanted.
2). Enable the use of keyboard to navigate to a text element or an articulation or a crescendo marking. Currently Information about articulations, dynamic markings, lyrics, and so forth are read along with the notes they are attached to. So I assume that this requirement is to implement accessibility for those elements separately. With that assumption, I think we can use Implement QAccessibleInterface for those widgets. 3). Braille output- I plan on doing this by calling the FreeDots executable once the user enters the command to import the file to braille. However, this would not be the optimum solution to this since FreeDots is written in java.
4). Shortcuts to move the focus from one window to the next- Assign a shortcut (e.g. : cmd/ctrl+shift+tab) to summon the list of windows and the user can traverse through them by pressing the downwards arrow. When the required window is found press enter to move to it. 5). Support for other screen-readers- VoiceOver on OS X and also Orca on Linux
This is my first draft. Waiting for a feedback!
Best Regards!
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
On Sat, Mar 19, 2016 at 1:51 AM Samadhi Poornima < [hidden email]> wrote: 2). Enable the use of keyboard to navigate to a text element or an articulation or a crescendo marking.
I think there is probably a pretty straightforward model for how this could work, based on the existing "next element" code Andrei added (which navigates clefs and barlines and some other elements, but not articulations, text, or crescendos) but making sure to also traverse the "annotations" for each ChordRest segment, the Articulations for each ChordRest, etc. Here as elsewhere, feedback from actusal blind users would be useful. 3). Braille output- I plan on doing this by calling the FreeDots executable once the user enters the command to import the file to braille. However, this would not be the optimum solution to this since FreeDots is written in java.
There are other concerns here too. FreeDots is a good thing, but it is pretty limited in what it can do. There are other automatic or semi-automatic MusicXML->Braille converter, each of which also has limitations but different progrsams have different strengths and weaknesses. There are a few people out there in the world who have done fairly extensive study of these issues that you might want to consult, also it might be good to contact the develoeprs of these tools to get a sense of their plans for the future to see which tool might make the most sense for us to focus our integration efforts on. Frankly, I'm not 100% convinced it wouldn't someday be worth implementing out own Braille export, working directly from our own score representation (although I recognize that this becomes one more thing to maintain over time, so I don't make this statement lightly).
Marc
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
Administrator
|
Just want to add that Braille output is a huge project by itself if we want to do it from scratch... So I wouldn't focus on this during a GSoC project. Your point 1, 2, 4 and 5 are more focused on MuseScore's accessibility. Regarding braille though... We could of course integrate with freedots, but the project is currently inactive. However it's the shortest road. I currently operate http://musicxml2braille.appspot.com/. Doing a REST API call from a plugin to get Braille out is probably doable. But, of course, the plugin needs to be accessible... Not sure it's the case for any plugin right now.
lasconic
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Hi all,
Here are some points that I need to clarify with you guys.
2) Enable the use of
keyboard to navigate to a text element or an articulation or a crescendo
marking. Use the existing “next element” code to traverse
the
"annotations" for each ChordRest segment, the Articulations for each ChordRest, etc. Here what is remaining, according to my opinion, is to
implement a method to dynamically alter the string which is displayed in the
status bar to include attached elements. Andrei,
please do share your original plan to implement this. I think it will be helpful
here.
5) Support for other
screen-readers- VoiceOver on OS X and also Orca on Linux. When implementing
support for VoiceOver on OS X , I will face a problem since I do not own a Macintosh computer. Any word of advice on this issue will be helpful.
In addition, I add the
following point to my list.
6) Make the palettes accessible to the screen reader. If we have
the implementation for QAccessibleWidget for the Palette object already, I
think it remains only to implement the part which gathers the information from
the selected element and creates the string which is displayed in the status bar and exposed to the Screen Reader.
Best Regards,
Samadhi.
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
Administrator
|
2/ Indeed. Displaying information in the status bar for these elements and sending information to the screen reader needs to be done. I guess it will be no different to what it's done for note, clef etc...
5/ If you don't own a mac, improving VoiceOver support will be hard. Don't include it in your proposal. You can use NVDA as a reference on Windows and see if you can improve support for Orca on Linux.
6/ Yes, good addition.
lasconic
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Andrei explained things well. I'll just add a couple of things:
Whether we modify the existing "next element" command or add a new one is not important; actually we should get user feedback on that. If we do add a new one, there would be a choice between a single command that traverses all commands (and thus one would use *instead* of the existing command if one wanted to traverse all elements), or perhaps a command that just traverses the "children" of a given element. Any of these designs could conceivably work. And indeed, there is no single "child" concept in the Element class; different elements have different children. We *could* conceivably add a new virtual function "children" to the Element class and instantiate it as necessary for each sub-class that actually has child elements.
Marc
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Hi all,
Regarding the implementation of support for screen-reader, Orca on Linux, I am planning to use qt-at-spi in order to bridge QAccessible API’s to the AT-SPI 2 protocol enabling MuseScore to be used with Orca.
I also added that to the proposal, but If you guys have any better alternatives please let me know.
Best Regards! Samadhi.
------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Hi all,
My application didn't get selected to GSoC. But I would like to contribute to this project since I developed an interest in it.
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
I am sorry your project did not get selected. We had a limited number of slots to fill so there were difficult choices to make. But this project is very import to me personally, so I'm definitely still wanting to help with this.
Probably what makes sense is to look at the individual problems to be solved and come up with a plan as to who will do what and in what order.
I think the two most important areas to look at first are a way to search the palettes - akin to the search box we have in the instrument list or symbols dialog - and a way to assign direct keybaord shortcuts to individual palette elements. My sense is that these two are probably pretty unrelated in terms of actual implementation, but should be considered together in terms of design.
Andrei's as-yet-unmerged work implemented a third approach - makign the *existing* palette navigatable by keybaord - but I'm not sure that ends up being necessary if we do the other two things. That is, we were treating "keyboard access to palette" as an end goal and he implemented that directly. But if I look at the goals a bit differently:
1) an easy way to find things on palette 2) a fast way to apply things from palette 3) a way to enter palette items with keyboard only
Palette navigation really doesn't help with 1) or 2). But searchable palette and shortcuts pretty much address 3) without the need to modify the existing palette code or behavior.
Then, of course, there is also the "next element" command for full navigation of all elements - probably pretty easy to implement, actually, basically just as your proposal outlines. And a way to move keybaord focus from window to window - also hopefuly easy but will require familiarity with Qt and maybe Andrei has some good insight here.
Marc
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Hello,
I would also like very much for this project to continue, even if I am not able to help with more than pointers and ideas, at least until I finish my Bachelor thesis. I think it is a project that has a great impact.
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
|
Hi all,
Sorry about the delayed reply. I just had my exams.
I think we should start with the searchable palette. That is "A shortcut to summon the palette filter and type the first couple of letters and all the palette items starting from that letter will be listed one below the other and the user can traverse through them by pressing the downwards arrow. When the required palette is found press enter to display."
Shall I start with familiarizing myself with the code related to this area?
Regards, Samadhi.
------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j_______________________________________________
Mscore-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mscore-developer
|
12
|