Announcing SayIt

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: ProgrammingBlind@xxxxxxxxxxxxx, Program-L@xxxxxxxxxxxxx
  • Date: Fri, 21 Jan 2011 12:47:50 -0500 (EST)

'Now available at
http://EmpowermentZone.com/SayIt.zip

PowerBASIC is a commercial compiler from
http://powerbasic.com

which allows one to create small, fast, native Windows binaries using a version of the BASIC programming language. The current, 9.0 version includes support for building COM servers.

Previously, I had developed a COM server with Python which is part of the SayTools package available at
http://EmpowermentZone.com/saysetup.exe

SayIt has similar functionality but is more focused, compact, and performant. It includes a type library for early binding via COM, which SayTools does not. I will include SayIt as another option in the SayTools package, but initially, am releasing it separately in a stand-alone zip archive.

Below is the content of the ReadMe.txt file included in the archive.

Jamal

SayIt
Version 1.0
January 21, 2011
Copyright 2011 by Jamal Mazrui
GNU Lesser General Public License (LGPL)

SayIt is a 32-bit, dual mode COM server, supporting both early and late binding to a few, targeted methods. It enables an application to speak text directly via the API of an active screen reader, if found, or optionally via the default SAPI engine.

The "SayIt" ProgID may be used to instantiate a COM object with this functionality. The "Say" method is the main one, which accepts a Unicode string variant as a parameter, and then speaks accordingly. The "UseSAPIAsBackup" property determines whether SAPI is used in the absence of a screen reader -- the default being False.

Other methods are as follows:

ScreenReaderIsActive() = Check whether any screen reader is active in memory.

JAWSIsActive() = Check whether JAWS is active.

NVDAIsActive() = Check whether NVDA is active.

SAIsActive() = Check whether System Access is active.

WEIsActive() = Check whether Window-Eyes is active.


The following files need to be distributed for SayIt to work:

SayIt.dll = the main dynamic link library (DLL).

SayIt.tlb = An accompanying type library, containing method signatures for early binding via COM.

nvdaControllerClient32.dll = DLL for NVDA support.

saapi32.dll = DLL for System Access support.


These files may be copied into any directory on a Windows computer. They may be placed in a shared location for multiple applications to use, or be placed in the main program directory of a client application.

The COM server needs to be registered on the computer. This may be done as an installation step of an application (installers include this capability). It may also be done using syntax at a Windows command prompt like the following:

RegSvr32.exe SayTools.dll

The PowerBASIC source code for this COM server is in the file SayIt.bas. A demonstration VBScript program is in the file TestSayIt.vbs.

__________
View the list's information and change your settings at //www.freelists.org/list/programmingblind

Other related posts: