Re: Announcing SayIt

  • From: "RicksPlace" <ofbgmail@xxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Mon, 24 Jan 2011 15:43:31 -0500

Thanks for the heads up Jamal.
Rick USA
----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <ProgrammingBlind@xxxxxxxxxxxxx>
Sent: Monday, January 24, 2011 2:49 PM
Subject: RE: Announcing SayIt


Hi Rick,
I have tested SayIt with the current Window-Eyes, and it works fine. Specifically, an application can use SayIt to produce speech messages that are independent of what text is currently displayed on the screen, and if Window-Eyes is the active screen reader, those speech messages will be produced with the current Window-Eyes voice.

A Window-Eyes script could also use SayIt, but it would be an unnecessarily indirect way of producing speech through Window-Eyes, since its scripting API already has a Speak method.

At this point, SayIt is independent of MSAA and UIA. They are certainly important for a screen reader to have access to controls of an application. With SayIt, however, the application can proactively cause messages to be spoken as an alternative, or as a supplement, to what the screen reader says automatically based on what it detects via those APIs.

Hope this helps.  Let me know if you have further questions.

Jamal

-----Original Message-----
From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of RicksPlace
Sent: Saturday, January 22, 2011 9:25 AM
To: programmingblind@xxxxxxxxxxxxx
Subject: Re: Announcing SayIt

Hi Jamal: Have you done anything with Power Basic, WindowEyes scripting andp perhaps SayIt? The new version, 8.0, of WidnowEyes will be out soon and I am
wondering about it's COM interface with the new UIA Hooks in place of most
of the MSAA hooks. Anyway, I know you are one of the big guys in that arena
so thought I'd ask.
Rick USA
----- Original Message -----
From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <ProgrammingBlind@xxxxxxxxxxxxx>; <Program-L@xxxxxxxxxxxxx>
Sent: Friday, January 21, 2011 12:47 PM
Subject: Announcing SayIt


'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


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


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


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

Other related posts: