SECTION FOURTEEN
ADVANCED OPTIONS

14.1:  INTRODUCTION

Don't let the title of this section scare you off.  This section does contain
a few features which at first may seem difficult to understand.  Please
read this entire section.  In fact, you may wish to read this section more
than once.  The best way to learn about a feature which may not be
completely clear is to actually give it a try.  At least by reading this
section, if you come across complex application programs, you might
remember a feature or two which could help you in getting the program to
speak.  At that point, you may want to learn more about the Vocal-Eyes
option(s).

14.2:  FLOAT WINDOWS

In section seven we talked about the ten standard screen windows zero
through nine.  Each of these windows can be either neutral, silent, speak
or float.  We did not cover the concept of float windows at that time
because we first needed to talk about light bars, markers, and cursoring
keys.  You now know everything you need to know to discuss the float
windows.

This type of window can float around the screen as its name implies. 
Why would you need such a feature?  Maybe a few examples will clear
things up.

In Section Seven we gave a brief example of how a float window might
be used.  You might want a hot key that will give you the number of files
you have in a particular directory.  There may be a lot of times when
you're more interested in the number of files you have than in what their
names are.  After having typed the DIR command in DOS a few times,
you find you're often going into review mode or using the VE cursor to
move up three lines from your applications cursor to find out this number. 
So, you decide to set a window which will read columns one through
eighty of that line.  The problem is, however, that a neutral window
doesn't work one hundred percent of the time.  You set the coordinates
of the window at one, twenty-two, eighty, twenty-two and it seems to
work, but you find that when the directory is short it simply says "blank." 
That information may be on any line between nine and twenty-two (if
you're using DOS version 5.0 or greater).  What you really need is a
window that will "float" up and down with the information you're trying
to read.

14.2.1:  THE FLOAT WINDOW COORDINATES

Let's try setting up a float window to see what kind of possibilities we
have.  Go to the DOS prompt and type DIR.  Press ENTER.  Go into
review mode and find out how many lines you need to move up in order
to find the line that reads "8 file(s), etc."  This will probably be two or
three lines, depending on the version of DOS you're using.  

Now, stay in review mode and decide which window you'd like to use for
this function.  Let's choose window one for now.  Press F3 followed by
"1" to select window one as you would normally do.  Now, press F7 until
it says "float."  You have just set the "read type" for window one.  

Since we now want to set the coordinates of window one, press F4.  This
is where you'll see that a float window is different from a speak, neutral,
or silent window.  In this list you will find some unfamiliar options.   

The first thing Vocal-Eyes says when you press F4 is "Window one-  Float 
Left column position constant."  Use your arrow keys to move through
the list.  You will see that all four options are set to constant.  As you can
guess, "constant" means a fixed number-- one or eighty, for example.  A
constant value is what you've use for all your window coordinates up to
now.  

Return to the Left Column Position option and use your space bar to move
through all the possibilities.  They are:

CONSTANT

This means the coordinate will be an actual, fixed number.

BEGINNING OF LIGHT BAR

This means that the coordinate will be assigned the value of the first
character in the light bar of the active window. 

END OF LIGHT BAR

A coordinate set with this option will be set for the position of the last
character in the light bar of the active window.

CURSOR PLUS CONSTANT

If this option is used for a column setting, it refers to the position x
columns to the right of the cursor where x is the constant value you
provide.  If it is used for a row coordinate, it means x rows below the
cursor.

CURSOR MINUS CONSTANT

This is similar to the option above, but it refers to a position to the left or
above the cursor.

CURSOR PLUS ENHANCED

A coordinate set with this option will coincide with the first enhanced
character (any with an ASCII value below thirty-two or above 126) to the
right or below the cursor in the active window.

CURSOR MINUS ENHANCED

This is similar to the option above, but looks for the first enhanced
character to the left or above the cursor.

CURSOR PLUS ATTRIBUTE

A coordinate set for this option will look for the first attribute change to
the right or below the cursor.

CURSOR MINUS ATTRIBUTE

When this option is used for a coordinate, Vocal-Eyes looks for the first
attribute change to the left or above the cursor.

CONSTANT PLUS ENHANCED

A coordinate set for this option will look for the first enhanced character
to the right or below the specified constant position.

CONSTANT MINUS ENHANCED

Here, Vocal-Eyes looks for the first enhanced character to the left or
above the specified constant position.

CONSTANT PLUS ATTRIBUTE

As you might guess, using this option causes Vocal-Eyes to search
forward (right or down) from the constant position for an attribute
change.

CONSTANT MINUS ATTRIBUTE

This option causes Vocal-Eyes to search backwards (left or up) from the
given position for the first attribute change in the active window.

MARKER

Using this option causes Vocal-Eyes to check the position of the specified
marker and use its appropriate coordinate. 

Now that you have seen all the options, set your left column position to
Constant and press ENTER.  When you are prompted for a number, enter
one (which is the default).

Move down to "Top line position."  It's the line which floats in this
example, not the column position, so here's where we do things
differently.  Press the space bar until you come to "Cursor minus
constant" in your list of options.  Since the line we want to read is always
above our cursor, we need to go backwards, hence we choose minus
instead of plus.  Now, do you remember the number of lines you had to
move up in order to read this line?  For our example, we'll say you're
using MS DOS 5.0 or 6.0 and so you had to move up three lines.  So, 
press ENTER and, when Vocal-Eyes prompts you for the constant value,
type in "3" and press ENTER again.  

Vocal-Eyes now asks you for the right column position.  For our example,
let's leave this at a constant eighty.  Enter that if you like and move on to
Bottom Line Position.  We only want to read one line, so here we'll set
our bottom line to the same coordinate as our top line.  Go ahead and set
this to Cursor Minus Constant and type in a three for the value when
Vocal-Eyes prompts you for it.

After you've put in your last window coordinate, you'll leave the box. 
Don't forget to select window zero again as your active window.  It is
generally a good idea not to let your float window be your active window,
but certainly in this case we don't want our movements to be restricted to
this single-line window.

Now, test out your window by pressing ALT-1 or your Read Window One
hot key.  Did it read only the appropriate line?  If not, go back and see
where you made your mistake.  You can find out what values were used
as your left, top, right, and bottom by pressing F8 either from within the
F4 box or when you are simply in review mode.  If it worked alright, try
getting long and short directories on the screen to convince yourself that
it will work in any situation.  

If you like having this hot key to read this information, be sure to save
your .SET file.

14.2.2:  THE POWER OF FLOAT WINDOWS

How about an example demonstrating the light bar options of the float
window?  The float window feature can also be used in spreadsheet
programs.  In such a program, you often have several columns across the
screen.  These columns can vary in width.  Lets say at the top of each
column in your spreadsheet you have the following titles:

Phone Bill   Gas Bill    Electric   Mortgage     Total

As you move from column to column, you could have Vocal-Eyes read the
new cell position and cell contents.  However, wouldn't it be better to
read the column title and then the cell contents?  The problem is how to
find the current column title and have it read.  You guessed it, use a float
window.

You always know what line or lines the column titles are on.  In our
example, lets say they're on line five.  We'll set up window two as a float
window with the top and bottom lines set to a constant five.  

In most spreadsheets, the current cell is indicated with a light bar.  The
light bar extends across the width of the column.  Because of this, we
can use its beginning and ending points as the left and right positions of
our float window, thus telling Vocal-Eyes how wide our spreadsheet
column should be as we move across the screen from narrow column to
wide.  Set your left column to Beginning of Light Bar and your right
column to End of Light Bar. 

Again, in this example, The float window cannot be the active window. 
Instead, activate the same window you normally would, perhaps window
zero.  You should make sure the light bar color is set to the actual color
used by the spreadsheet program or use the auto light bar.  

Now when you press the hot key to read the float window, Vocal-Eyes
will look for the light bar in the current window, get its left and right
column positions, and set the float window to the same settings.  If a
light bar can not be found, the float window will not read and you will
hear an error tone.

Now that we have our float window reading the right information, we'd
like to hear it as we cursor across the page.  If we are using the right and
left arrows to move about, as is often the case, we should define these in
the cursoring menu to read window two (our float window above) and
then the light bar.  Use LINK, of course, to do this.  Now, as you move
from column to column, Vocal-Eyes will read the current column title and
the cell contents all automatically.  What could be nicer?

Remember, the reason a float window works in our spreadsheet example
is because the current light bar is somewhere directly below the title we
want voiced and is exactly the same width as the title.  It does not matter
what line the light bar is on.  Vocal-Eyes is only interested in the starting
column and ending column of the light bar.  It uses these column
positions to set the left and right columns of the float window.  You must
supply the starting and ending lines for the window.  Normally the starting
and ending line will be the same line but they do not have to be.

What if you've labeled your rows instead of your columns?  No problem. 
Suppose your row columns are lined up down the left side of your
spreadsheet.  They begin in screen column three and never extend beyond
column twelve.  Simply set up your float window with three and twelve
as your constant left and right positions and, as you've guessed, your top
and bottom lines as Beginning of Light Bar.  Now, if you like, you can
have this window read by a cursoring key just as you did in the example
above.

Do you have labels across the top and down the side both?  How about
chaining one of your float windows to another (see section 14.3.2)?  This
way you can hear the left label, then the top label, then the cell  if you
like.

But, you say, I have columns of information that aren't indicated using
light bars.  Instead, I have a normal cursor.  What should I do?

Okay, we'll have to be a bit more creative.  What separates your
columns?  Do you have enhanced characters separating them?  Are your
columns a fixed width?

If your columns are separated by vertical lines (usually ASCII 179), you
can use Cursor Minus Enhanced and Cursor Plus enhanced as your left
and right positions.  You won't have to do anything special with your top
and bottom positions.

Or, maybe you don't have a spreadsheet or check register situation. 
Perhaps you've set up tabular columns in your word processor and would
like to read down one column at a time.  Then you'd like to change your
mind from time to time and read across one row.  There is no light bar
and there are no enhanced characters to show Vocal-Eyes where the
columns begin and end.  However, we do have consistency on our side. 
You've set up the columns so that they are all the same width.  

Set your top and bottom positions as constants.  These should probably
be the entire up-and-down range of your word processor's work area. 
Now, figure out how wide your columns are.  Are they twelve columns? 
Twenty-five?  Let's say, for our example, that they are twenty-two
columns wide.  

We're ready to set the left position to Cursor Plus Constant.  Press ENTER
and then type in "0" as your constant value.  In other words, the left side
of your window will be your cursor position.  Now you can see how to
set your right cursor position.  That's right, find Cursor Plus Constant
again, but this time type in "21" as your constant value (the cursor
position plus twenty-one will give us a total range of twenty-two).  

Now that you have the coordinates of your window set up, make sure
your cursor is at the beginning of one of your tabular columns and hit the
hot key to see if you like what you hear.  Did your hot key read you the
column you were in and no more?  Good.  

You may want to do more with these columns of information than simply
hear a column read from top to bottom.  Let's look at a concrete example.

Perhaps you have a list of Little league players and information about
them in these tabular columns.  The name of each player is in the first
column, his or her batting average in the second, parent name in the third,
and date of birth in the fourth.  You would like to be able to cursor up and
down through the list and hear only the piece of information your cursor 
is on, e.g. the name of the player or the parent's name but not both.  If
you should choose to do so, however, you'd like to be able to read across
the whole line at once in order to hear all of the information about this
player with a single keystroke.  Actually, there are at least two good ways
to handle this.  Depending on the details of your columns and word
processor, there may be others.  Here, let's solve it only one way.  

In addition to the float window we set up for reading one entire column
with a single keystroke, let's set up a window which will read us one
piece of information.  We could do this with our read word hot key and
cursoring keys which read one word, but our players have first, middle,
and last names and so do their parents.  

We'll set up window two as a float window with the left position set for
Cursor Plus zero and the right set for Cursor Plus twenty-one just as
before.  But this time, let's set the top and bottom  positions both to
Cursor Plus zero.  This means that window two will contain one single
piece of information such as "Joe Gingrich" or "July 11, 1984."  When
we're done setting up the coordinates of this window, we'll be sure to
make window zero our active window as usual.

Now, we have to know a little about your word processor.  Let's assume
that you'll move up and down through this information using the UP and
DOWN arrows.  Let's also assume that you'll move from column to
column using the TAB, SHIFT-TAB, CTRL-LEFT, and CTRL-RIGHT keys.  
 
So, as you've already figured out, we're going to define these keys as
cursoring keys which all read window two.  When you press DOWN
arrow, you'll move from, say, "Mary Ellen Pugh" to "Greg Garcia" and will
hear only "Greg Garcia," not his batting average, father's name, or birth
date.  If you next hit the TAB key, you'll hear "205" only.  Hit the TAB
again and you'll hear "Jack Garcia."

But, what if you want to hear all of Greg's info at once?  You don't have
all day, we know.  Just hit your read line hot key (CTRL-L) and you'll hear
the whole thing.  That's the advantage of keeping our active window
wide open.

Hopefully by now you can see the potential of the float window.  With a
little creativity, the sky is the limit.  Combine these with some of the
following features, if you like.

14.3:  MORE OPTIONS FOR THE STANDARD WINDOWS

We have already covered many features of the standard windows zero
through nine.  However, there are a few other features each of the
windows is capable of.  These new features will be covered below. 
These new features however are not available with the extended windows
ten through forty-nine.

14.3.1:  WINDOW COLOR

Each of the ten standard windows zero through nine can have a particular
color attached to it.  This is separate from the light bar color we talked
about earlier.  If characters are being printed to the screen through BIOS
and they fall within a speak window, they will only be spoken if the color
of the character matches the color setup for the speak window.  By
default, the color is any foreground color on any background (every
character).

Although this can be used for characters being printed through BIOS,
Vocal-Eyes also looks at this setting when it has been requested to read
the specified window.  If, for example, you setup window five for blue on
red and you issue the hot key asking Vocal-Eyes to read window five,
Vocal-Eyes will only speak the characters which are blue on red within the
defined window.  You could think of this as another way of setting up a
user attribute.  The only difference is that this is unique to each window
whereas the user attribute is independent of all windows.

There are actually two ways you can setup the color to be used for each
window.  The first approach will be discussed here and the other will be
discussed a bit later in this section.

Remember, while in review mode, you can press "A"  to set the user
attribute to the color under the review cursor and you can press "B" to
set the current window's light bar color to the color currently under the
review cursor.  After either command, you can press F1 to display the
color palate which displays all the available foreground and background
colors along with the generic options such as any bright or not black.

Well, to set the current window color, the procedure is exactly the same
only you press the command "W" in review mode.  Vocal-Eyes will say
"Window set for whatever on whatever."  If you wish, you can press F1
to select from the color palate.  In either case, you have just setup a
particular color for the currently selected window.

Remember, the current window color is only used when information is
being printed through BIOS in a speak window or when you request that
the window be read.  Reading the current line or paragraph will not use
the window color but will read the data as before, regardless of the color.

14.3.2:  CHAIN READING

It is possible for you to connect or chain standard windows together so
they will all be read with a single keypress.  Each window contains a
setting of either "NONE" or a window number.  After Vocal-Eyes speaks
the specified window, it will look at this setting.  If set to none, Vocal-
Eyes will stop reading.  If however, it contains a window number, Vocal-
Eyes will read that window and start this process over again until a
setting of none is reached or you try to read a window which was read
previously in the chain.  In other words, you can not have window SEVEN
chained to window TWO and window TWO chained to window SEVEN. 
Vocal-Eyes will sense the window specified has already been spoken and
stop reading.

This can be used for many purposes.  One example might be for reading
columns.  Set a window for the first column and chain it to the window
which is setup for the second column and so on all the way across.

Chain reading will work no matter how the original window was requested
to be read.  For example, you could use the read window hot key, a
cursoring key, or a hyperactive window could be set up to read a chain of
windows.  

14.3.3:  SPEAK AND SPELL

It is possible to instruct Vocal-Eyes while reading a window to spell each
word after it has been spoken.  This feature was mainly designed for spell
checkers which give you a list of optional words.  Hearing the optional
words spoken may not be enough.  Simply instruct the window you have
setup to include the options to speak and spell.

A good example of this is the spell checker in WordPerfect 5.1.  It gives a
list of possible replacement words from lines thirteen to twenty-two.  By
setting a window to this area and setting the window to speak and spell,
you would get something like this:

A. test  t e s t
B. testing  t e s t i n g
C. tests  t e s t s

and so on...

Only those words which have more than one letter are actually spelled
after being spoken, So the letter or number preceding the optional word is
only spoken once and not spelled.  However, the optional word after it is
spoken is spelled out.

Also, during the spelling of the word, Vocal-Eyes automatically lowers the
speech rate by two.  This is so you can truly understand what the word
is.

14.3.4:  SETTING UP A WINDOW DEFINITION

Now that you know what each window can do, lets talk about how you
actually setup these values.

When you press ALT-F7 in review mode, Vocal-Eyes will display a box in
the center of the screen which prompts for eight items pertaining to the
currently selected standard window.  Each item will be discussed in detail
below.  You can use the arrow keys to move from option to option and
use the space bar to rotor to the next setting or the backspace to rotor to
the previous setting for the current option.

Status:

The first item asked for is the status of the window.  Simply press the
space bar to select the next option or the backspace key to select the
previous option.  Once you get the desired setting, press the ENTER key
to move to the next selection.  The available settings are: Neutral, Silent,
Speak, and Float.  This is the same "status" which you've been setting
with the F7 key in review mode up to now.  

Window foreground attribute:

This is asking for the foreground color to be associated with this particular
window.  The default is anything.  Feel free to rotor this to the desired
option.  If you prefer, you can press F1 to use the familiar color palate. 
Remember, you can also setup the window color by moving the review
cursor on top of the requested color and pressing "W."  You can even
press F1 after the W if you wish to manually setup the foreground and
background colors.  Feel free to setup the color in either location.  If you
setup the color using the "W" command, you can use ALT-F7 to later
display what the color is set for.

Window background attribute:

This is asking for the background color to be associated with this
particular window.  The default is anything.  Again, rotor this option to
the desired color or press F1 for a visual display of available options.

As for the foreground discussed above, you can use the "W" command in
review mode to also set the window color.

Once you have the foreground and background colors setup properly,
Vocal-Eyes will only speak those characters with the selected color when
the window is requested to be read.

Window to chain read:

This is the fourth option in the window definition.  This is asking what
window you wish Vocal-Eyes to automatically start reading when the
current window has been read.  The default is None which means don't
chain any further.  Simply rotor this to the desired window number if you
wish that window to be read next.  You can chain as many windows
together as you wish but if you attempt to chain to a window which has
been read previously in the chain, Vocal-Eyes will stop reading.

Speak and spell:

This option toggles between yes and no with the default being no.  If set
to yes and you request that the window be read, Vocal-Eyes will spell
each word which is two characters or larger after it has been spoken.  For
example, "Mary M a r y Had H a d A Little L i t t l e Lamb L a m b."

This is an excellent option for optional words from a spell checker.

Light bar status:

This option is simply another place where you can setup the light bar
status as off, on or auto.  This can also be setup from the general menu
and from the bar toggle hot key.  It has been placed here simply for
convenience.  Remember, each window holds the status of the light bar
as well as the light bar color.  Switching to another window can cause a
switch in the light bar status as well as the color.

Light bar foreground attribute:

This is asking for the foreground color of the light bar for this particular
window.  Again, this can be setup using the "B" key in review mode. 
Simply move to the desired color and press ENTER.  To see and hear the
color palate, press F1.  This works just like the window foreground
attribute above.

Light bar background attribute:

This is the final option in the window definition.  This is like the light bar
foreground discussed above but this, of course, relates to the background
color for the light bar.  After getting the desired setting, press ENTER to
leave the definition setup.

Feel free to arrow up and down through the settings to get to the desired
option.  The up and down arrows can move you to the next or previous
option.  Pressing the ESCAPE key at any time will exit the definitions
completely and the values will be remembered.  Cursoring past the last
option will also exit the definitions and retain all values.

14.4:  CURSOR TRACKING

You have great control over what Vocal-Eyes considers the cursor.  So
far, Vocal-Eyes has been using the physical cursor position.  However,
some programs do not use the physical cursor.

For example, you can cause Vocal-Eyes to treat a certain color as if it
were the cursor.  You can also do this with a certain character or both a
character and color.  Some applications move the physical cursor off the
screen and don't use light bars but instead use some special character
and/or color to visually display the cursor position.  Or if the applications
program is using light bars, they may not be using the traditional light bar
approach.

When we discussed the General submenu, we did not talk much about
option four, Cursor Tracking.  Selecting this option brings up a submenu
with nine options.  Each will be described below.  Keep in mind these are
advanced options.  Although they may seem a bit complicated, there may
be certain application programs in which adjusting these values can make
or break the program.  For most applications however, these values will
not have to be changed.  Don't worry if after you have read the
descriptions for all nine options you don't fully understand what each is
used for.  Given time and experience, you will come to fully understand
their potential power.

14.4.1:  CURSOR TYPE

Option 1 (Cursor Type)- This option can be setup for physical/hardware,
physical/BIOS, ASCII, Attribute, or ASCII and Attribute.

The default of physical/hardware will work most of the time.  This is the
fastest method for Vocal-Eyes to get the current cursor position on the
screen.  Technically, this value will always be correct.  However,
practically, you may want something else.

Perhaps you are using LP-DOS or some other screen enlargement
software.  Say you are in Review mode and you would like to use your
SPACE BAR or read screen address hot key to determine exactly where
you are on the screen.  The position of your enlarged cursor may not
match the cursor's position as reported by your video adapter hardware. 
Setting the cursor type to physical/BIOS will correct this situation,
however, and instruct Vocal-Eyes to report your screen address as though
you were using a standard-size character set.

Also, you may be using a video adapter which does not conform to the
"standards" of reading the physical cursor location directly through the
hardware.  One symptom of this problem is that each of your keystrokes
is speaking but nothing sent to the screen is speaking.  Also, when you
enter Review mode, Vocal-Eyes always says "Cursor Moved."  If you are
sure the screen characters should be speaking (they are coming through
the standard screen services) and your cursor should not be moved when
entering Review mode, try switching this value to physical/BIOS.

If you choose ASCII, Attribute, or ASCII and Attribute, Vocal-Eyes will
scan the entire screen for the specified character and/or color.  If it is not
found, Vocal-Eyes will revert back to the physical cursor position as
before.  Notice the entire screen is searched regardless of the currently
selected window's coordinates.  Because Vocal-Eyes has to scan the
entire screen to find the cursor position, this can slightly slow the overall
performance of Vocal-Eyes.  If at all possible, use the physical/hardware
or physical/BIOS options.

If you are using an application which does not use the physical cursor but
instead uses a particular character and/or color, setting this value can
make this program work where previously it could not be used efficiently.

If you have chosen ASCII or ASCII and Attribute, you must tell Vocal-Eyes
what character it should treat as the cursor.  Option seven of this menu
will do just that.  More about this option in a bit.

If you have chosen Attribute or ASCII and Attribute, you must tell Vocal-
Eyes what color it should treat as the cursor.  Options eight and nine of
this menu will do just that.  More about these options is a bit.

14.4.2:  USE LIGHT BAR AS CURSOR YES/NO

Option 2 (Use Light bar as cursor).  If you have light bar mode set to on
or auto and you have this option set to yes Vocal-Eyes will scan for the
current light bar on the screen and use the first character of the light bar
as the cursor position.  This option overrides option one (Cursor Type).  If
however, the light bar was not found, Vocal-Eyes will revert to using the
setting from option one (Cursor Type) for determining the cursor position. 
As you would expect, Vocal-Eyes will get the light bar color from the
currently selected window and only check within the window's
boundaries for the light bar.

Why would you ever want to use the light bar as the cursor position? 
Although there are many reasons, a perfect example is the spell checking
option of WordPerfect.  The current misspelled word is placed in a
different color than the surrounding text.  By setting this color as the light
bar, you can have Vocal-Eyes read and spell the misspelled word if you
want.  But what if you wanted to read the line the misspelled word was
on or the sentence or paragraph.  Previously, pressing any of these
options would read relative to the physical cursor which in WordPerfect's
case is never on the same line as the misspelled word.  

By telling Vocal-Eyes to use the light bar as the cursor position, you can
now press all the familiar hot keys such as previous, current and next for
character, word, line, sentence and paragraph.  This will now give you the
context around the misspelled word, a very useful feature, especially in
this case.

14.4.3:  BAR TRACK STATUS NORMAL/SPECIFIED CURSOR

Option 3 (Bar track status) - this option Allows you to tell Vocal-Eyes
what to consider a light bar.  This option has no effect unless bar track
mode is turned on.  If it is set for off or auto, this setting will have no
effect.

By setting this option to normal, a light bar is nothing more than it has
always been.  Normal means the light bar is simply anything that matches
the color you specified.  For example, if you set the light bar color to
white on red and then ask Vocal-Eyes to speak the current light bar, it
would scan the current active window for all text which is displayed
white on red and speak it.

However, there may be times when an application does not use a color to
distinguish the light bar.  By setting this option to "Specified Cursor",
Vocal-Eyes will look at option one (Cursor Type).  It will use this
information to find the beginning of the light bar.  Remember, you can set
option one to use the physical cursor or a particular character or a
particular color or both a character and color.  After Vocal-Eyes finds the
beginning, it must somehow find the end of the bar.  This is where option
four  comes into play.  Option four tells Vocal-Eyes how far to read once
it has found the beginning of the modified light bar.

14.4.4:  BAR TRACK SPECIFIED READ

Option four (Bar track specified read) - this option is only used if option
three (Bar track status) has been set to "Specified Cursor."  If option three
is instead set to "Normal", option four has no effect.

As stated above, by setting option three (Bar track status) to "Specified
Cursor", Vocal-Eyes will use option 1 (Cursor Type) to find the beginning
of the light bar.  Now that it has found the beginning, it looks at this
option (Bar track specified read).  This option offers four settings:  To first
enhanced character, To end of line, Between enhanced characters, and To
next different attribute.

All four options tell Vocal-Eyes where to look for the end of the light bar. 
Lets take these options one at a time.

To first enhanced character:

Using this option, Vocal-Eyes will continue from the beginning of the light
bar and move from left to right until it comes across a character whose
ASCII value is less than 32 or greater than 127 or until it reaches the end
of the line.  Once this character is found, Vocal-Eyes treats that position
as the end of the light bar.  Vocal-Eyes now knows the beginning and the
end of the light bar.

To end of line:

This option is very simple.  Vocal-Eyes already knows the beginning
column and line for the light bar.  This simply tells Vocal-Eyes the end of
the bar is on the same line but is the very last character of that line.

Between enhanced characters:

This option is a bit different from the others.  Vocal-Eyes takes the current
cursor position and will backup until it encounters an enhanced character. 
It will treat this as the beginning of the light bar.  Then it will move
forward until it encounters another enhanced character.  Once this
character is found, it is treated as the end of the light bar.  Therefore,
everything between the two enhanced characters will be voiced.

To next different attribute:

As we said before, Vocal-Eyes already knows the beginning of the light
bar.  Using this option, Vocal-Eyes will look at the color of that character
and remember it.  Now it will read all characters left to right from that
position until it reaches a character whose color is different than the color
of the first character of the light bar or until it reaches the end of the line. 
It does not actually include the character with the different color.  The
light bar is then defined up to but not included the first character with a
different color.

14.4.5:  BAR TRACK NORMAL READ

Option five (Bar track normal read) - Do you remember how option four
(Bar track specified read) was only used if option three (Bar track status)
was set to "Specified Cursor?"  Well, this option, (Bar track normal read)
is only used if the Bar track status is set to "Normal."  A setting of normal
causes Vocal-Eyes to handle light bars as it always has.  However, with
this option, you can weed out unwanted light bars.

By default, if you have the Bar track status set to normal and you request
Vocal-Eyes to read the current light bar, it will scan the entire window and
speak all text with the specified color.  If there is only one instance of the
light bar color, this is probably what you wanted.  But what if the light bar
color is displayed more than one time on the screen?  Do you always
want to hear all occurrences of the light bar color or sometimes only a
specific one?

This option allows you to tell Vocal-Eyes which one of the light bars on
the screen to read.  The options available are -- All bars, First bar only,
Last bar only, Shortest bar only and Longest bar only.  Lets look at each
one individually.

All bars:

This option will cause Vocal-Eyes to work as it always has.  It will speak
all characters in the specified window with the specified color.  It does
not matter where the text is or how much there is.

First bar only:

Lets say you are using an applications program which is using a light bar. 
However, lets also say it has a status line at the bottom of the screen
using the same color as the light bar.  You could setup a window to mask
out the status line, but you could also set this option to read the first bar
only.

This means Vocal-Eyes will scan the current active window from top to
bottom until it finds the light bar color.  Then it will read all text up to but
not including the first character with a different color and stop.  It will not
look any further down the window for more characters with the same
color.  In our example, the status line at the bottom would not be read.

Last bar only:

This does exactly the opposite of First bar only.  Lets reverse our example
above.  Lets say you are using an applications program which is using a
light bar but also has a status line above the light bar which uses the
same color.  Here again, you could set up a window but setting this
option to last bar only would cause Vocal-Eyes to only read the last
occurrence of the specified light bar color in the active window.  

Shortest bar only:

With this setting, Vocal-Eyes will scan the entire window for all
occurrences of the specified light bar color.  In doing so, it remembers the
lengths of each occurrence.  After reaching the end of the window, it will
then look back over the length of each occurrence and only read the
occurrence with the shortest length.  If there is more than one occurrence
with the same length and it is the shortest, Vocal-Eyes will only read the
first occurrence.  

Longest bar only:

This is similar to the option above, but here Vocal-Eyes looks for the
longest bar.  Again, Vocal-Eyes will scan the entire window taking note of
the length of each occurrence of the light bar.  After reaching the bottom,
only the occurrence with the longest length will be read.  Here again, if
there is more than one bar with the same length and it is the longest,
Vocal-Eyes will only read the first occurrence with the longest length.

14.4.6:  SPECIFIED ENHANCED ASCII CHARACTER

If you are using a specified light bar option which requires an enhanced
character such as "To first enhanced character" or "Between enhanced
characters," you can now specify exactly what the enhanced character
should be.  If you specify an ASCII zero, which is the default, Vocal-Eyes
will treat the first enhanced character as the match.  However, if you
specify a non-zero ASCII value, Vocal-Eyes will only consider that
character as a match and it will skip all other enhanced characters.  You
can type any number from zero to 255.  After typing the number press
ENTER to confirm it.

This option is only used if you are using a specified light bar which uses
an enhanced character for determining its starting and/or ending positions. 
Otherwise, this value is completely ignored.

14.4.7:  ASCII CHARACTER

Option seven (ASCII Character) - if you have set option one (Cursor Type)
to ASCII or ASCII and Attribute, you must tell Vocal-Eyes the ASCII value
of the character it is to treat as the cursor.  This is where you supply the
ASCII value from zero to 255.  Pressing ENTER at this option will cause
Vocal-Eyes to prompt for the ASCII value.  If you are not sure what the
ASCII value is, simply move the review cursor on top of the character and
press the Attrib/ASCII hot key.  Vocal-Eyes will tell you the ASCII value. 
Then simply type the supplied number in this option.  Vocal-Eyes now
knows what character it is to track as the cursor position.

14.4.8:  FOREGROUND

Option eight (Foreground) - only if you have set option one (Cursor Type)
to Attribute or ASCII and Attribute will Vocal-Eyes use this option.  This
option allows you to set the foreground color Vocal-Eyes should use to
determining the cursor position.  Simply move to the desired color using
the ENTER key and then move on to option 9 for setting the Background
color as well.

14.4.9:  BACKGROUND

Option nine (Background) - this option, like the foreground option above,
is only used by Vocal-Eyes if you have set option one (Cursor Type) to
Attribute or ASCII and Attribute.  Otherwise, it will be completely ignored. 
Like the foreground, move to the desired background color.  If you have
already setup the foreground color, Vocal-Eyes now knows what color it
should use to determine the cursor position on the screen.

14.5:  VIDEO CLIPBOARD BUFFER

As you were told in section 9, the default clipboard buffer, which allows
you to copy information from the screen, was set at 1K.  You were also
told this size could be adjusted to your specific requirements.  If you find
you never use this feature, you can clear this buffer, saving you valuable
RAM memory.  The buffer size can vary from zero characters to 2,304. 
The default setting now is 1,024 characters.  The following VE command
line parameter can be used to adjust this buffer size:

/!Vx 

where x is a number from zero  to nine.  The number supplied is multiplied
by 256 characters.  Therefore a setting of five would be five times 256 or
1,280.  The default is four or 1,024 characters.

Notice because this command contains the ! (exclamation point) it can
only be issued the first time Vocal-Eyes is loaded for each session with
your computer.  For example:

VE /!V0

Assuming this was issued the first time Vocal-Eyes was loaded after
starting up your machine, the /!V0 command will tell Vocal-Eyes not to
allocate a clipboard buffer.  This will save 1,024 bytes of your computer
memory.  If you try and copy information into the clipboard however, you
will get the error "Block too large."

If you have loaded Vocal-Eyes into extended memory, there is no benefit
to reducing this buffer.  In fact, you might as well increase it to the
maximum.  Once you load vocal-Eyes into extended memory, it will
always allocate the same amount of DOS memory (about four kilobytes)
and about the same amount of extended memory (about sixty-four
kilobytes).

14.6:  AUTO LIGHT BAR BUFFER

Because the auto light bar requires a relatively large amount of memory,
we decided to offer a command line parameter that can disable this
feature altogether, freeing up the space.  If you decide to disable this
feature you can free up about two kilobytes of memory.  Vocal-Eyes by
default will enable the auto light bar.  If you disable it and set the light bar
status to auto, Vocal-Eyes will behave as if you have it turned off.  If you
set light bar to on, it will always work regardless if you have the auto
light bar enabled or disabled.  The command is as follows:

/!Lx 

where x is either zero-- disable or one-- enable.  If you find you never
have a case for the auto light bar feature, issue the command:

VE /!L0

This will free up a valuable two kilobytes of memory.

Notice because this command contains the ! (exclamation point) it can
only be issued the first time Vocal-Eyes is loaded for each session with
your computer.

Like the clipboard buffer, if you have loaded Vocal-Eyes into extended
memory, there is no benefit to removing this buffer.  Once you load in
extended memory, Vocal-Eyes will always allocate the same amount of
DOS memory (about 4K) and the same amount of extended memory
(about 64K).

14.7:  OVERLAYS

Some of you may be asking how Vocal-Eyes can have so many features
and take so little memory.  The reason for this is Vocal-Eyes uses
overlays.  Overlays are simply a way of saving memory.  Instead of
loading every feature of Vocal-Eyes in RAM at once, several of the
memory-hungry features are not loaded initially but are still stored on disk. 
Remember the file "VE.OVL?"  This file is very special to Vocal-Eyes.  It
holds many of the routines such as the hot keys menu, cursoring menu,
general menu and more.  We decided to use the overlay approach in order
to save memory.  You get a flexible friendly full featured program with
little RAM overhead.

The only potential problem of using overlays from disk is that DOS must
be available when the overlays are requested.  It may be possible for you
to issue a request to Vocal-Eyes which requires access to the VE.OVL file. 
If DOS is not available, you will get the message:

DOS is busy.  Unable to load overlay file.

Vocal-Eyes is telling you DOS is unable to get the required information for
Vocal-Eyes.

There are a few things you can keep in mind about Vocal-Eyes and DOS.

Whenever you enter the menus, they will not pop up until DOS is
available.  If however you are in review mode and ask for the menus, they
will pop up immediately even if DOS is busy.  Therefore, it is usually a
good idea to only pop up the menus from outside of review mode to
guarantee DOS will be available when the menus pop up.  If you must be
in review mode when you pop up the menus, always use the fast review
key instead of the review hot key.  This is because the fast review hot
key will wait for a split second for DOS to be freed before it goes into
review mode.  If however, you use the review hot key, review mode will
be entered immediately even if DOS is not available.  Remember, the
review hot key is really designed for macros.  Macros will be discussed in
section 16.

If you have extended memory, you can remove this little problem
completely by loading the overlay file there.  Below is a description of
how this can be accomplished.

As we said earlier, the file VE.OVL is very important to Vocal-Eyes.  It
contains certain features which Vocal-Eyes supports.  Vocal-Eyes must
have access to this file if you request a feature which is stored in it.  By
default this file is on disk.  However, Vocal-Eyes gives you the option to
load this file into extended memory.  This is completely independent of
where you load Vocal-Eyes itself.  For example, you can load Vocal-Eyes
into conventional memory and load the overlays into extended.  It really
does not matter.

There are a few benefits to loading the overlay into extended memory
versus leaving it on disk.  

1)  When information from the overlay is needed, it loads faster from
RAM.  If you are already using a hard disk, you may not really notice
much difference however.

