The following sections discuss configuration issues important to proper operation of VFEdit® with your telephony audio hardware. Please review this information for changes necessary for your system:
This section describes setting the telephony hardware interrupt and driver software interrupt for proper operation in your system.
The following screen displays show typical hardware and software interrupt settings. This display is from the Norton Utilities® sysinfo.exe program; similar information is available from programs such as QuarterDecks QEMM® mft.exe program.
These displays show the hardware and software interrupt number, the name of the device or program associated with that interrupt, and interrupt vector address. The address must be zero before you install your telephony audio hardware or TSR driver in order to guarantee that an interrupt conflict will not occur.
You may have been using your telephony audio hardware at a conflicting interrupt with no apparent side effects. Microsoft Windows, however, may cause these previously hidden conflicts to surface. For example, the telephony audio TSR driver may be installed at the default software interrupt 6D on a system with a VGA display. Everything works fine until a program that uses VGA graphics mode (like Windows) tries to access the VGA card at industry standard interrupt 6D. Then the system behaves erratically.
Similarly, telephony audio hardware may have been installed at interrupt 3 in a system t hat already has a COM2 port. Everything works fine until a program that polls COM2 (like Windows) activates the previously quiescent COM2 interrupt hardware. Then the system behaves erratically.
It is possible, however, to share certain hardware interrupts. The LPT1 and LPT2 interrupts are good examples of hardware devices that do not normally generate interrupts, and can usually be shared with your telephony audio hardware. Normally, however, software interrupts cannot be shared.
If your telephony hardware interrupt is set to the same level as an existing device, unpredictable errors will occur. Typically, you will get an initialization error from VFEdit. Occasionally, the system will just "hang". Depending on the conflict, you may also get intermittent errors. Note that all of the hardware interrupts from 0 to 7 in this system are in use.
As noted earlier, it is possible to share certain hardware interrupts. Assuming that no hardware can be removed from this computer, and since no other interrupts are available, interrupt 5 (LPT2) is the "best" choice available.
Hardware interrupt address 5 would be an acceptable selection for this computer.
Some computers cannot handle add-on boards at interrupts 2 and 9. On the AT-style motherboard, interrupt 2 is used to chain interrupts from the first interrupt controller chip to interrupt 9 on the second interrupt controller chip. Using these interrupts will typically result in intermittent failures, often after playing or recording a file.
Some telephony audio boards support interrupts levels 8 and above. Do not use interrupt 15 with Microsoft Windows. Windows checks this interrupt for the expanded memory hardware, and will typically "hang" the system if a telephony audio (or any other) board is present.
Note that most of the hardware interrupts from 8 t o 15 in this system are available, as indicated by the value of 0000:0000 in the address field:
Hardware interrupt address 10 would be an excellent selection for this computer.
The hardware interrupt for your telephony audio hardware is set by a jumper or switch on the actual board. Please refer to your telephony audio manual or technical representative for additional information on how to read and set the hardware interrupt.
Assuming that the telephony audio hardware was installed at interrupt 5, you would start the TSR driver using the -H command line switch as shown in the following example:
d40drv.exe -H5 -I62
The -H5 switch tells the telephony audio TSR driver to use hardware interrupt 5.
Windows 95 users must load the telephony audio TSR drivers in the AUTOEXEC.BAT file (top level directory) or WINSTART.BAT file (located in the Windows directory).
If your telephony audio TSR driver interrupt is set to the same level as one already in use, unpredictable errors will occur. Typically, you will get an initialization error from VFEdit. Occasionally, the system will just "hang". Depending on the conflict, you may also get intermittent errors.
Interrupts in the 60 to 67 range are typically available for user programs, i.e., TSRs such as the telephony audio driver. Note that all of the software interrupts from 60 to 66 in this system are available, as indicated by the value of 0000:0000 in the address field:
Software interrupt address 62 would be an excellent selection for this computer.
Note that all the interrupts in the 68-6F range are in use by the system. Using one of these interrupts in this system would cause unpredictable results:
Although the telephony audio driver can be installed in lower interrupts such as 40, this should be avoided. Note that all of the software interrupts from 40 to 4A in this system are in use, as indicated by the non-zero value in the address field. These may work successfully when using the telephony audio hardware with non-graphical DOS programs. Windows, however uses more software interrupts than typical DOS programs, and re-maps certain interrupts for specific purposes:
Using one of these interrupts in this system would cause unpredictable results.
The software interrupt for your telephony audio TSR driver is set by a command line switch when you run the driver. Please refer to your telephony audio manual or technical representative for additional information on command line switches and options.
Assuming that you want the telephony audio TSR driver to operate at software interrupt 62, you would start the TSR driver using the -I command line switch as shown in the following example:
d40drv.exe -H5 -I62
Thus the -I62 switch would activate the telephony audio TSR driver at software interrupt 62.
Windows 95 users must load the telephony audio TSR drivers in the AUTOEXEC.BAT file (top level directory) or WINSTART.BAT file (located in the Windows directory).
This section describes changes to the MS-DOS CONFIG.SYS and Microsoft Windows SYSTEM.INI file necessary for using expanded memory.
High memory managers allow MS-DOS and other programs to use an additional 63 kilobytes of memory above the 640K boundary.
Expanded memory managers allow programs on 80386/486 computers to use expanded memory above the 1 megabyte boundary without the need for additional hardware.
These drivers are usually able to detect the telephony audio hardware and will avoid mapping memory into the shared memory area. For best results, however, explicitly exclude the shared memory area when installing these memory managers. Please refer to your telephony audio manual or technical representative for additional information on how to read and set the board address.
For example, if your telephony audio hardware was configured for a base shared memory address of D0000H, you would edit CONFIG.SYS and add the following qemm.sys parameter:
device=qemm.sys /X:D000-D400
Similiarly, if you are using emm386:
device=c:\dos\emm386.exe /x:D000-D400
This indicates that the telephony audio hardware is using buffers at paragraph address D000 to D400.
Expanded Memory and Telephony Audio TSR DriversVFEdit supports the use of Expanded Memory using the Lotus/Intel/Microsoft EMS 3.2 or 4.0 standard, thereby letting you move memory resources (such as buffer space) into expanded memory for all MS Windows versions and operating modes.
When running Windows 95 and Windows 3.x in Enhanced mode you must include these additional parameters for proper operation of the telephony audio TSR driver with expanded memory. The VFEdit installation program will change your SYSTEM.INI file so that you can use expanded memory buffers for your telephony audio TSR driver.
Check SYSTEM.INI and verify the following [386Enh] parameters:
[386Enh]
...
SysVMEMSLocked=YES
SysVMXMSLocked=YES
EMMExclude=D000-D400
...
This indicates that EMS memory is used during the driver interrupt and needs to be in memory at all times, and that the telephony audio hardware is using buffers at paragraph address D000 to D400.
VFEdit
reads settings from the VFEDIT.INI file every time you start VFEdit. You can make changes directly to your VFEDIT.INI file by using any ASCII text editor. If using a word processor, be sure to save the file as an ASCII text file (unformatted).When you edit VFEDIT.INI you will see a series of sections that appear in the following format:
[section name]
keyword1=setting1 setting2 ...
keyword2=setting1 setting2 ...
The section name precedes the setting for a particular Windows setting or application. The parameters for Screen Position, for example, are preceded by "[Screen Position]".
VISI technical staff may ask that you refer to an item on the following list during a support session. The following list itemizes profile sections and key strings and is for reference purposes only.
WindowState =
PositionLeft =
PositionTop =
PositionHeight =
PositionWidth =
BackColor =
FontName =
FontSize =
ForeColor =
RecentFile =
DocumentPrevious =
DocumentType =
TypeData =
TypePattern =
TextEdit =
TextFont =
TextSize =
TrimSoundThreshold =
TrimGuardTime =
DefaultResolution =
LowResolution =
MediumResolution =
HighResolution =
ChangeFrequency =
DCEMaximum =
EchoDelay =
EchoDecay =
FadeInStart =
FadeInStop =
FadeOutStart =
FadeOutStop =
NormalizeTo =
NormalizeOver =
ReduceNoiseAttenuation =
ReduceNoiseThreshold =
VolumeAdjustUp =
VolumeAdjustDown =
EqualizerBand =
TonePadString =
TonePadAmplitude =
TonePadOnLength =
TonePadOffLength =
DTMFLowFrequency1 =
DTMFLowFrequency2 =
DTMFLowFrequency3 =
DTMFLowFrequency4 =
DTMFHighFrequency1 =
DTMFHighFrequency2 =
DTMFHighFrequency3 =
DTMFHighFrequency4 =
DTMFButton0 =
DTMFButton1 =
DTMFButton2 =
DTMFButton3 =
DTMFButton4 =
DTMFButton5 =
DTMFButton6 =
DTMFButton7 =
DTMFButton8 =
DTMFButton9 =
DTMFButtonA =
DTMFButtonB =
DTMFButtonC =
DTMFButtonD =
DTMFButton* =
DTMFButton# =
CustomFrequency1 =
CustomFrequency2 =
CustomAmplitude1 =
CustomAmplitude2 =
CustomLength =
MixLevel0 =
MixLevel1 =
MixFile1 =
DeviceType
Edit Filter Configure =
Play Configure =
Record Configure
RecordMode =
Anti-aliasingType =
ResampleType =
ResampleThreshold =
UndoLevel =
SelectionRegion =
AutoBackup =
SilenceExtend =
WorkFileDirectory =
DeviceFileDirectory =
(file name of software module) =
Your WIN.INI file contains settings for many Microsoft Windows features and applications. Microsoft Windows reads settings from the WIN.INI files every time you start Windows. Since Windows keeps important settings in this file, you should edit it carefully. Before editing WIN.INI, make a backup copy; if you find that Windows does not run properly with the modified WIN.INI file, you can revert to your backup copy.
You can make changes directly to your WIN.INI file by using any ASCII text editor. If using a word processor, be sure to save the file as an ASCII text file (unformatted).
When you edit WIN.INI you will see a series of sections that appear in the following format:
[section name]
keyword1=setting1 setting2 ...
keyword2=setting1 setting2 ...
The section name precedes the setting for a particular Windows setting or application. The parameters for TI/F DLL, for example, are preceded by "[DlgTIF]".
VISI technical staff may ask that you refer to an item on the following list during a support session. The following list itemizes profile sections and key strings and is for reference purposes only.
DrvSig = "driver signature string"
Set the default driver signature string. This setting specifies the signature string used to identify the presence of the TSR driver in memory.
DrvOff = 2
Set the driver signature string offset in memory.
The following section describes command line parameters and the equivalent VFEDIT.INI settings.
The following command line tells VFEdit to open the file "chimes.wav":
VFEdit.Exe c:\windows\chimes.wav
Since VFEdit can open a file in many different formats, this command will open the file using the current default settings, which may not be appropriate for a wave file.
The "-d" option tells VFEdit to open the file "chimes.wav" as a multimedia wave file:
VFEdit.Exe c:\windows\chimes.wav -dWave Audio (*.wav)
Please note that embedded spaces (such as those between "Wave" and "Audio" are required for our internal database search to work correctly.
Since VFEdit supports multiple device types, you may wish to specify the output audio device with the "-o" option:
VFEdit.Exe -oWaveAudio,64,0,1,0,16,4,0
This will select a wave audio device for output (and input). Various device specifications may be found in the VFEDIT.INI file. The one shown above corresponds to the .INI file line:
DeviceType=WaveAudio,64,01,0,16,4,0
To generate the command line for other devices, use VFEdit to select that device, then copy the "DeviceType=" line from the .INI file.
The following command line tells VFEdit to open the file "hello.vox" and use the wave audio device:
VFEdit.Exe c:\vfedit\sample\hello.vox -dPure Audio (*.vox),8,Dialogic 4 bit ADPCM,16,1,6000 -oWaveAudio,64,0,1,0,16,4,0
Since hello.vox is a "pure" audio file, and does not contain format information, you should specify the format (unless you want VFEdit to use the previous format). The one shown above corresponds to the .INI file line:
"RecentFile1=c:\vfedit\sample\hello.vox,Pure Audio (*.vox),8,Dialogic 4 bit ADPCM,16,1,6000"
To open a VAP file containing Dialogic 8 bit at 8,000 Hz:
VFEdit.exe c:\vfedit\sample\index.vap -dIndexed Audio (*.vap),28,Dialogic 8 bit u-Law,20,1,8000
To open a VAP file containing Dialogic 4 bit at 6,000 Hz:
VFEdit.exe c:\vfedit\sample\index.vap -dIndexed Audio (*.vap),28,Dialogic 4 bit ADPCM,16,1,6000
To generate the command line for other formats, use VFEdit to open the file, then copy the "RecentFile1=" line from the .INI file.
To automatically play a file, add the following to the VFEdit command line:
VFEdit.Exe c:\windows\chimes.wav -cm%p~
The characters following the
-cm (short for "Command Menu") correspond to the Visual Basic SendKeys() arguments. In the previous example, "%p" is the SendKeys() argument for "Alt-P", which is the VFEdit command for "Play". The "~" (tilde) is the SendKeys() command for "ENTER", which tells VFEdit to execute the previously selected "Play" command. Integrating VFEdit Into Your ApplicationYou can call VFEdit directly from your application - just provide VFEdit with the name of a file to edit. To do this, simply launch VFEdit with the name of the audio file:
WinExec ("c:\VFEdit\VFEdit c:\VFEdit\sample\hello.wav", 5)
For a sample VB program that demonstrates this technique, download the file APPEXE.ZIP from our BBS or website.