Screen Reader Abstraction Library
SRAL is a cross-platform library for output text using speech engines.
SRAL is supported on Windows, MacOS and Linux platforms.
See how to use SRAL in Include/SRAL.h
SRAL can build using CMake into two libraries, static and dynamic. Run these commands
cmake . -B build
cmake --build build --config Release
You will also have an executable test to test the SRAL.
To build on Linux you need to install libspeechd-dev, libbrlapi-dev and brltty
SRAL supports the NVDAControlEx add-on, allowing developers to extended manage the NVDA functions.
To use the SRAL API in a C/C++ project, you need a statically linked or dynamically imported SRAL library, as well as a SRAL.h file with function declarations. If you use SRAL as a static library for Windows, you need to define SRAL_STATIC in the SRAL.h before the include
#define SRAL_STATIC
#include <SRAL.h>
For NVDA screen reader, you need to download the Controller Client. We don't support old client V 1.