2)  DOS does not have to be available for loading the overlay information. 
If you request a feature of Vocal-Eyes which requires it to get information
from the overlay file, DOS must be available for the request.  If you get
the message:

DOS is busy.  Unable to load overlay file.

this is telling you Vocal-Eyes could not interrupt DOS (disk operating
system) from what it was doing.  If you load the overlays into extended
memory, you will never have this problem.

The command to load the overlays in extended memory is very much like
the command to load Vocal-Eyes itself in extended memory:

/!OX - This will load the overlays into extended memory just like the /!MX
command for Vocal-Eyes itself, it must be issued the first time Vocal-Eyes
is loaded for each session.  If the overlays were successfully loaded into
extended memory, you will get the message "Overlays loaded into
extended memory."  If you do not have enough extended memory
available, Vocal-Eyes will give you the message "Error allocating extended
memory."  If you have not used HIMEM.SYS (or equivalent) in your
CONFIG.SYS file (see section 2.6), you'll  get the message "Extended
memory not detected."  If you get one of these error messages, the
overlays will not be loaded into RAM and Vocal-Eyes will default to using
the disk drive.  Lets look at the following Vocal-Eyes command line:

VE /!MX /!OX

would load both Vocal-Eyes and the overlays in extended memory.

If you have extra extended memory, we strongly suggest you load the
overlays into it.  

