Monday, May 20, 2013

NVDA add-ons 1: what you'll need

Let's start the tour of NVDA add-ons by looking at tools we need.
Along the way, I'll give some advice on things you may need to know
before continuing with this journey.
First, you'll need the latest version of Python interpreter for
Windows (32-bit or 64-bit). However, please use 2.x for now (2.7.3 is
recommended). Next, you'll need Gettext package for Windows (there are
two files you'll need). Next, grab SCons 2.3.0. And, of course, latest
version of NVDA (either portable or install versionl source code would
be fine also). Finally, grab the NVDA add-on template at:
Once you've got everything installed (including configuring the
environment variables so SCons can be run from command prompt), we're
ready to begin our coding adventure. But first, a few things you might
want to know before starting the actual coding:
* Get to know Python and basic concepts behind object-oriented
programming, such as classes and inheritence.
* Get to know the layout of NVDA's codebase so you would know which
modules to use and which functions to call.
* Examine how other add-ons were built so you can get an idea of what to do.
* Read NVDA user guide and developer guide to familiarize yourself
with NVDA's design, usage and code.
Up next: types of add-ons and some examples.

Sunday, May 12, 2013

New series: All about NVDA add-ons

Let's take a break from C++ for a while (we'll resume with data
structures and continue on with pointers, recursion and what not).

As a new direction, I'd like to start a new series on NvDA add-ons,
specifically add-on development and a few working examples. Note that
I'm still learning the add-on interface and am also learning Python,
so there might be incorrect information.

For starters, NVDA stands for NonVisual Desktop Access. It is a free,
open-source screen reader for Microsoft Windows (similar products
exists for Linux). It supports latest Windows versions in both 32-bit
and 64-bit architectures (no ARM yet) and supports many applications
out of the box.

One of the attractions of NVDA is its extensive plugin architecture.
The core NVDA code can be extended by add-ons to provide global or
app-specific functionality, such as providing new commands, improving
access to applications and so forth. Besides this, add-ons may bundle
new speech synthesizers or add support for braille displays.

This new series is not meant to be a complete tutorial on Python
(there are many websites which talks about Python), nor a complete
tutorial on C++ (although parts of NVDA is written in CPP). The new
series is aimed towards mostly new add-on writers and to serve as a
reference guide for existing add-on authors as well (I'm a beginner
myself). Occasionally, I may provide example code that does work
(along with some C++ equivalents to Py code). But most importantly, I
welcome corrections.

So let's get started with the new NVDA add-ons series by talking about
what you'll need for add-on development.

Saturday, May 11, 2013

Email test...

It's been a while since I posted via email...

Huge updates...

Hi, It's been almost two years since I came online... What did we talk about last time? Well, we did discuss C++, mission work and others. This year, I'm going back to summer missions, this time to Sri Lanka. In addition, I'm learning Python and am contributing to NVDA (nonvisual Desktop Access) and studying CS as usual. Hoping to keep in touch with you, the readers as I continue with C++, few notes on Python and an extensive series on NVDA add-on development. //JL