What's new in vTurbo 2.5

When vTurbo for NVDA 1.0 was released in August 2012, its objective was simply to provide some features present on most commercial screen-readers but which were missing in NVDA. Of those, perhaps the most powerful and welcome were the ability to save application specific settings and voice profiles, as well as an enhancement to the say all function in browse mode so as to combine the usefulness of quick navigation and continuous reading.

With the introduction of configuration profiles and skim reading in browse mode in NVDA 2013.3, NVDA has made yet another substantial leap forward. Since the way in which the NVDA configuration profiles work is quite different to the vTurbo methodology, it is unsurprising that the new NVDA configuration profiles have some advantages and disadvantages compared to how vTurbo has provided this functionality until now. vTurbo 2.5 has now been released to take advantage of NVDA configuration profiles, not only to improve how vTurbo works but also to make it easier to use NVDA configuration profiles themselves. To describe how vTurbo 2.5 does this, the NVDA configuration profiles methodology first needs to be explained.

Looking under the hood

Until version 2013.3, all settings in NVDA were saved to a single file called nvda.ini. If you ever looked inside this file in Notepad, you would have seen a long list of settings governing how NVDA operates, split into sections corresponding generally with the various dialogs accessible from NVDA's Preferences sub-menu. To create an application specific settings file, vTurbo would make a copy of the nvda.ini file with all its current settings and save that copy using the name of the current application for the filename. To create voice and Braille profiles, vTurbo would just copy over the relevant section of settings from nvda.ini and create files using names provided by the user. All this has changed.

NVDA 2013.3 no longer stores all of its settings in nvda.ini. IN fact, it hardly stores any of its settings. It will only start saving individual settings if these are changed from time to time by the user from their original default settings. It is important to bear this idea in mind when thinking about configuration profiles which you create as the user: only those settings which you have changed since you activated your profile will be saved. All other active settings which are not specifically saved to your profile will be provided by the default profile, called the normal configuration.

This way of working is similar to how Jaws implements its application specific settings. If you save an individual Jaws setting for the current application such as keyboard echo, whenever you launch or switch to that application you will get the desired keyboard echo but all other Jaws settings are provided by the default configuration. Unlike Jaws, however, although you can have your NVDA profiles triggered by specific applications, you can also trigger them manually. NVDA configuration profiles are therefore independent of applications but you can set a profile to be triggered by one or more applications if you want.

Manual and automatic activation of configuration profiles

Since Jaws does not let you manually apply settings saved for an application outside of that application, the process of saving and retrieving application settings in Jaws is automatic - you do not have to enter a name for your settings file and you don't have to look up a list to select it. Since configuration profiles in NVDA are initially independent of applications, you do have to create a file name for your profiles yourself and you are offered the option of setting a trigger for the current application at the time of creation. However, even if you don't set an application trigger at the beginning, you can do that any time later.

As you then switch from application to application, NVDA will load the settings from the profile (if any) which is associated with the current application.

Something completely different happens if you go into the configuration profiles dialog and activate a profile manually. The manually activated profile becomes a 'master profile' Its settings will continue to apply until you manually deactivate it. In fact, this means that its settings will continue to apply even if an application has triggered a different profile. In that situation, if the triggered profile has different settings for the same parameters as are contained in the master profile, the master profile wins and its settings take precedence.

The Good, the Bad and the Ugly

All this means that there are really three levels of profiles here. Let's imagine you are in Firefox and that it has triggered a profile which you have created for that browser but you have also manually activated a different profile which sets some voice settings. The manually activated 'master' profile's voice settings will take precedence over any related settings found in the Firefox triggered profile which, in turn, take precedence over related settings in the default (normal configuration). Question - you want to change a voice setting. Which profile is it in? Which one do you alter and do you need to deactivate the master profile?

If you can remember what settings are in what profiles, you wil get the hang of how configuration profiles work. However, vTurbo makes this a lot easier by simply continuing to store all relevant NVDA settings applied for an application in that application's own profile so that when you activate a vTurbo application profile, you are guaranteed to get all the settings which were in place at the time you created the profile.

Chickens and eggs

One of the biggest differences between NVDA configuration profiles and those created by vTurbo is the order of events. With Jaws, you save settings for an application or for a voice profile while you are in some kind of settings window; with vTurbo, you don't have to go into any settings windows or dialogs - you just select the relevant save command on the vTurbo menu and that saves whatever settings are currently active.