14.8:  LOADING VOCAL-EYES IN UPPER MEMORY

There are several programs available today such as DOS 5.0, DOS 6.0, or
QEMM which allow you to load Vocal-Eyes in upper memory.  This is not
considered expanded or extended memory, although it is memory
between the 640K and 1Meg space.

You should be able to load both the synthesizer driver and Vocal-Eyes in
upper memory if you have enough upper memory available.  Nothing
special as far as Vocal-Eyes is concerned needs to be done.  Consult your
memory manager's user's manual for details on how to do this.

14.9:  DISABLING VOCAL-EYES

If you want to completely disable Vocal-Eyes you can issue a command
line parameter.  Once you disable Vocal-Eyes, it will remain completely
dormant.  It will still be loaded in memory but it will not be taking any
overhead from your computer.  Aside from the memory use, your machine
will execute as if Vocal-Eyes had never been loaded.  This is a good
choice if you wish to temporarily turn your machine over to a sighted
user.  To disable Vocal-Eyes, issue the following command line parameter:

VE /E0

Once you execute this, Vocal-Eyes will shut down.  To enable Vocal-Eyes
again, issue the following command line parameter:

VE /E1

After this command, Vocal-Eyes will be executing exactly as it was before
you disabled it with the /E0 parameter.  Either of these two commands
can be issued at anytime.

