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.