NVDA on the other hand requires you to create your new profile and give it a name before you start to make changes to your settings and it is only after you have actually changed some settings that you will be able to save those changes to your profile. You have to start out with the specific intention of creating a profile: you can't simply discover that the settings you have right at this moment are really good and you want to take a snapshot of them. Instead, you have to be more methodical and planned. vTurbo 2.5 continues to let you record currently active settings to create either an application specific profile, a voice profile or a Braille profile.

Swings and roundabouts

The advantage of the approach taken by NVDA and Jaws in applying default settings to everything unless some other profile's individual settings take precedence is an advantage when you want to make a change which is to apply wherever you are in Windows or whatever application you are using. All you have to do is to change the setting to the default (normal configuration) and that changed setting will be universally applied - unless another currently active profile has a different setting, of course. The disadvantage here relates to exactly the same behaviour. What if the setting you are changing in the default settings is one which you do not want to apply to a set of applications? In that case, you would have to activate the profiles related to those applications and change the relevant setting as desired.

Since vTurbo stores all of the relevant settings required for an application, voice or Braille profile, changes to the default profile will not impact at all when your vTurbo application, voice or Braille profiles are activated or triggered. The disadvantage of this in previous versions was that you could not change the default profile with the intention that the change would apply in all circumstances - you would have to change each application or other type of profile to match the new setting. Now, vTurbo 2.5 introduces some new commands displayed on a popup menu by pressing the applications key when in an NVDA settings dialog.

Saving a single setting to more than one profile

If you already have a number of vTurbo profiles, you don't have to remember whether or not the setting you are focused on in the open NVDA dialog has been specifically saved to any of them. By selecting the Save this setting only command on the popup menu, you are given the choice of saving the new setting to the normal configuration, to all vTurbo application profiles or to both. Additionally, if the setting is contained in the Synthesizer, Voice Settings or Braille Settings dialogs, you have the additional option of saving the current setting to all voice or Braille profiles as appropriate - all in a single operation. If you want the announcement of spelling errors switched off for all of your vTurbo profiles, go to the Document Formatting dialog, uncheck the checkbox and display the vTurbo popup menu with the applications key. Select Save this setting only and then press Enter when the small dialog box is displayed. This will save the current settings to all profiles by default. This returns you to the Document Formatting dialog where you must then close the dialog since this completes the saving operation.

Saving all settings in a dialog to more than one profile

If you can save a single setting in an NVDA dialog in this way, it would be great if you could save all of the current settings in the dialog to the normal configuration, all of your vTurbo application profiles, or to both. vTurbo lets you do that with the second command on the popup menu, conveniently called 'Save all settings in this dialog box'. Again, the same small vTurbo dialog containing checkboxes relating to the normal configuration and all vTurbo application profiles is displayed (plus checkboxes for voice and Braille profiles where relevant). So, if you have changed settings in the Keyboard Settings dialog, for example, and want to apply them universally whether or not there are different settings in any of your existing vTurbo profiles, you can apply all of those settings across your profiles with one single operation.

Creating a configuration profile the easy way

The vTurbo voice and Braille profiles features let you create your own profiles using the settings contained in the Synthesizer, Voice Settings and Braille Settings dialogs of NVDA. These are three of the ten NVDA settings dialogs which can save their settings to profiles. Wouldn't it be good if you could instantly create a configuration profile which stores all of the current review cursor settings, or all of the current document formatting settings? You can do this with the third item on the new vTurbo popup menu.

For example, imagine that you have carefully adjusted the settings in the Document Formatting dialog to create a configuration profile which you want to use for proof-reading. With the dialog still open, display the popup menu and select 'Create master profile using these settings'. You are then asked for a name for your profile and when you press Enter, the profile is created once you close the Document Formatting dialog. No advanced planning needed, just change the settings you want and then create your new profile from a simple menu command.

Read Just Text is now a configuration profile

vTurbo has changed the way it provides the Read Just Text feature. vTurbo itself creates a configuration profile called Read Just Text and will automatically replace it if you accidentally delete it. Although this profile can be activated in the traditional way from the vTurbo menu, it can also now be toggled using the hotkey Windows, alt and R.

Since Read Just Text is now an NVDA configuration profile, you can also activate it and deactivate it in the Configuration Profiles dialog of NVDA. This is the quickest way of loading and unloading the Read Just Text settings.