14.10:  UNINSTALLING VOCAL-EYES

You just learned you can disable Vocal-Eyes with the /E0 command.  This
will shut down Vocal-Eyes but it will still be in memory.  If you not only
want to shut Vocal-Eyes down but you also want to remove it from
memory, you can use the /U (uninstall) command line parameter.  The
command:

VE /U

will completely remove Vocal-Eyes from memory.  It will be as if you had
never loaded Vocal-Eyes.  All memory will be freed up, including extended
memory.  You can only remove Vocal-Eyes from memory if you have not
loaded anything after it.  If you try and remove Vocal-Eyes but you have
loaded another resident program after it, Vocal-Eyes will say

Program loaded after Vocal-Eyes
Unable to uninstall

You will have to remove the program loaded after Vocal-Eyes before you
can remove Vocal-Eyes itself.

You can also use the /U command on the synthesizer drivers to remove
them from memory as well.  For example:

DBLTALK /U

This will remove the DoubleTalk synthesizer driver from memory.  This
also assumes you have not loaded anything after it or if you did, you have
removed it first.  Since Vocal-Eyes is loaded after the driver, you must
first remove Vocal-Eyes and then the driver.

14.11:  VOCAL-EYES DEFAULT DIRECTORY

Remember we said it was very important you are logged into the
subdirectory containing Vocal-Eyes before you startup Vocal-Eyes.  This is
because when you startup Vocal-Eyes, it will look at the current drive and
directory you are logged into and save that path.  It will use this location
when you load/save .SET files without specifying the path, for the help
information, for the overlay file, and for other reasons as well.  If you are
not in the correct directory when you start up Vocal-Eyes, it will not be
able to locate the necessary files and you will probably get several error
messages.

