VISIs Audio ToolBox Software Development Kit (SDK) lets you process and convert audio file formats from your MS Windows and MS DOS applications. The Audio ToolBox SDK contains sample programs that use the libraries and DLLs. These programs were created using Visual Basic and Microsoft C version 8.0, and demonstrate usage under both Windows and DOS. The sample PCM conversion program performs a simple .WAV to .Vox conversion.
Audio ToolBox SDK
is designed to run on a minimum system configuration through careful design and use of system resources. A minimum system configuration for Audio ToolBox SDK is as follows:| An IBM PC/AT or compatible with a hard drive, graphics monitor (color or monochrome) and at least 640K of memory. | |
| MS-DOS 3.3 or above. | |
| Microsoft Windows 3.x and above (for DLL version). |
Insert the diskette labeled Audio ToolBox SDK in the A: drive. Change to the A: drive by entering:
A: <ENTER>
To install Audio ToolBox SDK on your system, enter the following:
INSTALL <ENTER>
Audio ToolBox SDK
supports many popular data formats. The Install program will ask you to specify the data format you use. Just follow the instructions on the screen!After running Install, store your original Audio ToolBox SDK disks in a safe place. Youre now ready to work with the Audio ToolBox SDK.
The Audio ToolBox SDK directories contains all the files necessary to convert your files to and from a variety of audio file formats. In addition, the distribution diskette contains audio files you can use for sample conversions. The Audio ToolBox installation directory is organized into subdirectories. The following briefly describes the files and their uses:
| The MSCCvt directory contains a sample MS Windows and DOS program "CVTTST.C". To build both the Windows and DOS versions, run the batch file "MAKEME.BAT". The associated makefile assumes that Microsoft C 8.0 tools are installed and accessible. | |
| The CvtLib directory contains the "C" header and library files for various PCM formats. The libraries are named PPPMMM.Lib to designate the formats. PPP = DLG for Dialogic, G21 for C-ITU (CCITT) G.721, NWV for NewVoice, and PTC for Perception Technology. MLE is for Microsoft Large memory model with floating point emulator, and MWE is for Microsoft Windows model with floating point emulator. | |
| The MVBCvt directory contains a sample MS Windows Visual Basic project,"CvtTst.Mak". | |
| The WINDLL directory contains the DLLs necessary for the MS Windows executable versions. |
The sample program performs a simple .Wav to .Vox conversion. To build the Microsoft Visual C CvtTst programs:
| Make sure the Microsoft C 8.0 tools are installed and accessible. | |
| Run the batch file MakeMe.bat to build both MS Windows and MS DOS versions of the sample program. |
To build the Microsoft Visual Basic CvtTst project:
| Make sure Microsoft Visual Basic 3.0 or above is installed and accessible. | |
| Use "File... Open Project" to open "MVBCVT\CVTTST.MAK". | |
| Use "File... Make Exe File..." to build the sample program. |
The following pages describe, in alphabetical order, the functions in the Audio ToolBox SDK. The discussion of each function is divided into the following sections:
| Description: Illustrates the function calling syntax and summarizes the routines effect. | |
| Parameter: Describes function arguments and purpose. | |
| Returns: Specifies the function return value, if any. | |
| Remarks: Provides more detailed information on side effects and usage. |
Audio ToolBox SDK
lets you convert to and from Microsoft Multimedia Wave (8, 16 & MS ADPCM), linear 16 and unsigned 8 bit, Dialogic 4 and 8 bit, plus other industry standard formats. Optionally choose volume adjustments, dynamic compression/ expansion and fast or high fidelity filtering and re-sampling algorithms.The following descriptions provide detailed information for calling these functions from your application. The definitions of these functions, structures and constants are defined in the files GENCVT.H (for "C/C++" programmers) and GENCVT.TXT (for Visual Basic programmers).
CvtCfgIni
WORD FAR PASCAL CvtCfgIni (CVTBLK FAR *lpCvtBlk);
Convert Configuration Initialize: Initializes the Audio Conversion function block. Call this function to set all CVTBLK parameters to zero. Use this function for compatibility with future releases.
Parameter Description
lpCvtBlk Conversion data block.
Returns
0 if successful.
CvtPCMFil
DWORD FAR PASCAL CvtPCMFil (short sSrcHdl, short sDstHdl, LPCSTR szSrcRsv, LPCSTR szDstRsv, LPSTR lpWrkRsv, WORD usSizRsv, CVTBLK FAR *lpCvtBlk);
Convert PCM File: Convert to and from Microsoft Multimedia Wave (8, 16 & MS ADPCM), linear 16 and unsigned 8 bit, Dialogic 4 and 8 bit, plus other industry standard formats. Optionally choose volume adjustments, dynamic compression/ expansion and fast or high fidelity filtering and re-sampling algorithms.
Parameter Description
sSrcHdl Source file handle.
sDstHdl Destination file handle
szSrcRsv Reserved for future use. (Set to NULL)
szDstRsv Reserved for future use. (Set to NULL)
lpWrkRsv Reserved for future use. (Set to NULL)
usSizRsv Reserved for future use. (Set to 0L)
lpCvtBlk Conversion data block.
The conversion data block, CVTBLK, contains the following parameters for controlling processing options:
CVTBLK
Parameter Description
usSrcFmt Source file format. Use this parameter to define the type of header information used by the input file. File formats supported in this release are:
Value Meaning
ALLPURFMT Pure (raw audio data).
WAVHDRFMT Multimedia wave.
usSrcPCM Source PCM type. Use this parameter to define the type of audio data contained in the input file. Note that this parameter is ignored (and may be set to zero) when a valid PCM type can be determined from the source file header. PCM types supported in this release are:
Value Meaning
DLGPCM004 Dialogic 4 bit (OKI).
DLGPCM008 Dialogic 8 bit (u-Law).
G11PCMF08 C-ITU (CCITT) G.711 u-Law 8 bit.
G11PCMI08 C-ITU (CCITT) G.711 a-Law 8 bit.
G21PCM004 C-ITU (CCITT) G.721 4 bit ADPCM.
MPCPCM008 Multimedia 8 bit.
MPCPCM016 Multimedia 16 bit.
NWVPCM001 NewVoice CVSD 1 bit.
PTCPCM001 Perception Technology CVSD 1 bit.
usSrcChn Source file channel count. Use this parameter to define the number of audio channels contained within the audio data. Note that this parameter is ignored (and may be set to zero) when a valid file channel count can be determined from the source file header.
usSrcBIO Source bit encoding. Use this parameter to control bit and byte ordering requirements of the input file. Indicate that this option is active by logically "OR-ing" FIOENCSWP with one or more of the following bit masks:
Value Meaning
FIOSWPBIT Swap single bits.
FIOSWPNIB Swap 4-bit nibbles.
FIOSWPBYT Swap 8-bit bytes.
FIOSWPWRD Swap 16-bit words
ulSrcFrq Source sample frequency in Hertz. Use this parameter to define the sample frequency of the input file. Note that this parameter is ignored (and may be set to zero) when a valid sample frequency can be determined from the source file header. May be set to zero to use default frequency as defined by the file header or implied by the PCM data type.
ulSrcOff Source byte offset in bytes. Use this parameter to skip over a section of the input file.
ulSrcLen Source byte length in bytes. Use this parameter to limit the length of the input data. Set to hexadecimal FFFFFFF for whole file.
mhSrcCfg Source configuration memory buffer. Reserved for future use.
usDstFmt Destination file format. Use this parameter to define the type of header information used by the output file. File formats supported in this release are:
Value Meaning
ALLPURFMT Pure (raw audio data).
WAVHDRFMT Multimedia wave.
usDstPCM Destination PCM type. Use this parameter to define the type of audio data contained in the output file. PCM types supported in this release are:
Value Meaning
DLGPCM004 Dialogic 4 bit (OKI).
DLGPCM008 Dialogic 8 bit (u-Law).
G11PCMF08 C-ITU (CCITT) G.711 u-Law 8 bit.
G11PCMI08 C-ITU (CCITT) G.711 a-Law 8 bit.
G21PCM004 C-ITU (CCITT) G.721 4 bit ADPCM.
MPCPCM008 Multimedia 8 bit.
MPCPCM016 Multimedia 16 bit.
NWVPCM001 NewVoice CVSD 1 bit.
PTCPCM001 Perception Technology CVSD 1 bit.
usDstChn Destination file channel count. Reserved for future use.
usDstBIO Destination bit encoding. Use this parameter to control bit and byte ordering requirements of the output file. Indicate that this option is active by logically "OR-ing" FIOENCSWP with one or more of the following bit masks:
Value Meaning
FIOSWPBIT Swap single bits.
FIOSWPNIB Swap 4-bit nibbles.
FIOSWPBYT Swap 8-bit bytes.
FIOSWPWRD Swap 16-bit words
ulDstFrq Destination sample frequency in Hertz. Use this parameter to define the sample frequency of the output file. May be set to zero to use default frequency as implied by the PCM data type.
ulDstOff Destination byte offset in bytes. Reserved for future use. Use this parameter to skip over a section of the output file.
ulDstLen Destination byte length in bytes. Use this parameter to limit the length of the output data. Set to hexadecimal FFFFFFF for whole file.
mhDstCfg Destination configuration memory buffer. Reserved for future use.
flCrpFrm Frame length for auto-crop silence detector (typical value is 0.50 sec, defined by
CRPFRMDEF). Use this setting to change the length of silence considered as separating distinct audio segments.flCrpRes Frame resolution for auto-crop silence detector (typical value is 0.01 sec, defined by
CRPRESDEF). Use this setting to change the level of detail used when analyzing a file.flCrpSnd Auto-crop sound threshold level maximum percentage (typical value is 2% of max, defined by
CRPSNDDEF). Use this setting to change the audio level interpreted as "sound". Higher values result in higher immunity to noise, but lower sensitivity to sound.usCrpAtk Sensitivity attack ratio for auto-crop silence detector (typical value is 20% of frame, defined by
CRPATKDEF). Use this setting to change the amount of sound that must be detected to recognize a transition from a region of silence to a region of active audio. Higher values result in higher immunity to noise, but increase the possibility of losing a portion of the beginning of active audio.usCrpDcy Sensitivity decay ratio for auto-crop silence detector (typical value is 10% of frame, defined by
CRPDCYDEF). Use this setting to change the amount of sound that must be detected to recognize a transition from a region of active audio to a region of silence. Higher values result in higher immunity to noise, but increase the possibility of leaving a larger portion of silence at the end of active audio.flCrpGrd Auto-crop sound guard time (typical value 0.05 sec, defined by
CRPGRDDEF). Increase the guard time for more silence at the beginning and end.flVolAdj Volume adjust multiplier (+/-) (typical value is 0 dB). Use this setting to increase the volume level of the destination audio file.
usNrmLvl Volume normalize (typical value is 1.0% over range, defined by
NRMLVLDEF). Use this setting to adjust the volume levels across multiple files.flNrmExc Volume normalize exception threshold (typical value is 0.2%, defined by
NRMLEXCDEF). Since most real audio waveforms are not symmetrical, this parameter allows the volume level to go over target range some percentage of the time in order to achieve a better overall level. Set this parameter to zero to force no portion of this signal to go over the target level.usNrmMax Volume normalize maximum adjustment level (typical value is 6.0 dB,defined by
NRMMAXDEF). This parameter limits the maximum level that the volume can be increased or decreased during the normalization processflDCELvl Volume dynamic compressor/ expander level (typical value is 6.0 dB, defined by
DCELVLDEF). Use this setting to improve the dynamic range of the destination audio file.usCmpThr Volume dynamic compressor/ expander compressor threshold (typical value is 80% of max, defined by
CMPTHRDEF). Use typical value for best results.usCmpAtk Volume dynamic compressor/ expander compressor attack time (typical value is 50 Hz, defined by
CMPATKDEF). Use typical value for best results.flCmpMin Volume dynamic compressor/ expander compressor minimum (typical value is 6 dB, defined by
DCELVLDEF). Use typical value for best results.usExpThr Volume dynamic compressor/ expander expander threshold (typical value is 30% of max, defined by
EXPTHRDEF). Use typical value for best results.usExpAtk Volume dynamic compressor/ expander expander attack time (typical value is 5 Hz, defined by
EXPATKDEF). Use typical value for best results.flExpMax Volume dynamic compressor/ expander expander maximum (typical value is 6 dB, defined by
DCELVLDEF). Use typical value for best results.usCE_Dcy Volume dynamic compressor/ expander decay time (typical value is 5Hz, defined by
CE_DCYLVLDEF). Use typical value for best results.usNoiThr Volume dynamic compressor/ expander noise gate threshold. (typical value is 2% of max, defined by
NOITHRDEF). Use typical value for best results.flNoiAtt Volume dynamic compressor/ expander noise gate attenuation (typical value is 3 dB, defined by
NOIATTDEF). Use typical value for best results.usTDLAAF Time domain anti-aliasing filter order (typical value is 2nd order). Use this parameter to set the quality level of the time domain anti-aliasing filter.
Value Meaning
AAF_Q2TYP 2nd order filter.
AAF_Q6TYP 6th order filter.
bfTDLFst Time domain anti-aliasing filter fast math on/off (typical value is
FALSE). Set TRUE for improved speed on 286/386 class computers.bfFFTDTM DTMF touch-tone FFT filter on/ off (typical value is
FALSE) Set TRUE to remove touch-tone frequencies during conversion.bfFFTAAF Low pass anti-aliasing FFT filter on/ off (typical value is
FALSE). Set TRUE for improved fidelity.bfFFTFEq FFT Frequency Equalize on/off (typical value is
FALSE). Set TRUE to activate frequency equalizer parameters described below.bfFFTRes Re-sample FFT filter on/ off (typical value is
FALSE). Use the TRUE setting for improved fidelity.usFFTOrd FFT filter size (typical value is 9, defined by
FFTORDDEF). Use typical value for best results.flFEqGai Frequency equalizer overall gain adjust (typical value is 0 dB). Use this setting to adjust the overall volume level during and equalization request.
ulFEqBot Frequency equalizer bottom frequency (typical value is 0 Hz). Use this parameter to set the bottom band of the frequency equalizer data points settings.
ulFEqTop Frequency equalizer top frequency (typical value of 0 Hz uses top Nyquist frequency of file). Use this parameter to set the top band of the frequency equalizer data points settings.
usFEqCnt Frequency equalizer point count. Number of data points in the frequency equalizer
flFEqPnt data array.flFEqPnt Frequency equalizer data points (typical value is between ± 12 dB for each band). Use this setting to build a series of band adjustment levels.
mhGloCfg Global configuration memory buffer. Reserved for future use.
lpPolDsp Conversion poll display procedure. Reserved for future use.
ulRsvPol Reserved for future use.
lpMsgDsp Reserved for future use.
ulRsvErr Reserved for future use.
ucRsv001 Reserved for future use.
usCmpCod Conversion completion code. Reserved for future use.
ucRsv002 Reserved for future use.
Returns
Number of bytes converted.
Remarks
This function supports all the conversion options available in the command line version of the PCMCvt program. See the C and Visual Basic sample files for additional information on the CVTBLK parameters.
CvtPCMIni
WORD FAR PASCAL CvtPCMIni (WORD usReqTyp, DWORD ulPrm001, DWORD ulPrm002);
Convert PCM Initialize: Initialize support for the conversion functions of the Audio ToolBox SDK. This function must be called before using any audio conversion processing functions.
Parameter Description
usReqTyp Reserved for future use. (Set to 0)
ulPrm001 Reserved for future use. (Set to 0L)
ulPrm002 Reserved for future use. (Set to 0L)
Returns
0 if successful. The following pre-defined values can be used to determine the return code status:
Value Meaning
SI_CVTNO_ERR Success
SI_CVTKEYERR Key/License error, 8 second limit
SI_CVTVERERR Module version mismatch
CvtPCMTrm
WORD FAR PASCAL CvtPCMTrm (void);
Convert PCM Terminate: Terminate support for the conversion functions of the Audio ToolBox SDK. This function should be called prior to program termination.
Parameters
None
Returns
0 if successful.
CvtPCMVer
WORD FAR PASCAL CvtPCMVer (void);
Convert PCM Version: Return the Audio ToolBox SDK audio conversion version number. This function may be called at any time.
Parameters
None
Returns
The version number as hexadecimal 0xAABB where AA equals the major version, and BB equals the minor version number.
Audio ToolBox
allows you to record a continuous stream of prompts into a single file, and then automatically break the single file into individual files. Sound chop separates a single file into individual files based upon periods of silence used as a separator. The resulting individual files can then be converted, volume normalized, and packed or converted using other Audio ToolBox utilities.The following descriptions provide detailed information for calling these functions from your application. The definitions of these functions, structures and constants are defined in the files GENCHP.H (for "C/C++" programmers) and GENCHP.TXT (for Visual Basic programmers).
ChpCfgIni
WORD FAR PASCAL ChpCfgIni (CHPBLK FAR *lpChpBlk);
Chop Configuration Initialize: Initializes the Sound Chop function block. Call this function to set all CHPBLK parameters to zero. Use this function for compatibility with future releases.
Parameter Description
lpChpBlk Sound chop data block.
Returns
0 if successful.
ChpSndFil
DWORD FAR PASCAL CvtPCMFil (short sSrcHdl, LPSTR szSrcRsv, CHPOPNCBK lpOpnCBk, CHPCOPCBK lpCopCBk, CHPCLSCBK lpClsCBk, DWORD ulCBkDat, CHPBLK FAR *lpChpBlk);
Chop Sound File: Audio ToolBox allows you to record a continuous stream of prompts into a single file, and then automatically break the single file into individual files. This function separates a single file into individual files based upon periods of silence used as a separator. The resulting individual files can then be converted, volume normalized, and packed or converted using other Audio ToolBox utilities.
Parameter Description
sSrcHdl Source file handle.
szSrcRsv Reserved for future use. (Set to NULL)
lpOpnCBk Pointer to a function that opens a file and provides the sound chop function with the file handle of the file to contain the next sound segment.
lpCopCBk Reserved for future use. (Set to NULL)
lpClsCBk Pointer to a function that closes the current file containing the most recent sound segment.
ulCBkDat A user defined 32-bit value that is passed to the "lpOpnCBk" and "lpClsCBk" functions. Use this parameter to pass instance specific data to the callback functions.
lpChpBlk Sound chop data block.
The sound chop data block, CHPBLK, contains the following parameters for controlling processing options:
CHPBLK
Parameter Description
usSrcFmt Source file format. Use this parameter to define the type of header information used by the input file. File formats supported in this release are:
Value Meaning
ALLPURFMT Pure (raw audio data).
WAVHDRFMT Multimedia wave.
usSrcPCM Source PCM type. Use this parameter to define the type of audio data contained in the input file. Note that this parameter is ignored (and may be set to zero) when a valid PCM type can be determined from the source file header. PCM types supported in this release are:
Value Meaning
DLGPCM004 Dialogic 4 bit (OKI).
DLGPCM008 Dialogic 8 bit (u-Law).
G11PCMF08 C-ITU (CCITT) G.711 u-Law 8 bit.
G11PCMI08 C-ITU (CCITT) G.711 a-Law 8 bit.
G21PCM004 C-ITU (CCITT) G.721 4 bit ADPCM.
MPCPCM008 Multimedia 8 bit.
MPCPCM016 Multimedia 16 bit.
NWVPCM001 NewVoice CVSD 1 bit.
PTCPCM001 Perception Technology CVSD 1 bit.
usSrcChn Source file channel count. Use this parameter to define the number of audio channels contained within the audio data. Note that this parameter is ignored (and may be set to zero) when a valid file channel count can be determined from the source file header.
usSrcBIO Source bit encoding. Use this parameter to control bit and byte ordering requirements of the input file. Indicate that this option is active by logically "OR-ing" FIOENCSWP with one or more of the following bit masks:
Value Meaning
FIOSWPBIT Swap single bits.
FIOSWPNIB Swap 4-bit nibbles.
FIOSWPBYT Swap 8-bit bytes.
FIOSWPWRD Swap 16-bit words
ulSrcFrq Source sample frequency in Hertz. Use this parameter to define the sample frequency of the input file. Note that this parameter is ignored (and may be set to zero) when a valid sample frequency can be determined from the source file header. May be set to zero to use default frequency as defined by the file header or implied by the PCM data type.
ulSrcOff Source byte offset in bytes. Use this parameter to skip over a section of the input file.
ulSrcLen Source byte length in bytes. Use this parameter to limit the length of the input data. Set to hexadecimal FFFFFFF for whole file.
mhSrcCfg Source configuration memory buffer. Reserved for future use.
usDstFmt Destination file format. Use this parameter to define the type of header information used by the output file. File formats supported in this release are:
Value Meaning
ALLPURFMT Pure (raw audio data).
WAVHDRFMT Multimedia wave.
flChpFrm Frame length for silence detector (typical value is 1.0 sec, defined by
CHPFRMDEF). Use this setting to change the length of silence considered as separating distinct audio segments.flChpRes Frame resolution for silence detector (typical value is 0.01 sec, defined by
CHPRESDEF). Use this setting to change the level of detail used when analyzing a file. Use typical value for best results.flChpSnd Sound threshold level maximum percentage (typical value is 2% of max, defined by
CHPSNDDEF). Use this setting to change the audio level interpreted as "sound". Higher values result in higher immunity to noise, but lower sensitivity to sound.usChpAtk Sensitivity attack ratio for silence detector (typical value is 20% of frame, defined by
CHPATKDEF). Use this setting to change the amount of sound that must be detected to recognize a transition from a region of silence to a region of active audio. Higher values result in higher immunity to noise, but increase the possibility of losing a portion of the beginning of active audio.usChpDcy Sensitivity decay ratio for silence detector (typical value is 10% of frame, defined by
CHPDCYDEF). Use this setting to change the amount of sound that must be detected to recognize a transition from a region of active audio to a region of silence. Higher values result in higher immunity to noise, but increase the possibility of leaving a larger portion of silence at the end of active audio.flChpGrd Auto-crop sound guard time (typical value 0.05 sec, defined by
CHPGRDDEF). Increase the guard time for more silence at the beginning and end.mhGloCfg Global configuration memory buffer. Reserved for future use.
lpPolDsp Sound chop poll display procedure. Reserved for future use.
ulRsvPol Reserved for future use.
lpMsgDsp Reserved for future use.
ulRsvErr Reserved for future use.
ucRsv001 Reserved for future use.
usCmpCod Reserved for future use.
ucRsv002 Reserved for future use.
Returns
Number of bytes of audio data written to the output file(s).
ChpSndIni
WORD FAR PASCAL ChpSndIni (WORD usReqTyp, DWORD ulPrm001, DWORD ulPrm002);
Chop Sound Initialize: Initialize support for the sound chop functions of the Audio ToolBox SDK. This function must be called before using any sound chop processing functions.
Parameter Description
usReqTyp Reserved for future use. (Set to 0)
ulPrm001 Reserved for future use. (Set to 0L)
ulPrm002 Reserved for future use. (Set to 0L)
Returns
0 if successful. The following pre-defined values can be used to determine the return code status:
Value Meaning
SI_CHPNO_ERR Success
SI_CHPKEYERR Key/License error, 8 section limit
SI_CHPVERERR Module version mismatch
ChpSndTrm
WORD FAR PASCAL ChpSndTrm (void);
Chop Sound Terminate: Terminate support for the sound chop functions of the Audio ToolBox SDK. This function should be called prior to program termination.
Parameters
None
Returns
0 if successful.
ChpSndVer
WORD FAR PASCAL ChpSndVer (void);
Chop Sound Version: Return the Audio ToolBox SDK sound chop version number. This function may be called at any time.
Parameters
None
Returns
The version number as hexadecimal 0xAABB where AA equals the major version, and BB equals the minor version number.
Audio ToolBox
supports both pure (raw amplitude data) and indexed format files. Pure files contain only digitized sound; indexed files contain groups of digitized sound, plus format and annotation text. These functions let you convert to and from pure and indexed file formats, as well as provide file maintenance capabilities.The following descriptions provide detailed information for calling these functions from your application. The definitions of these functions, structures and constants are defined in the files GENIDX.H (for "C/C++" programmers) and GENIDX.TXT (for Visual Basic programmers).
IdxCfgIni
Reserved for future use.
IdxFilIni
WORD FAR PASCAL IdxFilIni (WORD usReqTyp, DWORD ulPrm001, DWORD ulPrm002);
Indexed File Initialize: Initialize support for the indexed file functions of the Audio ToolBox SDK. This function must be called before using any indexed file processing functions.
Parameter Description
usReqTyp Reserved for future use. (Set to 0)
ulPrm001 Reserved for future use. (Set to 0L)
ulPrm002 Reserved for future use. (Set to 0L)
Returns
0 if successful. The following pre-defined values can be used to determine the return code status:
Value Meaning
SI_IDXNO_ERR Success
SI_IDXKEYERR Key/License error, 8 second limit
SI_IDXVERERR Module version mismatch
IdxFilTrm
WORD FAR PASCAL IdxFilTrm (void);
Indexed File Terminate: Terminate support for the indexed file functions of the Audio ToolBox SDK. This function should be called prior to program termination.
Parameters
None
Returns
0 if successful.
IdxFilVer
WORD FAR PASCAL IdxFilVer (void);
Indexed File Version: Return the Audio ToolBox SDK indexed file version number. This function may be called at any time.
Parameters
None
Returns
The version number as hexadecimal 0xAABB where AA equals the major version, and BB equals the minor version number.
Index chop functions allow you to "chop" indexed files into pure audio and text files that can be batch processed, converted and edited. The following function descriptions provide detailed information for calling these functions from your application.
ChpIdxIni
WORD FAR PASCAL ChpIdxIni (CHIBLK FAR *lpChIBlk);
Chop Index Initialize: Initializes the Index Chop function block. Call this function to set all CHIBLK parameters to zero. Use this function for compatibility with future releases.
Parameter Description
lpChIBlk Index chop data block.
Returns
0 if successful.
ChpIdxFil
WORD FAR PASCAL ChpIdxFil (short sSrcHdl, LPSTR szVoxSpc, LPSTR szTxtSpc, CHICHKCBK lpChkCBk, LPVOID lpRsv001, CHIENDCBK lpEndCBk, DWORD ulCBkDat, CHIBLK FAR *lpChIBlk)
Chop Index File: This function allows you to "chop" indexed files into pure audio and text files that can be batch processed, converted and edited.
Parameter Description
sSrcHdl Source file handle.
szVoxSpc Destination audio file extension (typical value is ".vox"). Use this setting to change the file name extension of the newly created audio files.
szTxtSpc Destination text file extension (typical value is ".txt"). Use this setting to change the file name extension of the newly created text files.
lpChkCBk Pointer to a function that is called to indicate current index file segment that is being processed. This function should return
TRUE for future compatibility.lpRsv001 Reserved for future use. (Set to NULL)
lpEndCBk Pointer to a function that is called to indicate current index file segment has completed processing. This function should return
TRUE for future compatibility.ulCBkDat A user defined 32-bit value that is passed to the "lpChkCBk" and "lpEndCBk" functions. Use this parameter to pass instance specific data to the callback functions.
lpChIBlk Index chop data block.
The conversion data block, CHIBLK, contains parameters for controlling processing options.
CHIBLK
Parameter Description
lNamOff Destination file name counter offset (typical value is 0). Use this setting to change the beginning numeric name of the newly created audio and text files.
ulIdxPos Chop @ index position (beginning of file is 1, last is 9999). Use this setting to limit the extraction to a range of indexes.
ulIdxCnt Number of indexes to chop (0 indicates all indexes). Use this setting to limit the extraction to a range of indexes.
lpPolDsp Index chop poll display procedure. Reserved for future use.
ulRsvPol Reserved for future use.
lpMsgDsp Reserved for future use.
ulRsvErr Reserved for future use.
ucRsv001 Reserved for future use.
Returns
0 if successful.
Index list functions allow you to list the header and content information of an indexed file. The following function descriptions provide detailed information for calling these functions from your application.
LstIdxIni
WORD FAR PASCAL LstIdxIni (LSIBLK FAR *lpLsIBlk);
List Index Initialize: Initializes the Index List function block. Call this function to set all LSIBLK parameters to zero. Use this function for compatibility with future releases.
Parameter Description
lpLsIBlk Index list data block.
Returns
0 if successful. The following pre-defined values can be used to determine the return code status:
Value Meaning
SI_IDXNO_ERR Success
SI_IDXKEYERR Key/License error, 8 second limit
SI_IDXVERERR Module version mismatch
LstIdxFil
DWORD FAR PASCAL LstIdxFil (short sSrcHdl, LPCSTR szSrcRsv, LPSTR lpWrkBuf, WORD usBufSiz, LSIBLK FAR *lpLstBlk)
List Index File: This function allows you to list the header and content information of an indexed file to the standard output device.
Parameter Description
sSrcHdl Source file handle.
szSrcRsv Reserved for future use. (Set to NULL)
lpWrkBuf Temporary work buffer. (recommended size is 1024 bytes).
usBufSiz Size of lpWrkBuf temporary work buffer (typical value is 1024).
lpLsIBlk Index List data block.
The conversion data block, LSIBLK, contains parameters for controlling processing options.
LSIBLK
Parameter Description
usLstFlg List request flags
Value Meaning
GENINHFLG Inhibit general information display flag.
VOXINHFLG Inhibit vox information display flag.
TXTINHFLG Inhibit text information display flag.
lpMsgDsp Reserved for future use.
ulRsvErr Reserved for future use.
ucRsv001 Reserved for future use.
Returns
0 if successful.
Index pack functions allow you to "pack" pure audio and text files into an indexed file. The following function descriptions provide detailed information for calling these functions from your application.
PakIdxIni
WORD FAR PASCAL PakIdxIni (PKIBLK FAR *lpPkIBlk);
Pack Index Initialize: Initializes the Index Pack function block. Call this function to set all PKIBLK parameters to zero. Use this function for compatibility with future releases.
Parameter Description
lpPkIBlk Index pack block.
Returns
0 if successful.
PakIdxFil
WORD FAR PASCAL PakIdxFil (LPSTR szVoxSpc, LPSTR szTxtSpc, LPSTR szDstSpc, PKICHKCBK lpChkCBk, LPVOID lpRsv001, PKIENDCBK lpEndCBk, DWORD ulCBkDat, PKIBLK FAR *lpPkIBlk)
Pack Index File: This function allows you to "pack" pure audio and text files into an indexed file.
Parameter Description
szVoxSpc Destination audio file extension (typical value is ".vox"). Use this setting to change the file name extension of the newly created audio files.
szTxtSpc Destination text file extension (typical value is ".txt"). Use this setting to change the file name extension of the newly created text files.
szDstSpc Destination file specification (typical value is "Index.Vap"). Use this setting to set the output file drive, path and file name.
lpChkCBk Pointer to a function that is called to indicate current index file segment that is being processed. This function should return
TRUE for future compatibility.lpRsv001 Reserved for future use. (Set to NULL)
lpEndCBk Pointer to a function that is called to indicate current index file segment has completed processing. This function should return
TRUE for future compatibility.ulCBkDat A user defined 32-bit value that is passed to the "lpChkCBk" and "lpEndCBk" functions. Use this parameter to pass instance specific data to the callback functions.
lpPkIBlk Index pack data block.
The conversion data block, PKIBLK, contains parameters for controlling processing options.
PKIBLK
Parameter Description
sSrtTyp Sort files; +1 up, -1 down, 0 unsorted. (typical value is +1). Use this setting to pack the files in descending or unsorted directory order.
ulSmpFrq Set header sample frequency to value. (typical value is 6000). Use this setting to change the frequency stored in the header of the indexed file. This setting DOES NOT change the audio data.
lpPolDsp Index pack poll display procedure. Reserved for future use.
ulRsvPol Reserved for future use.
lpMsgDsp Reserved for future use.
ulRsvErr Reserved for future use.
ucRsv001 Reserved for future use.
Returns
0 if successful.
Index rebuild functions allow you to lengthen, shorten, replace entries and "rebuild" indexed files. The following function descriptions provide detailed information for calling these functions from your application.
RebIdxIni
Rebuild Index Initialize: Initializes the Index Rebuild function block. Call this function to set all RBIBLK parameters to zero.
Parameter Description
Returns
0 if successful.
RebIdxFil
DWORD FAR PASCAL RebIdxFil (short sSrcHdl, short sDstHdl, LPCSTR szSrcRsv, LPCSTR szDstRsv, LPSTR lpWrkBuf, WORD usBufSiz, RBIBLK FAR *lpRbIBlk);
Rebuild Index File: This function allows you to lengthen, shorten, replace entries and "rebuild" indexed files.
Parameter Description
The conversion data block, RBIBLK, contains parameters for controlling processing options.
RBIBLK
Parameter Description
ucRsv001 Reserved for future use.
Returns
Number of bytes written to the new "rebuilt" file.