More toggling

After you activate a voice profile from the vTurbo menu, you can then toggle between its settings and the default settings by pressing the hotkey Windows, alt and V. The same applies to a Braille profile activated from the vTurbo menu - toggle that with the Braille settings in the default profile by pressing Windows, alt and B. You can, of course, activate and deactivate voice and Braille profiles directly in the Configuration Profiles dialog but you cannot reactivate a deactivated profile without having to find it in the list of profiles again. With the vTurbo toggle, the same voice or Braille profile is reactivated after deactivation.

Note that vTurbo 2.5 changes the way voice and Braille profiles operate once they are activated. In previous versions, their settings would be overwritten by an automatically triggered application profile. This is no longer the case. Voice and Braille profiles are now treated as 'master' profiles and will remain active until you manually deactivate them or until you effectively switch them off using their respective toggle hotkey.

Making it easier to use the say all configuration profile

Another great feature introduced with the NVDA configuration profiles functionality is the ability to set a profile to be triggered immediately when you start say all. Thus, for example, you could be arrowing down a page using Espeak but then have NVDA instantly switch to a Vocalizer voice when you start say all.

vTurbo makes it very easy to set one of your profiles as the say all profile. The new Say all profile item on the vTurbo menu displays a list of relevant profiles which can be set as the say all profile, displaying a checkmark next to the profile which is currently set as the say all profile (or against (normal configuration) if none has been set). Press Enter on the name of the desired profile and vTurbo does the rest.

Although it is easy enough to display the list of profiles in the Say all profile sub-menu, vTurbo also lets you display the same list by pressing the hotkey Windows, alt and Y. To make it even easier to find out which of your profiles is currently set as the say all profile, you just have to press the hotkey Windows, alt and Y twice quickly and vTurbo will speak it to you.

You can temporarily disable your say all profile by using its vTurbo toggling hotkey, Windows, alt and S. Note that this checks the 'Temporarily disable all triggers' checkbox found in the Configuration Profiles dialog and therefore does not have the effect of resetting the say all trigger to the (normal configuration). This toggle is very handy where you have set up a profile to be triggered by say all but you do not wish for it to be triggered temporarily for a particular reason.

Exporting and importing profiles

As with earlier versions of vTurbo, you can easily export and import all of your configuration profiles, not just those created by vTurbo. In addition, any collections of profiles which you have created using earlier versions of vTurbo can be imported into vTurbo 2.5 and they will be automatically converted and stored in the Profiles sub-folder in your NVDA configuration. Also, any existing vTurbo profiles which you have already will be converted automatically to the new format the first time you run version 2.5.

Enhanced say all, skim reading and going to sleep

One of the other major improvements to NVDA in 2013.3 is the introduction of skim reading in browse mode. Incredibly, this is switched off by default. Switch it on now! Go to the Keyboard Settings dialog and check the 'allow skim reading in browse mode' checkbox. If you have vTurbo 2.5, you can save that setting to all of your relevant profiles with one command as described above.

The skim reading feature effectively does what vTurbo's Enhanced say all feature has done since version 1.0. It lets you jump to headings, links and other elements on a web page or PDF document without interrupting continuous reading. This feature is available whether or not you start say all with the usual say all command in NVDA or whether say all begins automatically when a new page or document is loaded.

The Enhanced say all feature of vTurbo, triggered using its own hotkey Windows, alt and J, has been preserved for three reasons: (1) it lets you skip forward by paragraph by pressing P, (2) it lets you jump to the next occurrence of searched text by pressing W and (3) it lets you take advantage of a brand new feature - the Say all sleep timer.

Most digital book readers have sleep timers which will stop playback after a set period of time - handy if you are prone to dosing off or if you like to go to sleep while reading in bed. The new Say all sleep timer on the vTurbo settings sub-menu lets you set a timer of 5, 15, 30, 45 and 60 seconds. The timer starts when you press the special vTurbo say all hotkey and say all will stop on the expiry of the selected period. The cursor position will also be preserved at that point.

Compatibility with NVDA versions

Since vTurbo 2.5 has been redesigned and updated in order to use the new configuration profile methodology, vTurbo 2.5 will not work with versions of NVDA earlier than 2013.3. Note that the same caveat applies to vMouse for NVDA 1.6 which has been updated to take account of the changes in vTurbo.