We have added a command line parameter which will tell Vocal-Eyes what
drive and directory it should use to look for VE.HLP, VE.OVL, and where
to load/save .SET files.  You can use the command anytime to change to
a new location.  Maybe you have a different user with a completely
different set of .SET files in a new directory.  You can tell Vocal-Eyes to
use the new location instead of the original.  You will need to make sure
the files VE.HLP and VE.OVL are loaded in the new location as well.

There are programs available which allow you to load programs like Vocal-
Eyes in your CONFIG.SYS file.  Since in your CONFIG.SYS file you can
not do a CD\SPEECH command to first log into the speech directory,
Vocal-Eyes would always look in the root directory for all the needed
information.  Now, you can use the /Px command to specify the path. 
For example,

VE /PC:\SPEECH

This would tell Vocal-Eyes to use the directory "C:\SPEECH" for all the
needed information.  After the /P you should always specify the drive
letter followed by :\ and the subdirectory.  You can go as deep in
subdirectories as you need.  For example, you could issue:

VE /PC:\SPEECH\MARY

This will tell vocal-Eyes to use files in the C:\SPEECH\MARY directory. 
Then you could issue:

VE /PC:\SPEECH\JOHN

This will tell Vocal-Eyes to forget the files in the C:\SPEECH\MARY
directory  and begin to use those in the C:\SPEECH\JOHN directory.  Each
user could have his or her own directory if you wish.

Normally you will not need this command.  If however, you need to
switch from one group of .SET files to another from time to time, this may
be a good way to do it.

