Schism Tracker Accessibility Edition

Started by A11CF0, November 26, 2024, 20:14:35

Previous topic - Next topic

A11CF0

Hello.
Here's a new interesting thing to try for all blind/visually impaired tracking enthusiasts out there.
I made an experimental fork of Schism Tracker with a self-voicing accessibility mode, that works on Windows and Linux. It may possibly work on macOS too, but this has never been tested.
It can speak through NVDA, JAWS, Narrator or SAPI5 on Windows, Speech Dispatcher on Linux/*BSD ant theoretically AVSpeach on macOS.
Since this is my first try at programming in C, the accessibility implementation is certainly far from optimal but should already be mostly usable.
So, it's now possible to get an Impulse Tracker/Scream Tracker style experience in an accessible way, if anyone has ever wanted this. Also this seems to be the first tracker with cross-platform accessibility, as far as I know.
Further information about this project is available at this link. https://github.com/a11cf0/schismtracker-a11y/blob/master/docs/accessibility.md
There are currently no binary releases, but working Windows builds are already available as artifacts.
Any feedback is off course appreciated.
Cheers.

Saga Musix

That's pretty cool! Maybe also worth mentioning it at https://github.com/schismtracker/schismtracker/discussions
Do you think it would be feasible to get this into a state that can be merged back into the original repository? The readme mentions that some component is "++" (I suppose it is meant to say C++), so it would probably have to be an optional feature, but trying to keep two diverging software versions synchronized over a longer period of time only calls for trouble.
» 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

Thanks. It was supposed to be C++. Typo fixed.
It would indeed be a great idea to integrate this into the upstream version, but yes, accessibility needs to be made optional at compile time first to make it happen.
BTW, it's very easy to swap SRAL (the only C++ dependency) with anything else by replacing only a few function calls in one file, but AFAIK there are currently no alternative cross-platform screen reader/speech API abstraction libraries in existence.