SpeechUtilities.com

 

What are mapped dvc files?

Mapped dvc files are legacy version 5 dvc files that can be used in version 6 with almost all the same functionality as existed in version 5. Version 6 has, by default, one mapped legacy dvc file at:

..\data\dvc\enx\dvcu\general\system.dvc

It contains all the macros for the Mouse Grid STATE of Natspeak and the <WakeUp> command of the Asleep STATE. (This is where you can add additional "wake-up" type commands manually).

The dvcmap.ini file of this subdirectory has entries for this system.dvc as well as (not present in version 5) entries that point to Natural Language Commands (NLC) files.

Systemwide mapped dvc files

If you want to add version 5 dvc files to all version 6 users, you can copy them to this subdirectory and make an appropriate entry in the dvcmap.ini file. For example: I have a legacy dvc file (pfe.dvc) for my text editor Programmer's File Editor. The first line of this file is:

MENU "PFE32" {

Therefore the correct entry to add to the dvcmap.ini file is

[PFE32]
pfe.dvc=1

In both of the above cases PFE32.exe is the executable filename and pfe.dvc is the file with legacy commands.

User level mapped dvc files

By default, no dvcmap.ini or legacy dvc files are in the directory:

..\users\yourusername\current

Mycmds.dat is located here but does not need a dvcmap.ini file entry. You can place .dvc files in this directory (just like version 5) as long as an entry in a dvcmap.ini file points to it. You can do this manually, but by far the easiest way is to say "import custom commands" (Natural Language Commands must be enabled in NatSpeak Options) and point the dialog to your legacy dvc file you want to add. Dragon copies the dvc file to the users 'current' directory and creates the appropriate entries in the 'current' directory dvcmap.ini. [Addendum: One user has reported that as a result of doing this procedure, nothing was changed anywhere. I am interested in reports either way.]

 If you need to, you can also say "delete custom commands" and Natspeak will delete the dvcfile and the entries in dvcmap.ini. [Addendum: Now that I have checked more closely, when I say "delete custom commands", only files that have Global Commands in them show up in this dialogue. Completely application-specific files do not show up. I am again interested in reports]

What are the implications of mapping your legacy dvc files instead of Importing them into mycmds.dat? One thing is that commands in mapped dvc files are not visible in the Dragon Browsers. (and thus cannot be edited with the Dragon Browsers). SayWhatPro could always display commands in mapped dvc files and beginning in version 2.1, can edit them as well. Another implication is that some users have had "focus" problems with Imported (mycmds.dat) legacy commands not being recognized in certain situations. With commands in mapped dvc files, these problems occur less frequently. One widely known macro product (KnowBrainer) uses this method because of these concerns.

Which should you use?

Either method above will work. However, if you use the registered version of SayWhatPro to modify commands in mapped legacy dvc files, it is slightly more straightforward if you have placed them with the user level technique above.  The reason is because of the method that SayWhatPro uses to update these commands.  SayWhatPro uses the version 5 Edit Command Wizard (by sending it keystrokes) to update these commands. If you modify a command in a systemwide mapped dvc file, Dragon will use the same procedure that it did in version 5. Namely, it first copies the systemwide dvc file to the user ' current' directory, and makes the modification from then on in this copied file. In other words, it treats the systemwide dvc file as kind of a master file, and will never modifiy that file directly. As a further consequence, if a file by the same name already exists in the user 'current' directory, it will then name the copied file (xxxxxx).dv0. One last caveat for SayWhatPro is that the version 5 Edit Command Wizard cannot modify macros in the systemwide system.dvc file mentioned at the top of this page.  [Addendum:: I have just discovered something new here. if NaturallySpeaking ever decides that your mycmds.dat file is bad, it will copy in a brand new user mycmds.dat AND DELETE any user level dvcmap.ini and all user level .dvc files!] Perhaps a reason for a systemwide mapping technique and of course good backups. SayWhatPro always has a backup of the last (SayWhatPro) modified version of a .dvc file.

Best with new user

Setting up mapped Legacy dvc files is probably something best done with a new user. It might be tricky or messy if the commands in the Legacy dvc files that you want to map have already been imported into the mycmds.dat file.