XOn Multimedia Toolkit
Top Next

The XOn Multimedia Toolkit uses standard Video and / or Audio Devices through their VideoForWindows or Waveform Drivers.

With its smooth integration in LabVIEW and CVI (National Instruments Software Packages) you can use i.e. a USB-Webcam as a Video Input. And perform any Image Analysis supplied via NI Vision. Or use your Soundcard as an A/D-Input, if supported up to 24 bit Resolution.

The latest Version of the Toolkit as well as new Samples and other informations can always be found at www.xon.de! See also contact!

The Documentation is based on the LabVIEW-Version of the Toolkit. The Toolkit is also available for CVI, the Dll-Calls are equivalent, so you can transform the given Examples "1:1" from the LabVIEW Code.


Where to find

Examples - General Information
Top Previous Next

With the installation of our toolkit you get many examples. These can be found for

· LabVIEW
%your LabVIEW-Path%\examples\XOnTools\XOnMultimedia\

Audio

\Audio\XmmACMExample.llb (Audio Compression Examples)
Simple ACM File Playback.vi
Simple ACM File Recording.vi
Simple ACM Recording.vi
\XmmAInExample.llb (Audio Input Examples res. Recording)
Audio File Recording.vi
Audio Recording.vi
Simple Audio File Recording.vi
Simple Audio Recording.vi
\XmmAMixExample.llb (Audio Mixer Examples)
Mixer Application.vi
Mixer Info.vi
\XmmAOutExample.llb (Audio Output Examples res. Playback)
Audio File Playback.vi
Audio Playback.vi
Simple Audio File Playback.vi
Simple Audio Playback.vi

\XOn 24bit Audio X.llb (General Information)
Audio Recording X.vi
Audio Playback X.vi

Video

\Video\XmmVCapExample.llb
Control Viewer Window
Capture into BMP-File
Capture into Clipboard
Capture into memory
Capture into memory +
How to use ROI
\XmmVStrmExample.llb
Streaming into AVI
Streaming into memory
Streaming into memory +
\XmmVCM.llb
WebCam Server.vi
WebCam Client.vi

Utilities

Utilities\XmmJoyExample.llb
JoyXmpl1.vi
JoyXmpl2.vi

· CVI
%your CVI-Path%\samples\XOn\Multimedia\


24bit / 96 kHz

24bit / 96 kHz - General

There are some standard waveformats defined. These are from 8 bit up to 16 bit, mono or stereo with a sampling rate from 8 kHz up to 48 kHz. Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.

In the last years the WaveFormat was extended to handle "better" resolution (24bit!) and higher sampling rates (96 kHz, 192 kHz). You operate with this using the "EX"-functions of our toolkit.

There are different specification how to handle the 24bit resolution in a wavefile. We are now using the definitions from Syntrillium Software, manufacturer of "Cool Edit Pro" and other audio programs.

What 32 bit file formats does Cool Edit support?

When saving a 32-bit file as a Windows PCM (*.wav) you can click on the Options button to select which format you want to save the audio data in. The following are the options Cool Edit Pro/2000 supports:

32-bit 24.0 float (type 1 - 24-bit)
Full 32-bit floats are actually saved (and in the range of +/-8million), but the .wav BitsPerSample field is set to 24 while BlockAlign is still set to 4 bytes per channel.
32-bit 16.8 float (type 1 - 32-bit)
Cool Edit's internal format (floating point values in the range of +/-32768.0 but larger and smaller values are valid and not clipped since the floating point exponent is saved as well). The .wav BitsPerSample field is set to 32 and BlockAlign to 4 bytes per channel.
32-bit 0.24 normalized float (type 3 - 32-bit)
Standard floating point format for type 3 .wav files. Values are normalized to the range +/-1.0 and although values above and below this range are saved, some programs may clip when reading them back in (Cool Edit will not clip, but read the save value back if it is beyond this range).
24-bit packed int (type 1 - 24-bit)
Straight 24-bit integers are saved (so any data beyond the bounds are clipped). The .wav BitsPerSample field is set to 24 and BlockAlign to 3 bytes per channel.
24-bit packed int (type 1 - 20-bit)
Straight 24-bit integers are saved (so any data beyond the bounds are clipped). The .wav BitsPerSample field is set to 20 and BlockAlign to 3 bytes per channel. The extra 4 bits that are saved are actually the remaining valid bits when saving, and are used when reading (thus giving 24-bit accuracy still if those bits were actually when writing). Applications should either fill those last 4 bits with zeros, or with actual data, but generally A/D converters that generate 20 bits of valid data automatically set the remaining 4 bits to zero.

Any type 1 format with BlockAlign set to 3 bytes per channel is assumed to be packed integers, and a BitsPerSample field between 17 and 24 inclusively will read in all 24 bits fine and assume the remaining bits are either accurate or set to zero.

(List from syntrillium knowledge base)


24 bit / 96 kHz Soundcards

During our development (and with the help of our customers) we have built up a list of supported soundcards for the 24bit resolution feature of our toolkit.

Our toolkit highly integrates with the "normal" Windows driver of your soundcard. Up to this time we have no support for the "ASIO" driver interface which is available for some soundcards.

Soundcards tested so far:

· RME DIGI96/4 PAD www.rme-audio.de
· Edirol UA20 www.edirol.com
·
· You'd success using another soundcard? Send us a mail, then we can extend this list!

If your Soundcard is similiar to a card listed avbove, there should be no problem either. So if you own a RME DIGI96/4 (w/o PAD), it should work. The driver is the same.

This list is not a negative list, e,g, if your soundcard is not listet here, there is a good chance it will also work! Try this with the demo-version of our toolkit, available via www.xon.de! We appreciate any feedback about supported soundcards!

A small list of manufacturers of 24bit sound devices, not intended to be complete. (See also http://www.soundkartenkatalog.de)

· Hoontech www.hoontech.com
· M-Audio www.m-audio.net
· RME www.rme-audio.de
· Roland / Edirol www.edirol.com
· Terratec www.terratec.com
· Soundblaster www.soundblaster.com


Format Conversion

There is an additional "Conversion.VI", which will calculate the according value out of the EX-data .

Have a look at the different background diagramms, the calculation of "normalized" double values.

· 32bit 24.0 float.vi
· 32bit 16.8 float.vi
· 32bit0.24 normalized float.vi
· 24bit packed int.vi
· 24bit packed int (20).vi

Check out, how your soundcard will save the 24bit-values. Mostly this will be for 3 Byte "24bit packet int" and for 4 Byte "32bit 24.0 float.vi "


32-bit 24.0 float

The conversion will start by TypeCasting the RawData to an array of I32, then perform a byte and word swapping.
We then look over each I32-value and transform them to their corresponding bit pattern. Reverse this BitPattern and look for their single meanings: the first bit determines the sign, the following 8 bits describing the exponent of the conversion formula. These BitPattern will be reversed again, and we substract x7F.
The remaining BitPattern is used to determine the mantissa value, built up as binary coded value.
Now just perform the "Scale by Power of 2" function and divide the result by x100, voilà, finished.


32-bit 16.8 float

The conversion will start by TypeCasting the RawData to an array of I32, then perform a byte and word swapping.
We then look over each I32-value and transform them to their corresponding bit pattern. Reverse this BitPattern and look for their single meanings: the first bit determines the sign, the following 8 bits describing the exponent of the conversion formula. These BitPattern will be reversed again, and we substract x7F.
The remaining BitPattern is used to determine the mantissa value, built up as binary coded value.
Now just perform the "Scale by Power of 2" function and it's done.


32-bit 0.24 normalized float

The conversion will start by TypeCasting the RawData to an array of I32, then perform a byte and word swapping.
We then look over each I32-value and transform them to their corresponding bit pattern. Reverse this BitPattern and look for their single meanings: the first bit determines the sign, the following 8 bits describing the exponent of the conversion formula. These BitPattern will be reversed again, and we substract x70.
The remaining BitPattern is used to determine the mantissa value, built up as binary coded value.
Now just perform the "Scale by Power of 2" function and it's done.


24-bit packed int

Quite simple: Convert the input data to an binary array (U8), then step through this array, step-width is 3 (3*U8 = 24 bit). Put together 3 byte and fill up the resulting 3byte-value with an additional byte (=0). Now swap byte and word and divide the result by x10000, and you get the normalized double output as result.


24-bit packed int (20 bit)

24-bit packed int (20 bit) (20 bit)
Top Previous Next

Quite similiar to the 24-bit packed int (24bit): Convert the input data to an binary array (U8), then step through this array, step-width is 3 (3*U8 = 24 bit). Put together 3 byte and fill up the resulting 3byte-value with an additional byte (=0). Now swap byte and word. 'Cause this format only uses 20 bits, we clear the result to get only this 20 bits set. Now divide the result by x10000, and you get the normalized double output as result.


Audio Playback X

The "Audio Playback X.vi" example is based on the the standard Audio Playback.vi.

All "Audio File" and "Audio Out" Functions are replaced with their corresponding "..Ex" res "..raw" function.

audio playback x

This is only a small overview over the diagram code. As always, we will describe them from left to right.

1. Open the File
2. Prepare Output Device (your Soundcard)
3. Play the File or
4. Read the File and play
5. Close the Device and File

Firstly, it opens an audio file. This filename is passed to the File Open routine of the toolkit. If the file is opened via the toolkit function, we initialize the soundcard for the specified wav-format. Then we can either start a simple playback of the wav-file or organise the playback process "manually". In this way we read small portions of the audio file and write them in the soundcard output buffer. If the file is finished, this VI will end, releasing any allocated file handles.


File Open

audio playback x - open file s

audio playback x - open file

First of all, after selecting a file to play (or show), you open the file by using AudioFileOpenEx.vi. You will need the WaveFmtEx-Info to open the AudioOutDevice properly. With AudioFileInfoEx.vi You get additional Information of the file, which you can use for online-monitoring of the output.


Audio Open

audio playback x - open device s

audio playback x - open device
If selecting an AudioOutDevice different to "-1", we will display the name of this selected AudioOutDevice. Normally, you can use the "-1" to open the system default device. Use AudioOutOpenEx.vi to initialize the sound device for playback. Note, you need the WaveFmtEX-Info you got from FileOpen to prepare the soundcard. Just Play the File or Monitor the current Output as well.


Just play the File ...

audio playback x - play s

audio playback x - play

You only want to play the file? No "Online Monitor"? Use AudioOutFile to supply the filename to the soundcard. In the loop you will look for the state of the playback process, if AudioOutInfo returns as "State" anything else than "Started", we assume it's finished. Now you can Close the device and you're finished too.
This procedure is equivalent to Simple Audio File playback.


Play with Online Monitor

audio playback x - play + monitor s

audio playback x - play + monitor

Want to see what your soundcard is doing? Then you have to use AudioFileRead/raw to get small portions from the wav-file. These snippets will be played through AudioOutBuffer/raw. AudioOutInfo gives you some informations of the playback process. You see the xAudioformat raw mapper? Here we calculate the according Numeric values out of the raw file data to display them.
When finished, you have to Close the devices.


Close File & Soundcard

audio playback x - close s

Once the operation is done, use AudioFileClose and AudioOutClose to free the device and memory.


Audio Recording X

The "Audio Recording X.vi" example is based on the the standard Audio Recording.vi.

All "Audio File" and "Audio In" functions are replaced with their corresponding "..Ex" res "..raw" function.

audio recording x

This is just a small overview, the code will be discussed in this chapter.
After some Preparation on the Sound Device (in frame 1) the audio recording will be started with AudioInStart.vi. In the loop we will read the Input buffer continuously. Additionally we get some information about the recording process. The raw data will be transformed to standard double values to display them in the graph; You can also switch on a small spectrum analyzer of the data. Finally the device has to be closed.


Audio Open

audio recording x - dialog fmt

If there is a special WaveFmt selected, we will display a small dialog to get the appropiate WaveFmt-parameters. These parameters are calculated from channel number, the resolution and sample rate.

FormatTag   = 1
Channels   = 1   // 2 means Stereo
SmplSec   = 96 000   // for 96 kHz bzw. 48 000 for 48 kHz
Bytes/sec   = 288 000   // 3 Byte * 96 kHz [24bit]; 4 Byte * 96 kHz [32bitF]
BlockAlign   = 3   // channels * Bits/Sample ¸ 8
Bits/Sample   = 24   // 24bit; for 32bit Floating set to 32
ExtFmt   = const.   //

With these parameters we can afterwards open the sound device. See also AudioInOpenEx .Go on, Start the Recording Process.


Start Recording

audio recording x - start s

Just start the audio recording now; if selected, the recorded data will as well be written into a file. See also AudioInStart. Go on to read the data in a loop.


Audio Reading

audio recording x - read s

audio recording x - read

Now we read the raw data from the audio buffer. You see the xAudioformat raw mapper? Here the conversion of the raw 24bit-data is done. The AudioInReadRaw gets an appropiate block size, a multiple value of the sample frequence.
If you record a stereo signal, we divide the signal into their channels. With AudioInInfoX you get additional informations for the recording process, such as state.

Feel free to display the data in a graph or make some analysis, a power spectrum or the like. If you're finished with the recording, please close the device using AudioInClose


Simple Audio Recording

The "Simple Audio Recording.vi" shows how it is possible to acquire and save an audio file from a desired device.

We can divide the program in three parts:

1. Open+Start: We first need to open the desired input device for recording (AudioInOpen.vi) and then to start it (AudioInStart.vi).
Additionally it's possible to set a path to the desired file location. At this point the program is saving data until the AudioInStop.vi or AudioInClose.vi is called.
2 Read: This VI (AudioInRead.vi) reads channel-data from the background-buffer. It is possible to set the VI to wait until enough samples are recorded.
Monaural waveformats (mono) data are always returned in 'Channel1'. Stereo waveformats data, are divided in left-channel 'Channel1' and right-channel 'Channel2'.
3 Close: This VI (AudioInClose.vi) closes an opened audio input device and frees any allocated buffers for this device, including the background buffer.


Simple Audio File Recording

The "Simple File Audio Recording.vi" saves audio data and gets their file info.

The program is almost the same as the "Simple Audio Recording.vi":
Also in this case we need to open the device and start the acquisition so that the program can save audio data.
In the loop we use a AudioInInfo.vi to get information about the audio input device.


Audio Recording

The "Audio Recording.vi" shows a complete data acquisition of an audio signal.
It saves the audio data and at the same time it shows the acquired data in a graph and performs a power spectrum of the signal.

In the first frame, shown above, the program reads the information of the given waveformat (AudioGetWAVEFMTEX.vi) and sets the corresponding graph parameters.

In this second frame the program starts the acquisition using the AudioInOpen.vi and consequently the AudioInStart.vi:

Once the acqusition is started the program enters a while loop in which new acquired data are read (AudioInRead.vi) and displayed in a graph:

The AudioInInfo.vi returns a cluster with the information of the audio input device in use:

The following part of the program gets the acquired array of data and performs a power spectrum analisys:

The loop is executed until the user pushes the "Stop" button.
At the end we need to close the opened audio input device and to free any allocated buffers for this device.
We do all this using the AudioInClose.vi:


Audio File Recording

The "Audio File Recording.vi" shows another way of saving acquired audio data in a desired file.

The program is almost the same as the "Simple Audio File Recording":
We need to open the device and start the acquisition. In the while loop we can process the acquired data and at the end we need to close the device.
Beside all this we use additional VIs to create and write data in a new file.
First of all we have to create a new audio file and open it for recording. For these purposes we use the AudioFileCreate.vi:

Using this VI it is possible to define a file path and a file format and as output we get a handle to the specified file.
We now step into the while loop:
Here data are continuously read in raw format from the background-buffer using the AudioInRead/raw.vi.
At the same time the raw data we get are saved in the desired file using the AudioFileWrite/raw.vi.
Additionally in the while loop we also get information on the audio input device (AudioInInfo.vi).


Simple Audio Playback

The "Simple Audio Playback.vi" shows how it is possible to generate a desired audio signal.

Let's now see how the program has been realised:

1. Open: the AudioOutOpen.vi opens the desired output device. With this VI we can also define the type of the outgoing audio signal (mono/stereo...).
2. Information: the AudioOutInfo.vi returns information about the specified audio device.
3. Generate Output: once we have got the information about the device we are using we can generate an ouput audio signal with a desired frequency.
For this purpose we can use the Sine Wave.vi from LabVIEW to generate an array describing the audio signal. We then have to build up a buffered output data to be sent to the ouput device. We can do this using the AudioOutBuffer.vi.
4 At the end of the program we have to close the opened audio ouput device and free any allocated buffer for this device.
This is done using the AudioOutClose.vi.

ATTENTION:

Before closing the audio output device we have to make sure that the output buffer is empty, otherwise the AudioOutClose.vi will not work properly.
For this reason we wait in a while loop until the number of output buffers left is zero (AudioOutWaitBufDone.vi).


Simple Audio File Playback

The "Simple Audio File Playback.vi" allows the user to play an existing audio file.

The program starts acquiring the fileformat and waveformat of the specified audio file using the AudioFileFormat.vi.
It then opens the output audio device for playback (AudioOutOpen.vi) and allows playing the audio file in background (AudioOutFile.vi).
Using this last VI it is also possible to choose between a continuous reproduction or a "single shot" reproduction.
At the end we have to close the opened audio ouput device and free any allocated buffer for this device using the AudioOutClose.vi.

ATTENTION:

Before closing the audio output device we have to make sure that the output buffer is empty, otherwise the AudioOutClose.vi will not work properly.
For this reason we wait in a while loop until the number of output buffers left is zero (AudioOutWaitBufDone.vi).


Audio Playback

The "Audio Playback.vi" allows the user to generate an audio file and to control every single aspect of it.

The program is very similar to the "Simple Audio Playback.vi". It means that the main VIs to perform an audio file generation are used here too.
These VIs are: the AudioOutOpen.vi , the AudioOutInfo.vi, the AudioOutBuffer.vi and at the end the AudioOutClose.vi in combination with the AudioOutWaitBufDone.vi.

There are two additional features in this program:
· The complete control of the two audio channels. These are combined in a synthesizer (SoundSynth-stereo.vi)
to obtain the arrays of the audio signals to be sent to the audio device.

· The control of the output volume for each channel. This is done using the AudioOutGetVolume.vi and the AudioOutSetVolume.vi.


Audio File Playback

The "Audio File Playback.vi" combines the capabilities of the AudioOut VIs and the AudioFile VIs
This program opens and reads the data of an exsting audio file and at the same time plays it back.

At the beginning the program opens an existing audio file (AudioFileOpen.vi) and gets information about it (AudioFileInfo.vi).
At the same time it opens the audio output device for playback (AudioOutOpen.vi).
In the while loop the audio file will be read in raw format and its information will be displayed. (AudioFileRead/raw.vi + AudioFileInfo.vi).
The raw data are then sent to a AudioOutBuffer-raw.vi. This VI builds an ouput buffer to be played.
Once we stop the playback the program has to close the opened audio file as well as the audio output device.
For this purpose the following VIs are used: AudioFileClose.vi and AudioOutClose.vi.

ATTENTION:

Before closing the audio output device we have to make sure that the output buffer is empty, otherwise the AudioOutClose.vi will not work properly.
For this reason we wait in a while loop until the number of output buffers left is zero (AudioOutWaitBufDone.vi).


Simple ACM Recording

The "Simple ACM Recording.vi" performs an audio recording with the possibility to choose among different kinds of audio compression.

The first VI of the program (XAcmAudioFmtChoose.vi) simplifies the selection of the desired audio format and gives the information to the AudioInOpenEx.vi that opens the given audio input device for recording.
At this point we can start the recording using the AudioInStart.vi.
In the while loop the data that are read are also displayed using the AudioInRead-raw.vi and at the end we need to close the audio input device (AudioInClose.vi).


Simple ACM File Recording

The "Simple ACM File Recording.vi" provides a compressed audio acquisition.

This program is very similar to the "Simple ACM Recording.vi".
The only difference is inside the while loop:
Here we use the AudioInInfo.vi to get information on the selected input audio device while an audio acquisition is performed.


Simple ACM File Playback

The "Simple ACM File Playback.vi" opens a compressed audio file and plays it.

First of all we need to detect the fileformat and the waveformat of the given file. This is possible using the AudioFileFormatEx.vi.
This VI returns an extended audio format descriptor and passes it to the AudioOutOpenEx.vi that opens the given audio output device for playback.
This VI allows using an extended format descriptor for various non-standard formats.
The AudioOutFile.vi allows playing the audio file in background. In the while loop we can get information about the specified output device.
This VI (AudioOutInfoEx.vi) includes an extended audio format descriptor.
At the end AudioOutClose.vi closes the opened audio ouput device and frees any allocated buffer for this device.


ACM File Convert

The "ACM File Convert.vi" allows to convert a WAV Audio file in a WAV file but with a different compressed format.
It uses the CODEC that are the installed in the operating system.


Mixer Application

The "Mixer Application.vi" gives the user the possibility to control the mixer of the installed audio device.
You have access to Volume - MIDI - CD Audio and all the possibilities offered by the installed audio device driver.


Mixer Set Linie-In Mute

The "Mixer Set Linie-In Mute.vi" shows how it is possible to control an audio device and set a desired value/state of the device.
In this specific example we have the control of the mute switch of audio line in.

Let's now see how the program has been realised.
We start with a AudioMixObjCast.vi that casts different source device-IDs/handle-types into a hMixObj needed as handle for the other VIs.
We can now open the mixer device using the AudioMixOpen.vi. At this point we have to find the command of the mixer device that we want to control.
For this reason we are using the MixerFindControl.vi and once we have got the control ID we can change its value using the AudioMixCtrlSetVal.vi.
At the end we can close the mixer device (AudioMixClose.vi).


Mixer Get Linie-In Mute

The "Mixer Get Linie-In Mute.vi" returns the value of the desired control of the Mixer Audio. In this case we are looking for the Mute switch.

This program is very similar to the "Mixer Set Linie-In Mute.vi", the difference is that in this program we use the AudioMixCtrlGetVal.vi
to read the value of the mute switch instead of using the AudioMixCtrlSetVal.vi to set its value.


MixerSetValue

The "MixerSetValue.vi" allows the user to set a specific value for a desired control.

The sequence of the program is as follows:
AudioMixObjCast.vi casts different source device-IDs/handle-types into a hMixObj needed as handle for the other VIs.
The AudioMixOpen.vi opens the mixer device.
We set the value for the desired control ID with the AudioMixCtrlSetVal.vi.
AudioMixClose.vi closes the mixer device.


MixerGetValue

The "MixerGetValue.vi" returns the value of the audio control corresponding to the used control ID.

The program is very similar to the "MixerSetValue.vi", the difference is that in this program we use the AudioMixCtrlGetVal.vi
to read the value of the control corresponding to the used control ID instead of using the AudioMixCtrlSetVal.vi to set its value.


Capture into BMP-File

The "Capture into BMP-File.vi" is a simple application by which it is possible to acquire and display a single bitmap image.

The program performs the following steps:
The SelectVDevice.vi allows the user to select one of its installed video devices.
The VCapOpen.vi opens the videocapture device for further operation.
Now that the program is in a while loop, every time the user presses the "Capture" button the program grabs a single video frame and displays it.
These VIs are used: VCapGrabFrame.vi, Read BMP File.vi and Draw Flattened Pixmap.vi (the last two VIs are standard LabVIEW VIs).
At the end the program closes the videocapture device with the VCapClose.vi.


Capture into memory

The "Capture into memory.vi" shows how to grab single frames (images) into a memory buffer (LabVIEW array).

In the beginning the program allows the user to select an installed video device and then opens it (SelectVDevice.vi + VCapOpen.vi).
There is then a sequence of three different frames:

1. In the first frame the user can get information about the actual video settings and opens some dialogs of the video capture (if available).
The VIs used are the VCapGetVideoFmt.vi to determin the video settings and the VCapOpenDialog.vi to allow the user to select video/audio format, video source, compression options etc.

2. In the second frame there is the VCapGrabFrame.vi. When the user clicks on the "Grab" button the VI grabs a single video frame and returns the image's data and colortable (if available).

3. In the third frame the user has the possibility to retrieve the actual video settings using the VCapGetVideoFmt.vi.

At the end, when the user clicks the "Stop" button, the program exits the while loop and then closes the video capture device using the VCapClose.vi


Control Viewer Window

The "Control Viewer Window.vi" shows how to use the various attributes of the video previewer video.
It allows to read and set all the attributes, and demonstrates the possibility to embed the viewer window into a LabVIEW window.

Down here is shown just a single frame of the program, by the way you can find the description of every single frame in the example itself.


Streaming into AVI

The "Streaming into AVI.vi" allows you to stream a video clip into an AVI file. You can then use the Windows multimedia player to display the clip.

Let's now see how it is working.
The program starts selecting the input video device and opening it (SelectVDevice.vi + VCapOpen.vi).
If it opens the device without errors the program sets advanced options for video streaming operations (VStrmSetPar.vi).
It then sets path and name of the capture file (*.AVI) used if for streaming into an AVI-file, and/or preallocates space for the file on disk (VStrmSetCaptFile.vi).
We can now start the video streaming using the VStrmStart.vi. After that we move the previewer window to the foreground with the VCapViewerSetFGround.vi.
(the previewer window is sometimes hidden by other windows on the screen, this VI allows to move it in front of all other windows).
In the while loop we continuously get a status information of the video device (VStrmState.vi).
At the end we can stop the streaming operation and close the video device (VStrmStop.vi + VCapClose.vi).


Streaming into memory

The "Streaming into memory.vi" shows the basic steps to implement a video streaming application.

The program starts by setting up the most important parameters needed to start a streaming operation.
This can be done using the Xmm VStrm.vi. After that, if there isn't any error, the program retrieves information about the videodriver, such as its name and its version, and the actual video settings (VCapDriverName.vi + VCapDriverVersion.vi + VCapGetVideoFmt.vi). At this point the program enters a while loop in which different tasks are processed.

Frame 0: Here the program gives informations about the current video streaming operation (VStrmInfo.vi) and
checks if a new frame has been grabbed into the video background buffer (VStrmCheck.vi).

Frame 1: In this frame the VStrmState.vi gets a status information of the video device.

Frame 2: In frame number 2 the user can get the image of a video frame from the background buffer as raw data using the VStrmGetVBuf.vi.

Frame 3: Here the user gets an audio data block from the background buffer as raw data using the VStrmGetABuf.vi.

Frame 4: In this last frame the program waits 30ms. We need to have this waiting time because otherwise the program
would operate the CPU at full capacity.

The propgram will exit this while loop when the user presses the "Stop" button.
At this point we can stop the streaming operation and close the video device (VStrmStop.vi + VCapClose.vi).


WebCam Server

The "WebCam Server.vi" combines a video streaming and compression with a TCP/IP connection.

This program sets up a video streaming, acquires the image, creates a listener and waits for an accepted TCP connection.
Once it recieves a call from a listener the program can send the parameters of the image as well as the actual compressed image.

We can divide the program above in two different parts corresponding to the two case structures.
Let's start with the lower one:

The first case is the "INIT" case. Here the program sets up the parameter for a video streaming and returns the name of the driver, its version and the current video settings.
The VIs used are: the Xmm VStrmSetup.vi, the VCapDriverName.vi, the VCapDriverVersion.vi and the VCapGetVideoFmt.vi.

The second case is the "IDLE", default case. Here the program defines a RegionOfInterest (ROI) with the VCapCopyROIflat.vi and displays the image on the front panel.

Parallel to this case structure there is another one. Let's now see what this second case structure does.
We have 6 different cases:

1. The first case "IDLE", default doesn't do anything:

2. The second one "INIT", initializes a video compression operation.
It opens a dialog box where the user can select a video compressor and some additional parameters (XVcmCompressorChoose.vi).
It then opens a video compression driver (XVcmCompressorOpen.vi) and starts a sequential compression of images/frames (XVcmCompressStart.vi).

3. The third case, "SEND PARAMETER", sends the parameters of the acquired image trough a TCP connection.

4. In the fourth case, "WAIT FOR CLIENT", the program creates a listener and waits for an accepted TCP network connection at the specified port.

5. In the fifth case, "WAIT", the program reads a number of bytes from a TCP network connection.
It then analyzes them and determines what the client is asking for (Send Parameter, Send Picture or Client End).

6. The last case, "SEND PICTURE", is the one in which the program compresses the next frame/image in a sequential compression (XVcmCompressNext.vi) and sends it to a TCP Network connection.

When the while loop is stopped the program closes the video compression driver (XVcmCompressorClose.vi).
The program has also to stop the ongoing streaming operation and to close the video capture device (VStrmStop.vi + VCapClose.vi).


WebCam Client

The "WebCam Client.vi" establishes a TCP connection, reads the incoming data and displays the image on the front panel.

As the program starts (i==0), it opens a TCP connection and reads the data.
The program also opens a video decompression driver (XVcmDecompressorOpen.vi), returns Information about the opened decompression driver (XVcmDecompressorInfo.vi) and starts a sequential decompression of images/frames using the XVcmDecompressStart.vi.

Once the program has done at least one loop (i=!0) it decompresses the next frame/image in a sequential decompression (XVcmDecompressNext.vi) and displays the image on the front panel with the Draw Flattened Pixmap.vi (a standard LabVIEW VI).

When the user stops the while loop ("STOP" button), the program closes the TCP connection and stops the sequential decompression using the XVcmDecompressStop.vi and closes the video decompression driver (XVcmDecompressorClose.vi).


XOnMMVersion

Returns version information of the XOnMMSys.dll.

Connector Pane
xonmmversionc

Controls and Indicators
iu32 Version
Main version number.
iu32 Revision
Revision number.
istr VersionStr
Version including date as string.
ibool Demo
TRUE: Demo-Version installed
FALSE: Release Version installed


XmmAudioVersion

Return Version of XmmAudio.dll.

Connector Pane
xmmaudioversionc

Controls and Indicators

iu32 Version
istr VersionStr
iu32 Revision
ibool Demo


XAcmAudioFmtChoose

Simplifies the selection of audio formats.

This vi uses XAcmFormatChoose internally to open the selection box.

Connector Pane
xacmaudiofmtchoosec

Controls and Indicators
cenum Choose(All)
Type or group of formats the user can select.

All | No restriction
Input | Only input-formats will be listed
Output | Only output formats wil be listed.
HW-Input | Only hardware supported input formats will be listed.
HW-Output | Only hardware supported output formats will be listed.

Be aware that the FormatTag, Channels, Smpls/Sec and Bits/Smpl parameters additionally ristricts the listed formats.
cstr Title
String to be placed in the title bar of the dialog box. If this member is "", the ACM uses the default title.
cu16 FormatTag
If not zero restricts listed formats to show formats of the given format tag only.
cu16 Channels
If not zero restricts listed formats to show formats of the given number of channels only.
cu32 Smpls/Sec
If not zero restricts listed formats to show formats of the given frequency (samples/sec) only.
cu16 Bits/Smpl
If not zero restricts listed formats to show formats of the given number of bits/sample only.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst WaveFmtEx
When the XAcmFormatChoose function returns, this buffer contains the selected format. If the user cancels the dialog box, WFX/out is equivalent to WFX/in.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
iu8
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmConvClose

Closes an ACM conversion stream. If the function is successful, the handle is invalidated.

Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_BUSYThe conversion stream cannot be closed because an asynchronous conversion is still in progress.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.

Connector Pane
xacmconvclosec

Controls and Indicators
cdlrn hAcmStrm
Handle of the open conversion stream to be closed.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmConvert

Requests the ACM to perform a conversion on the specified conversion stream.

Connector Pane
xacmconvertc

Controls and Indicators
cdlrn hAcmStrm
Handle of the open conversion stream.
cstr SrcBuf
Source dat buffer to convert.
cu32 DstBufSz
Estimated size of the destination buffer.

Use the value returned by XAcmConvOpen if the source size is the same as you gave while opening.
cbool LastBuf(F)
If TRUE:
ACM conversion stream should begin returning pending instance data. If a conversion stream holds instance data, this flag will cause the stream to start returning this remaining data with optional source data.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmStrm/dup
Duplicated handle.
istr DstBuf
Destination buffer returnes the converted data.
iu32 SrcBufDone
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmConvFile

Converts (compresses or decompresses) the given audio source file into the destination file.

Connector Pane
xacmconvfilec

Controls and Indicators
cpath SrcFName
Path/Name of source file to convert.
cpath DstFName
Path/Name of destination file to convert the source file into.

WARNING: Existing files will be overwritten.
ccclst DstWFmt
Destination format to convert the source into.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmConvFmtChoose

Simplifies the selection of audio formats usable in conversion operations.

Connector Pane
xacmconvfmtchoosec

Controls and Indicators
cenum Choose
Type or group of formats to list in the selection box.

Convert
Only formats that may be a destination for a conversion operation from the given source format will be listed.

Suggest
Only formats the ACM driver suggests as the best choice for a conversion destination format with respect to the given source format will be listed.
cstr Title
String to be placed in the title bar of the dialog box. If this member is "", the ACM uses the default title.
ccclst Source/WFX
Format that is the source format for a conversion operation.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
cu8
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst WaveFmtEx
Contains the selected format.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmConvInfo

Returnes source and destination byte counts converted so far.

Connector Pane
xacmconvinfoc

Controls and Indicators
cdlrn hAcmStrm
Handle of an open conversion stream.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmStrm/dup
Duplicated handle.
iu32 SrcCount
No. of source bytes bytes converted so far.
iu32 DstCount
No. of destination bytes bytes converted so far.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmConvOpen

Opens an ACM conversion stream. Conversion streams are used to convert data from one specified audio format to another.

Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_NOTPOSSIBLEThe requested operation cannot be performed.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.
· MMSYSERR_NOMEMThe system is unable to allocate resources.

Connector Pane
xacmconvopenc

Controls and Indicators
ccclst SrcWFmtEx
Structure that identifies the desired source format for the conversion.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst DstWFmtEx
Structure that identifies the desired destination format for the conversion.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

cu32 SrcBufSz(1024)
Estimated size of the source buffers to use for conversion.

The functions tries to estimate the destination buffer size you have to provide with respect to the type of conversion (compress/decompress) and the given source buffer size.
cbool RealTime(T)
ACM will consider time constraints when converting the data. For some formats, specifying this flag might improve the audio quality or other characteristics.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmStrm
Returned stream handle that can be used to perform conversions. This handle is used to identify the stream in calls to other ACM stream conversion functions.
iu32 DstBufSz
Estimated destination buffer size with respect to the type of conversion (compress/decompress) and the given source buffer size.

The buffer size returned might be only an estimation of the actual size required for conversion. Because actual conversion sizes cannot always be determined without performing the conversion, the size returned will usually be overestimated.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmDriverClose

Closes a previously opened ACM driver instance. If the function is successful, the handle is invalidated.
Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_BUSYThe driver is in use and cannot be closed.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.

Connector Pane
xacmdriverclosec

Controls and Indicators
cdlrn hAcmDrv
Handle of the open driver instance to be closed.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmDriverDetails

Queries a specified ACM driver to determine its capabilities.

Connector Pane
xacmdriverdetailsc

Controls and Indicators
cdlrn hAcmDrvId
Handle of the driver identifier of an installed ACM driver. Disabled drivers can be queried for details.

Use XAcmDriverEnum to get driver-id handles.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrvId/dup
Duplicated ACM-Driver-handle.
icclst DrvDetails
Describes the features of an ACM (Audio-Compression-Manager) driver.
iu32 fccType
Type of the driver as four-character-code.
(ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC)
iu32 fccComp
Subtype of the driver as four-character-code.
(zero=ACMDRIVERDETAILS_FCCCOMP_UNDEFINED)
iu32 Mid
Manufacturer identifier.
iu32 Pid
Product identifier.
iu32 VersACM
Version of the ACM for which this driver was compiled. The version number is a hexadecimal number in the format 0xAABBCCCC, where AA is the major version number, BB is the minor version number, and CCCC is the build number. The version parts (major, minor, and build) should be displayed as decimal numbers.
iu32 VersDriver
Version of the driver. The version number is a hexadecimal number in the format 0xAABBCCCC, where AA is the major version number, BB is the minor version number, and CCCC is the build number. The version parts (major, minor, and build) should be displayed as decimal numbers.
iu32 fSupport
Support flags for the driver.
x00000001 | ACMDRIVERDETAILS_SUPPORTF_CODEC | Driver supports conversion between two different format tags. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM, this flag is set.
x00000002 | ACMDRIVERDETAILS_SUPPORTF_CONVERTER | Driver supports conversion between two different formats of the same format tag. For example, if a driver supports resampling of WAVE_FORMAT_PCM, this flag is set.
x00000004 | ACMDRIVERDETAILS_SUPPORTF_FILTER | Driver supports a filter (modification of the data without changing any of the format attributes). For example, if a driver supports volume or echo operations on WAVE_FORMAT_PCM, this flag is set.
x00000008 | ACMDRIVERDETAILS_SUPPORTF_HARDWARE | Driver supports hardware input, output, or both through a waveform-audio device. An application should use the XAcmMetrics function with the ACM_METRIC_HARDWARE_WAVE_INPUT and ACM_METRIC_HARDWARE_WAVE_OUTPUT metric indexes to get the waveform-audio device identifiers associated with the supporting ACM driver.
x00000010 | ACMDRIVERDETAILS_SUPPORTF_ASYNC | Driver supports asynchronous conversions.
x40000000 | ACMDRIVERDETAILS_SUPPORTF_LOCAL | The driver has been installed locally with respect to the current task.
x80000000 | ACMDRIVERDETAILS_SUPPORTF_DISABLED | Driver has been disabled. This flag is set by the ACM for a driver when it has been disabled for any of a number of reasons. Disabled drivers cannot be opened and can be used only under very limited circumstances.
iu32 FormatTags
Number of unique format tags supported by this driver.
iu32 FilterTags
Number of unique filter tags supported by this driver.
iu32 hICON
Handle of a custom icon for this driver. An application can use this icon for referencing the driver visually. This member can be NULL.
istr ShortName
String that describes the name of the driver. This string is intended to be displayed in small spaces.
istr LongName
String that describes the full name of the driver. This string is intended to be displayed in large (descriptive) spaces.
istr Copyright
String that provides copyright information for the driver.
istr Licensing
String that provides special licensing information for the driver.
istr Features
String that provides special feature information for the driver.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmDriverEnum

Enumerates the available ACM drivers.

Connector Pane
xacmdriverenumc

Controls and Indicators
cu32 EnumFlag(0=all)
x40000000 = ACM_DRIVERENUMF_NOLOCAL
Only global drivers should be included in the enumeration.

x80000000 = ACM_DRIVERENUMF_DISABLED
Disabled ACM drivers should be included in the enumeration. Drivers can be disabled by the user through the Control Panel or by an application using the XAcmDriverPriority function. If a driver is disabled, the fSupport parameter of the EnumRes of the driver will have the ACMDRIVERDETAILS_SUPPORTF_DISABLED (x80000000) flag set.
cu32 MaxEnum(128)
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
i1dcclst DrvEnum
icclst ACMDRVENRES
idlrn hAcmDrvId
Driver-Id Handle.
iu32 fSupport
Support flags for the driver.
x00000001 | ACMDRIVERDETAILS_SUPPORTF_CODEC | Driver supports conversion between two different format tags. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM, this flag is set.
x00000002 | ACMDRIVERDETAILS_SUPPORTF_CONVERTER | Driver supports conversion between two different formats of the same format tag. For example, if a driver supports resampling of WAVE_FORMAT_PCM, this flag is set.
x00000004 | ACMDRIVERDETAILS_SUPPORTF_FILTER | Driver supports a filter (modification of the data without changing any of the format attributes). For example, if a driver supports volume or echo operations on WAVE_FORMAT_PCM, this flag is set.
x00000008 | ACMDRIVERDETAILS_SUPPORTF_HARDWARE | Driver supports hardware input, output, or both through a waveform-audio device. An application should use the XAcmMetrics function with the ACM_METRIC_HARDWARE_WAVE_INPUT and ACM_METRIC_HARDWARE_WAVE_OUTPUT metric indexes to get the waveform-audio device identifiers associated with the supporting ACM driver.
x00000010 | ACMDRIVERDETAILS_SUPPORTF_ASYNC | Driver supports asynchronous conversions.
x40000000 | ACMDRIVERDETAILS_SUPPORTF_LOCAL | The driver has been installed locally with respect to the current task.
x80000000 | ACMDRIVERDETAILS_SUPPORTF_DISABLED | Driver has been disabled. This flag is set by the ACM for a driver when it has been disabled for any of a number of reasons. Disabled drivers cannot be opened and can be used only under very limited circumstances.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmDriverId

Returns the handle of an ACM driver identifier associated with an open ACM driver instance or stream handle.
·Returns zero if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.

Connector Pane
xacmdriveridc

Controls and Indicators
cdlrn hAcmObj
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmObj/dup
idlrn hAcmDrvId
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmDriverOpen

Opens the specified ACM driver and returns a driver instance handle that can be used to communicate with the driver.

Returns zero if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.
· MMSYSERR_NOMEMThe system is unable to allocate resources.
· MMSYSERR_NOTENABLEDThe driver is not enabled.

Connector Pane
xacmdriveropenc

Controls and Indicators
cdlrn hAcmDrvId
Handle of the driver identifier of an installed and enabled ACM driver.

Use XAcmDriverEnum to get driver-id handles for installed drivers.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrv
Returns a driver instance handle that can be used to communicate with the driver.
idlrn hAcmDrvId/dup
Duplicated Driver Id.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmFormatChoose

Creates an ACM-defined dialog box that enables the user to select a waveform-audio format.

Returns MMSYSERR_NOERROR (0) if the function was successful or an error otherwise. Possible error values include the following:
· ACMERR_CANCELEDThe user chose the Cancel button or the Close command on the System menu to close the dialog box.
· ACMERR_NOTPOSSIBLEThe buffer identified by the pwfx member of the ACMFORMATCHOOSE structure is too small to contain the selected format.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.
· MMSYSERR_NODRIVERA suitable driver is not available to provide valid format selections.

Connector Pane
xacmformatchoosec

Controls and Indicators
cstr UserName/in
String for a user-defined format name. If this is a not an empty string, the ACM will attempt to match the name with a previously saved user-defined format name. If a match is found, the dialog box is initialized to that format. If a match is not found or this is an empty string, UserName/in is ignored.
ccclst WFX/in
If WFXIsInit = TRUE the values of WFX/in will be used to initialize the dialog-box values. In this case, the structure must be initialized to a valid format.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

cbool WFXIsInit(T)
FALSE: WFX/in is NOT initialized
TRUE: WFX/in is initialized with a valid format
cstr Title
String to be placed in the title bar of the dialog box. If this member is "", the ACM uses the default title.
cu32 EnumFlag
Optional flags for restricting the type of formats listed in the dialog box.
x00010000 | ACM_FORMATENUMF_WFORMATTAG
x00020000 | ACM_FORMATENUMF_NCHANNELS
x00040000 | ACM_FORMATENUMF_NSAMPLESPERSEC
x00080000 | ACM_FORMATENUMF_WBITSPERSAMPLE
x00100000 | ACM_FORMATENUMF_CONVERT
x00200000 | ACM_FORMATENUMF_SUGGEST
x00400000 | ACM_FORMATENUMF_HARDWARE
x00800000 | ACM_FORMATENUMF_INPUT
x01000000 | ACM_FORMATENUMF_OUTPUT

ccclst WFX/enum
WAVEFMTEX structure that will be used to restrict the formats listed in the dialog box. The EnumFlag value defines the members of the WFXEnum structure that should be used for the enumeration restrictions. If no special restrictions are desired, set EnumFlag to zero.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
istr UserName/out
When the XAcmFormatChoose function returns, this buffer contains a string describing the user-defined format. If the format name is untitled (that is, the user has not given a name for the format), this member will be an empty string on return. If the user cancels the dialog box, UserName/out contains the value of UserName/in.
icclst WFX/out
When the XAcmFormatChoose function returns, this buffer contains the selected format. If the user cancels the dialog box, WFX/out is equivalent to WFX/in.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

istr FormatTag
Returns textual description of the choosen Format-Tag.
istr Format
Returns textual description of the choosen Format.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmFormatDetails

Queries the ACM for format details for a specific waveform-audio format tag.
Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_NOTPOSSIBLEThe details requested are not available.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.

Connector Pane
xacmformatdetailsc

Controls and Indicators
cdlrn hAcmDrv
Handle of the ACM driver to query for waveform-audio format details for a format tag.
If you query details by Index the handle must not be NULL (not connected) if
If this parameter is NULL (not connected), the ACM uses the details from the first suitable ACM driver.
cu32 FormatIdx(0)
Format index for the format tag given in WaveFmtEx. The index ranges from zero to one less than the StandardFormats member returned in the ACMFORMATTAGDETAILS structure for a format tag. An application must specify a driver handle for hAcmDrv when retrieving format details by index. For information about which members should be initialized before calling this function, see the ACMFORMATDETAILS structure.
This parameter is used only if you query details by index.
ccclst WaveFmtEx
Defines the extended format of waveform-audio data to query the details for.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

cenum DetailsBy(Idx)
Type of query.
Index | Query by format index for the format tag given in WaveFmtEx. The index ranges from zero to one less than the StandardFormats member returned in the ACMFORMATTAGDETAILS structure for a format tag. An application must specify a driver handle for hAcmDrv when retrieving format details by index. For information about which members should be initialized before calling this function, see the ACMFORMATDETAILS structure. The FormatIdx parameter should be set for this querytype.
Format | Queries details of the format the WaveFmtEx structure defines. This query type can be used to get a string description of an arbitrary format structure. If an application specifies an ACM driver handle for hAcmDrv, details on the format will be returned for that driver. If an application specifies NULL (not connected) for hAcmDrv, the ACM finds the first acceptable driver to return the details.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrv/dup
Duplicated driver handle.
icclst FormatDetails
Details of a waveform-audio format for a specific format tag for an ACM driver.
iu32 FormatIdx
Index of the format to retrieve details for. The index ranges from zero to one less than the number of standard formats supported by an ACM driver for a format tag. The number of standard formats supported by a driver for a format tag is contained in the StandardFormats member of the ACMFORMATTAGDETAILS structure. The FormatIndex member is used only when an application queries standard format details about a driver by index; otherwise, this member should be zero. Also, this member will be set to zero by the ACM when an application queries for details on a format; in other words, this member is used only for input and is never returned by the ACM or an ACM driver.
iu32 FormatTag
Waveform-audio format tag that the ACMFORMATDETAILS structure describes. This member is used for input for the ACM_FORMATDETAILSF_INDEX query flag. For the ACM_FORMATDETAILSF_FORMAT query flag, this member must be initialized to the same format tag as the pwfx member specifies. If a call to the XAcmFormatDetails function is successful, this member is always returned. This member should be set to WAVE_FORMAT_UNKNOWN for all other query flags
iu32 fSupport
Driver-support flags specific to the specified format.
x00000001 | ACMDRIVERDETAILS_SUPPORTF_CODEC | Driver supports conversion between two different format tags. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM, this flag is set.
x00000002 | ACMDRIVERDETAILS_SUPPORTF_CONVERTER | Driver supports conversion between two different formats of the same format tag. For example, if a driver supports resampling of WAVE_FORMAT_PCM, this flag is set.
x00000004 | ACMDRIVERDETAILS_SUPPORTF_FILTER | Driver supports a filter (modification of the data without changing any of the format attributes). For example, if a driver supports volume or echo operations on WAVE_FORMAT_PCM, this flag is set.
x00000008 | ACMDRIVERDETAILS_SUPPORTF_HARDWARE | Driver supports hardware input, output, or both through a waveform-audio device. An application should use the XAcmMetrics function with the ACM_METRIC_HARDWARE_WAVE_INPUT and ACM_METRIC_HARDWARE_WAVE_OUTPUT metric indexes to get the waveform-audio device identifiers associated with the supporting ACM driver.
x00000010 | ACMDRIVERDETAILS_SUPPORTF_ASYNC | Driver supports asynchronous conversions. x40000000 = ACMDRIVERDETAILS_SUPPORTF_LOCAL The driver has been installed locally with respect to the current task.
x80000000 | ACMDRIVERDETAILS_SUPPORTF_DISABLED | Driver has been disabled. This flag is set by the ACM for a driver when it has been disabled for any of a number of reasons. Disabled drivers cannot be opened and can be used only under very limited circumstances.
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

istr FmtName
String that describes the format for the FormatTag type. If the XAcmFormatDetails function is successful, this string is always returned.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmFormatEnum

Enumerates waveform-audio formats available for a given format tag from an ACM driver.

Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_NOTPOSSIBLEThe details for the format cannot be returned.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.

Connector Pane
xacmformatenumc

Controls and Indicators
cdlrn hAcmDrv
Handle of the ACM driver to query for waveform-audio format details. If this parameter is NULL (not connected), the ACM uses the details from the first suitable ACM driver.
cu32 MaxEnum(256)
Max. no. of formats to enumerate.
cu32 EnumFlag(0)
Optional flags for restricting the type of formats to enumerate.

x00010000 | ACM_FORMATENUMF_WFORMATTAG
x00020000 | ACM_FORMATENUMF_NCHANNELS
x00040000 | ACM_FORMATENUMF_NSAMPLESPERSEC
x00080000 | ACM_FORMATENUMF_WBITSPERSAMPLE
x00100000 | ACM_FORMATENUMF_CONVERT
x00200000 | ACM_FORMATENUMF_SUGGEST
x00400000 | ACM_FORMATENUMF_HARDWARE
x00800000 | ACM_FORMATENUMF_INPUT
x01000000 | ACM_FORMATENUMF_OUTPUT

ccclst WFX/enum
WAVEFMTEX structure that will be used to restrict the formats enumerated. The EnumFlag value defines the members of the WFXEnum structure that should be used for the enumeration restrictions. If no special restrictions are desired, set EnumFlag to zero.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrv/dup
Duplicated handle.
i1dtdef EnumRes
Enumeration result.

List of WAVEFMTEX cluster that describe the enumerated formats.
icclst WFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmFormatSuggest

Queries the ACM or a specified ACM driver to suggest a destination format for the supplied source format. For example, an application can use this function to determine one or more valid PCM formats to which a compressed format can be decompressed.

Returns zero if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.

Connector Pane
xacmformatsuggestc

Controls and Indicators
cdlrn hAcmDrv
Handle of an open instance of a driver to query for a suggested destination format. If this parameter is NULL (not connected), the ACM attempts to find the best driver to suggest a destination format.
ccclst SrcWFX
WAVEFMTEX cluster that identifies the source format for which a destination format will be suggested by the ACM or specified driver.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst SuggestWFX
Depending on the SuggestFlag parameter, some members of the cluster may require initialization.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

cu32 SuggestFlag
Suggest Flags for matching the desired destination format. The following values are defined:

x00010000 | ACM_FORMATSUGGESTF_WFORMATTAG | The FormatTag member of SuggestWFX is valid. The ACM will query acceptable installed drivers that can suggest a destination format matching FormatTag or fail.
x00020000 | ACM_FORMATSUGGESTF_NCHANNELS | The Channels member of SuggestWFX is valid. The ACM will query acceptable installed drivers that can suggest a destination format matching Channels or fail.
x00040000 | ACM_FORMATSUGGESTF_NSAMPLESPERSEC | The Smpls/Sec member of SuggestWFX is valid. The ACM will query acceptable installed drivers that can suggest a destination format matching Smpls/Sec or fail.
x00080000 | ACM_FORMATSUGGESTF_WBITSPERSAMPLE | The Bits/Smpl member of SuggestWFX is valid. The ACM will query acceptable installed drivers that can suggest a destination format matching Bits/Smpl or fail.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrv/dup
Duplicated handle.
icclst DstWFX
WAVEFMTEX structure that will receive the suggested destination format for the Src format.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmFormatTagDetails

Queries the ACM for details on a specific waveform-audio format tag.
Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_NOTPOSSIBLEThe details requested are not available.
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.

Connector Pane
xacmformattagdetailsc

Controls and Indicators
cdlrn hAcmDrv
ACM-Driver handle.
cu32 FmtTagIdx
Format tag index if QueryBy is set to Index.
cu32 FormatTag
Format tag to query the details for.
cenum DetailsBy(Idx)
Type of query.
Index | A format tag index was given in the FmtTagIdx parameter. The index ranges from zero to one less than the FormatTags member returned in the ACMDRIVERDETAILS structure for an ACM driver. An application must specify a driver handle for hAcmDrv when retrieving format tag details by index.
FormatTag | A format tag was given in the FormatTag parameter. If an application specifies an ACM driver handle for hAcmDrv, details on the format tag will be returned for that driver. If an application specifies NULL for hAcmDrv (not connected), the ACM finds the first acceptable driver to return the details.
LargestSize | Details on the format tag with the largest format size, in bytes, are to be returned. The FormatTag parameter must either be WAVE_FORMAT_UNKNOWN or the format tag to find the largest size for. If an application specifies an ACM driver handle for hAcmDrv, details on the largest format tag will be returned for that driver. If an application specifies NULL for hAcmDrv (not connected), the ACM finds an acceptable driver with the largest format tag requested to return the details.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrv/dup
Duplicated handle.
icclst FmtTagDetails
Details a waveform-audio format tag for an ACM driver.
iu32 FmtTagIdx
Index of the format tag for which details will be retrieved. The index ranges from zero to one less than the number of format tags supported by an ACM driver. The number of format tags supported by a driver is contained in the FormatTags member of the ACMDRIVERDETAILS structure. The FmtTagIdx member is used only when querying format tag details on a driver by index; otherwise, this member should be zero.
iu32 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
This member is used for input for the ACM_FORMATTAGDETAILSF_FORMATTAG and ACM_FORMATTAGDETAILSF_LARGESTSIZE query flags. If the XAcmFormatTagDetails function is successful, this member is always returned. This member should be set to WAVE_FORMAT_UNKNOWN for all other query flags.
iu32 FormatSize
Largest total size, in bytes, of a waveform-audio format of the FormatTag type. For example, this member will be 16 for WAVE_FORMAT_PCM and 50 for WAVE_FORMAT_ADPCM.
iu32 fSupport
Support flags for the driver.
x00000001 | ACMDRIVERDETAILS_SUPPORTF_CODEC | Driver supports conversion between two different format tags. For example, if a driver supports compression from WAVE_FORMAT_PCM to WAVE_FORMAT_ADPCM, this flag is set.
x00000002 | ACMDRIVERDETAILS_SUPPORTF_CONVERTER | Driver supports conversion between two different formats of the same format tag. For example, if a driver supports resampling of WAVE_FORMAT_PCM, this flag is set.
x00000004 | ACMDRIVERDETAILS_SUPPORTF_FILTER | Driver supports a filter (modification of the data without changing any of the format attributes). For example, if a driver supports volume or echo operations on WAVE_FORMAT_PCM, this flag is set.
x00000008 | ACMDRIVERDETAILS_SUPPORTF_HARDWARE | Driver supports hardware input, output, or both through a waveform-audio device. An application should use the XAcmMetrics function with the ACM_METRIC_HARDWARE_WAVE_INPUT and ACM_METRIC_HARDWARE_WAVE_OUTPUT metric indexes to get the waveform-audio device identifiers associated with the supporting ACM driver.
x00000010 | ACMDRIVERDETAILS_SUPPORTF_ASYNC | Driver supports asynchronous conversions.
x40000000 | ACMDRIVERDETAILS_SUPPORTF_LOCAL | The driver has been installed locally with respect to the current task.
x80000000 | ACMDRIVERDETAILS_SUPPORTF_DISABLED | Driver has been disabled. This flag is set by the ACM for a driver when it has been disabled for any of a number of reasons. Disabled drivers cannot be opened and can be used only under very limited circumstances.
iu32 StdFormats Number of standard formats of the FormatTag type; that is, the combination of all sample rates, bits per sample, channels, and so on. This value can specify all formats supported by the driver, but not necessarily.
istr FmtTagName
String that describes the FormatTag type. If the XAcmFormatTagDetails function is successful, this string is always returned.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmFormatTagEnum

Enumerates waveform-audio format tags available from an ACM driver.

Returns zero if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_INVALFLAGAt least one flag is invalid.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.

Connector Pane
xacmformattagenumc

Controls and Indicators
cdlrn hAcmDrv
Handle of the ACM driver to query for waveform-audio format tag details. If this parameter is NULL (not connected), the ACM uses the details from the first suitable ACM driver.
cu32 MaxEnum(256)
Max. no. of format tags to enumerate.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAcmDrv/dup
Duplicated handle.
i1dtdef EnumRes
Enumeration Result.

Array of ACMFMTTAGDETAILS structures that describe the enumerated format tags.

Enumeration does NOT fill the FmtTagName member of the returned structures. To get the tag names use XAcmFormatTagDetails.
icclst FmtTagDetails
iu32 FmtTagIdx
iu32 FormatTag
iu32 FormatSize
iu32 fSupport
x00000001 | ACMDRIVERDETAILS_SUPPORTF_CODEC
x00000002 | ACMDRIVERDETAILS_SUPPORTF_CONVERTER
x00000004 | ACMDRIVERDETAILS_SUPPORTF_FILTER
x00000008 | ACMDRIVERDETAILS_SUPPORTF_HARDWARE
x00000010 | ACMDRIVERDETAILS_SUPPORTF_ASYNC
x40000000 | ACMDRIVERDETAILS_SUPPORTF_LOCAL
x80000000 | ACMDRIVERDETAILS_SUPPORTF_DISABLED
iu32 StdFormats
istr FmtTagName
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


XAcmGetVersion

Returns the version number of the ACM.

The version number is returned as a hexadecimal number of the form 0xAABBCCCC, where AA is the major version number, BB is the minor version number, and CCCC is the build number.

Win32 applications must verify that the ACM version is at least 0x03320000 (version 3.50) or greater before attempting to use any other ACM functions. The build number (CCCC) is always zero for the retail (non-debug) version of the ACM.

Connector Pane
xacmgetversionc

Controls and Indicators
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
iu32 Version
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.
iu32 Major
Major version.
iu32 Minor
Minor version.
iu32 Build
Build number.


XAcmMetrics

Returns various metrics for the ACM or related ACM objects.
Returns zero if successful or an error otherwise. Possible error values include the following:
· ACMERR_NOTPOSSIBLEThe index specified in Metric cannot be returned for the specified hAcmObj.
· MMSYSERR_INVALHANDLEThe specified handle is invalid.
· MMSYSERR_INVALPARAMAt least one parameter is invalid.
· MMSYSERR_NOTSUPPORTEDThe index specified in uMetric is not supported.

hAcmObj | Handle of the ACM object to query for the metric specified in Metric. For some queries, this parameter can be NULL.
Metric | Metric index to be returned in Result.
COUNT_DRIVERS | Returned value is the total number of enabled global ACM drivers (of all support types) in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_CODECS | Returned value is the number of global ACM compressor or decompressor drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_CONVERTERS | Returned value is the number of global ACM converter drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_FILTERS | Returned value is the number of global ACM filter drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_DISABLED | Returned value is the total number of global disabled ACM drivers (of all support types) in the system. The hAcmObj parameter must be NULL for this metric index. The sum of the COUNT_DRIVERS and COUNT_DISABLED metric indices is the total number of globally installed ACM drivers.
COUNT_HARDWARE | Returned value is the number of global ACM hardware drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_DRIVERS | Returned value is the total number of enabled local ACM drivers (of all support types) for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_CODECS | Returned value is the number of local ACM compressor drivers, ACM decompressor drivers, or both for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_CONVERTERS | Returned value is the number of local ACM converter drivers for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_FILTERS | Returned value is the number of local ACM filter drivers for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_DISABLED | Returned value is the total number of local disabled ACM drivers, of all support types, for the calling task. The hAcmObj parameter must be NULL for this metric index.The sum of the COUNT_LOCAL_DRIVERS and COUNT_LOCAL_DISABLED metric indices is the total number of locally installed ACM drivers.
HARDWARE_WAVE_INPUT | Returned value is the waveform-audio input device identifier associated with the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type that supports the ACMDRIVERDETAILS_SUPPORTF_HARDWARE flag. If no waveform-audio input device is associated with the driver, MMSYSERR_NOTSUPPORTED is returned.
HARDWARE_WAVE_OUTPUT | Returned value is the waveform-audio output device identifier associated with the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type that supports the ACMDRIVERDETAILS_SUPPORTF_HARDWARE flag. If no waveform-audio output device is associated with the driver, MMSYSERR_NOTSUPPORTED is returned.
MAX_SIZE_FORMAT | Returned value is the size of the largest WAVEFORMATEX structure. If hAcmObj is NULL, the return value is the largest WAVEFORMATEX structure in the system. If hAcmObj identifies an open instance of an ACM driver of the HACMDRIVER data type or an ACM driver identifier of the HACMDRIVERID data type, the largest WAVEFORMATEX structure for that driver is returned. This metric is not allowed for an ACM stream handle of the HACMSTREAM data type.
MAX_SIZE_FILTER | Returned value is the size of the largest WAVEFILTER structure. If hAcmObj is NULL, the return value is the largest WAVEFILTER structure in the system. If hAcmObj identifies an open instance of an ACM driver of the HACMDRIVER data type or an ACM driver identifier of the HACMDRIVERID data type, the largest WAVEFILTER structure for that driver is returned. This metric is not allowed for an ACM stream handle of the HACMSTREAM data type.
DRIVER_SUPPORT | Returned value is the Support flags for the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type.
DRIVER_PRIORITY | Returned value is the current priority for the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type.
Result | Returns the metric details. The exact definition depends on the Metric index.

Connector Pane
xacmmetricsc

Controls and Indicators
cdlrn hAcmObj
cenum Metric
Metric index to be returned in Result.

COUNT_DRIVERS | Returned value is the total number of enabled global ACM drivers (of all support types) in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_CODECS | Returned value is the number of global ACM compressor or decompressor drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_CONVERTERS | Returned value is the number of global ACM converter drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_FILTERS | Returned value is the number of global ACM filter drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_DISABLED | Returned value is the total number of global disabled ACM drivers (of all support types) in the system. The hAcmObj parameter must be NULL for this metric index. The sum of the COUNT_DRIVERS and COUNT_DISABLED metric indices is the total number of globally installed ACM drivers.
COUNT_HARDWARE | Returned value is the number of global ACM hardware drivers in the system. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_DRIVERS | Returned value is the total number of enabled local ACM drivers (of all support types) for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_CODECS | Returned value is the number of local ACM compressor drivers, ACM decompressor drivers, or both for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_CONVERTERS | Returned value is the number of local ACM converter drivers for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_FILTERS | Returned value is the number of local ACM filter drivers for the calling task. The hAcmObj parameter must be NULL for this metric index.
COUNT_LOCAL_DISABLED | Returned value is the total number of local disabled ACM drivers, of all support types, for the calling task. The hAcmObj parameter must be NULL for this metric index.The sum of the COUNT_LOCAL_DRIVERS and COUNT_LOCAL_DISABLED metric indices is the total number of locally installed ACM drivers.
HARDWARE_WAVE_INPUT | Returned value is the waveform-audio input device identifier associated with the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type that supports the ACMDRIVERDETAILS_SUPPORTF_HARDWARE flag. If no waveform-audio input device is associated with the driver, MMSYSERR_NOTSUPPORTED is returned.
HARDWARE_WAVE_OUTPUT | Returned value is the waveform-audio output device identifier associated with the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type that supports the ACMDRIVERDETAILS_SUPPORTF_HARDWARE flag. If no waveform-audio output device is associated with the driver, MMSYSERR_NOTSUPPORTED is returned.
MAX_SIZE_FORMAT | Returned value is the size of the largest WAVEFORMATEX structure. If hAcmObj is NULL, the return value is the largest WAVEFORMATEX structure in the system. If hAcmObj identifies an open instance of an ACM driver of the HACMDRIVER data type or an ACM driver identifier of the HACMDRIVERID data type, the largest WAVEFORMATEX structure for that driver is returned. This metric is not allowed for an ACM stream handle of the HACMSTREAM data type.
MAX_SIZE_FILTER | Returned value is the size of the largest WAVEFILTER structure. If hAcmObj is NULL, the return value is the largest WAVEFILTER structure in the system. If hAcmObj identifies an open instance of an ACM driver of the HACMDRIVER data type or an ACM driver identifier of the HACMDRIVERID data type, the largest WAVEFILTER structure for that driver is returned. This metric is not allowed for an ACM stream handle of the HACMSTREAM data type.
DRIVER_SUPPORT | Returned value is the Support flags for the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type.
DRIVER_PRIORITY | Returned value is the current priority for the specified driver. The hAcmObj parameter must be a valid ACM driver identifier of the HACMDRIVERID data type.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
c1du32 arrray

idlrn hAcmObj/dup
ii32 Result
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileAdjustSize

This function is useful if you created a new audiofile that was not closed correctly. In this case the fileheader has incorrect data size information, which this function tries to correct.

Connector Pane
audiofileadjustsizec

Controls and Indicators
cpath Filename
Name of file thats size should be adjusted.

MUST not be an empty filename.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileAppend

Opens an existing audio file for appending data (writing at the end). Optionally creates a new audio file and opens it for writing if file does not exist.

Returns MMSYSERR_NOERROR if ok.

NOTE:
You cannot read from an audio file opened for writing.

Connector Pane
audiofileappendc

Controls and Indicators
cpath Filename
Name of file to create for writing.

MUST not be an empty filename.
cenum FileFormat(PCM)
Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
cenum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
cbool CreateOK?(F)
TRUE: Creating a new file is allowed if file does not exist.
idlrn hAudioFile
Returns a handle to the new audio file, NULL in case of error.
The handle must be used in most "AudioFile..."-functions.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.
ienum WaveFormat/out
Waveformat of opened file.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ienum FileFormat/out
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ibool Created?
TRUE: File not found, created new.
FALSE: File found, opened for append.


AudioFileAppendEx

Opens an existing audio file for appending data (writing at the end). Optionally creates a new audio file and opens it for writing if file does not exist. Allows using an extended audio format descriptor.

Returns MMSYSERR_NOERROR if ok.

NOTE:
You cannot read from an audio file opened for writing.

Connector Pane
audiofileappendexc

Controls and Indicators
cpath Filename
Name of file to open for reading.

MUST not be an empty filename.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
ccclst WaveFmtEx
Defines the extended format of waveform-audio data.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

cenum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
cbool CreateOK?(F)
TRUE: Creating a new file is allowed if file does not exist.
idlrn hAudioFile
Returns a handle to the opened audio file, NULL in case of error.
The handle must be used in most "AudioFile..."-functions.
ienum FileFormat/out
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
icclst WaveFmtEx/out
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.
ibool Created?
TRUE: File not found, created new.
FALSE: File found, opened for append.


AudioFileClose

Closes an open audio file.

Connector Pane
audiofileclosec

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileOpen or AudioFileCreate to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileCreate

Creates a new audio file and opens it for writing.

Returns MMSYSERR_NOERROR if ok.

NOTE:
You cannot read from an audio file opened for writing.

Connector Pane
audiofilecreatec

Controls and Indicators
cpath Filename
Name of file to create for writing.

MUST not be an empty filename.
cenum FileFormat(PCM)
Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
cenum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile
Returns a handle to the new audio file, NULL in case of error.
The handle must be used in most "AudioFile..."-functions.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileCreateEx

Creates a new audio file and opens it for writing.
This extended function allows using extended wave formats.

Returns MMSYSERR_NOERROR if ok.

NOTE:
You cannot read from an audio file opened for writing.

Connector Pane
audiofilecreateexc

Controls and Indicators
cpath Filename
Name of file to create for writing.

MUST not be an empty filename.
cenum FileFormat(PCM)
Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ccclst WaveFmtEx
Extended wave format.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile
Returns a handle to the new audio file, NULL in case of error.
The handle must be used in most "AudioFile..."-functions.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileFormat

Tries to detect the Fileformat and the Waveformat of the given file.

Returns MMSYSERR_NOERROR (0) if ok.

NOTE:
Filename MUST not be empty.

Connector Pane
audiofileformatc

Controls and Indicators
cpath Filename
Name of file to get formats from.

MUST not be an empty.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
ipath Filename/dup
Duplicated filename.
ienum FileFormat
Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ienum WaveFormat
Waveformat of file.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileFormatEx

Tries to detect the Fileformat and the Waveformat of the given file. Returns an extended audio format descriptor.

Returns MMSYSERR_NOERROR (0) if ok.

NOTE:
Filename MUST not be empty.

Connector Pane
audiofileformatexc

Controls and Indicators
cpath Filename
Name of file to get formats from.

MUST not be an empty.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
ipath Filename/dup
Duplicated filename.
ienum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileInfo

Returns information about an opened audio file.

Connector Pane
audiofileinfoc

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileOpen or AudioFileCreate to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile/dup
Duplicated audio-file handle.
icclst FileInfo
ienum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ienum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ibool Write?
TRUE = opened for writing
FALSE = opened for reading
iu32 SamplePos
Current fileposition in samples.
iu32 Samples
No. of samples in file (so far).
iu32 Channels
No. of channels, 1=mono, 2=stereo.
iu32 SampleBytes
No. of bytes per sample.
iu32 Frequency
Samplefrequency in samples/second.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileInfoEx

Returns information about an open audio file. Returnes extended audio format info too.

Connector Pane
audiofileinfoexc

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileOpen or AudioFileCreate to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile/dup
Duplicated audio-file handle.
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst FileInfo
ienum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ienum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ibool Write?
TRUE = opened for writing
FALSE = opened for reading
iu32 SamplePos
Current fileposition in samples.
iu32 Samples
No. of samples in file (so far).
iu32 Channels
No. of channels, 1=mono, 2=stereo.
iu32 SampleBytes
No. of bytes per sample.
iu32 Frequency
Samplefrequency in samples/second.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileOpen

Opens an existing audio file for reading.

Returns MMSYSERR_NOERROR if ok.

NOTE:
You cannot write to an audio file opened for reading.

Connector Pane
audiofileopenc

Controls and Indicators
cpath Filename
Name of file to open for reading.

MUST not be an empty filename.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile
Returns a handle to the opened audio file, NULL in case of error.
The handle must be used in most "AudioFile..."-functions.
ienum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ienum WaveFormat
Waveformat of opened file.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileOpenEx

Opens an existing audio file for reading. Allows using an extended audio format descriptor.

Returns MMSYSERR_NOERROR if ok.

NOTE:
You cannot write to an audio file opened for reading.

Connector Pane
audiofileopenexc

Controls and Indicators
cpath Filename
Name of file to open for reading.

MUST not be an empty filename.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile
Returns a handle to the opened audio file, NULL in case of error.
The handle must be used in most "AudioFile..."-functions.
ienum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileRead

Read audio data from file starting at the current file position.
The file must be opened for reading with AudioFileOpen.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data are always returned as 16-BIT short values in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) the data are always returned by 'Channel1' while 'Channel2' is unused.

Connector Pane
audiofilereadc

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileOpen to get this handle.
cu32 Samples
No. of samples to read.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile/dup
Duplicated audio-file handle.
i1di16 Channel1
I16-array to be filled with data from channel1 (left channel if stereo).

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data are always returned as 16-BIT short values in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) the data are always returned by 'Channel1' while 'Channel2' is unused.

i1di16 Channel2
I16-array to be filled with data from channel2 that is the right channel on stereo WaveFormats. For monaural WaveFormats (Mono) the array is unused.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data are always returned as 16-BIT short values in the range -32768 .. 32767.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileRead-raw

Read audio data from file starting at the current file position in raw format.
The file must be opened reading with AudioFileOpen.

NOTE:
The returned data are always in raw-format. Raw-format data can be used directly by the audio device driver.

Connector Pane

Controls and Indicators

cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileOpen to get this handle.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is aconvenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status isTRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 Bytes
Number of bytes to read.

NOTE:
The number of bytes returned is always adjusted to the appropriate sample-alignment (depends on WaveFormat of file).
ccclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hAudioFile/dup
Duplicated audio-file handle.
istr Data
Buffer to be filled with raw data from the file.


AudioFileSeek

Seek a specified sample position within the audio file.
A seek can be to an absolute position, relative to current position and relative to the end of file.

In case of error the functions returns -1 in NewPos.

Connector Pane
audiofileseekc

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioeFileOpen or AudioFileCreate to get this handle.
ci32 SamplePos(0)
Absolute or relative fileposition in samples.
cenum Seek..(abs)
This control contains the origin to which the specified 'SamplePos' is added in computing the new position.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile/dup
Duplicated audio-file handle.
ii32 NewPos
Fileposition in samples after seek operation.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileSeekEx

Seek a specified sample position within the audio file (extended version).
A seek can be to an absolute position, relative to current position and relative to the end of file.

In case of error and if possible the functions returns the current position in NewPos.

Connector Pane
audiofileseekexc

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioeFileOpen or AudioFileCreate to get this handle.
ci32 SamplePos(0)
Absolute or relative fileposition in samples.
cenum Seek..(abs)
This control contains the origin to which the specified 'SamplePos' is added in computing the new position.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile/dup
Duplicated audio-file handle.
ii32 NewPos
Fileposition in samples after seek operation.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileWrite

Write channeldata to an audio file at the current file position.
The file must be opened for writing with AudioFileCreate.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data should always be in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) only data from 'Channel1' are used while 'Channel2' is unused.

Controls and Indicators

Connector Pane
audiofilewritec

Controls and Indicators
cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileCreate to get this handle.
c1di16 Channel1
I16-array to be written as channel1 data (left channel if stereo).

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data should always be in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) only the data from 'Channel1' were used 'Channel2' is unused.
ci16
c1di16 Channel2
I16-array to be written as channel2 data that is the right channel on stereo WaveFormats. For monaural WaveFormats (Mono) the array is unused

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data should always be in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) only the data from 'Channel1' were used and 'Channel2' is unused.
ci16
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioFile/dup
Duplicated audio-file handle.
iu32 Samples
Number of samples written. Zero if an error occured.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioFileWrite-raw

Write raw data to an audio file at the current file position.
The file must be opened for writing with AudioFileCreate.

NOTE:
The data MUST match the Waveformat for the current file.

Connector Pane

Controls and Indicators

cdlrn hAudioFile
Handle to an opened audio file.

Use AudioFileCreate to get this handle.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cstr Data
Data to be written.

NOTE:
The buffercontents MUST match the current WaveFormat (Used in AudioFileCreate)
ccclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hAudioFile/dup
Duplicated audio-file handle.
iu32 Bytes
Number of bytes written. Zero if an error occured.


AudioInCapabilities

Retrieves the capabilities of a given waveform-audio input device.

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error include the following:
· MMSYSERR_BADDEVICEIDSpecified device identifier is out of range.
· MMSYSERR_NODRIVERNo device driver is present.
· MMSYSERR_NOMEMUnable to allocate or lock memory.

Connector Pane
audioincapabilitiesc

Controls and Indicators
ci32 Device/in(0)
Identifier of the waveform-audio input device.

Valid identifieres range from 0 to one less than waveform-audio input devices are present in the system (Use AudioInDevices to retrieve the no. of input-devices).
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
ii32 Device/dup
Duplicated device identifier.
icclst AudioInCaps
Describes the capabilities of a waveform-audio input device.

ManID
Manufacturer identifier for the device driver for the waveform-audio input device. Manufacturer identifiers are defined in Chapter 0, "Manufacturer and Product Identifiers."

ProdID
Product identifier for the waveform-audio input device. Product identifiers are defined in Chapter 0, "Manufacturer and Product Identifiers."

MMVers
Version number of the device driver for the waveform-audio input device. The high-order byte is the major version number, and the low-order byte is the minor version number.

ProdName
Product name in a null-terminated string.

Formats
Standard formats that are supported.
Can be a combination of the following:
WAVE_FORMAT_1M08 | 11.025 kHz | mono | 8-bit
WAVE_FORMAT_1M16 | 11.025 kHz | mono | 16-bit
WAVE_FORMAT_1S08 | 11.025 kHz | stereo | 8-bit
WAVE_FORMAT_1S16 | 11.025 kHz | stereo | 16-bit
WAVE_FORMAT_2M08 | 22.05 kHz | mono | 8-bit
WAVE_FORMAT_2M16 | 22.05 kHz | mono | 16-bit
WAVE_FORMAT_2S08 | 22.05 kHz | stereo | 8-bit
WAVE_FORMAT_2S16 | 22.05 kHz | stereo | 16-bit
WAVE_FORMAT_4M08 | 44.1 kHz | mono | 8-bit
WAVE_FORMAT_4M16 | 44.1 kHz | mono | 16-bit
WAVE_FORMAT_4S08 | 44.1 kHz | stereo | 8-bit
WAVE_FORMAT_4S16 | 44.1 kHz | stereo | 16-bit

Chnls
Number specifying whether the device supports mono (1)
or stereo (2) input.
iu16 ManID
Manufacturer identifier for the device driver for the auxiliary audio device. The following identifier is defined:
MM_MICROSOFT=1
Drivers developed by Microsoft Corporation.
iu16 ProdID
Product identifier for the auxiliary audio device. Currently, no product identifiers are defined for auxiliary audio devices.
iu32 MMVers
Version number of the device driver for the auxiliary audio device. The high-order byte is the major version number, and the low-order byte is the minor version number.
istr ProdName
Product name.
iu32 Formats
Standard formats that are supported. Can be a combination of the following:

x0000 | WAVE_INVALIDFORMAT |
x0001 | WAVE_FORMAT_1M0811.025 kHz | mono, 8-bit
x0002 | WAVE_FORMAT_1S0811.025 kHz | stereo, 8-bit
x0004 | WAVE_FORMAT_1M1611.025 kHz | mono, 16-bit
x0008 | WAVE_FORMAT_1S1611.025 kHz | stereo, 16-bit
x0010 | WAVE_FORMAT_2M0822.05 kHz | mono, 8-bit
x0020 | WAVE_FORMAT_2S0822.05 kHz | stereo, 8-bit
x0040 | WAVE_FORMAT_2M1622.05 kHz | mono, 16-bit
x0080 | WAVE_FORMAT_2S1622.05 kHz | stereo, 16-bit
x0100 | WAVE_FORMAT_4M0844.1 kHz | mono, 8-bit
x0200 | WAVE_FORMAT_4S0844.1 kHz | stereo, 8-bit
x0400 | WAVE_FORMAT_4M1644.1 kHz | mono, 16-bit
x0800 | WAVE_FORMAT_4S1644.1 kHz | stereo, 16-bit
iu16 Chnls
Number specifying whether the device supports mono (1) or stereo (2) input.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInClose

Closes an opened audio input device and frees any allocated buffers for this device, including the background buffer. After closing the 'hAudioIn' handle is no longer valid.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

Connector Pane
audioinclosec

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInDevices

Returns the number of waveform-audio input devices present in the system.
A return value of zero means that no devices are present or that an error occurred.

Connector Pane
audioindevicesc

Controls and Indicators
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
iu32 Devices
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInErrorText

Retrieves a textual description of the error identified by the given error number.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_BADERRNUM Specified error number is out of range.
· MMSYSERR_NODRIVER No device driver is present.

Connector Pane
audioinerrortextc

Controls and Indicators
cu32 ErrCode
Audio input error code to retrieve the textual description for.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
iu32 ErrCode/dup
Duplicated error code.
istr ErrorText
Buffer to retrieve the errortext.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInInfo

Returns information of the specified audio input device.

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
icclst AudioInInfo
Audio-input Info.
ienum State
Audio-input state:
· Closed
· Stopped
· Started
· Paused
ibool FileLog
TRUE : File-logging is enabled
FALSE : No file-logging
ienum WaveFormat
Waveformat used (Set via AudioInOpen).

Following formats are currently available:
No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
iu32 Channels
No. of Channels.
1: Monaural (Mono)
2: Stereo
iu32 SampleBytes
No. of bytes per Sample.
iu32 Frequency
Aquisition Frequency in samples per second.
iu32 BlockSize
Samples per block.

A block is the smallest unit data are transferred from the input-device to the internal buffer.
iu32 BufferSize
No. of Samples the internal buffer can hold.
iu32 AllRecorded
No. of samples recorded so far.
iu32 Recorded
No. of samples currently buffered.
iu32 Overrun
No. of overrun samples since last buffer-read.
iu32 hWaveIn
Systemhandle of audio-input-device.
ii32 DeviceId
Audio-input-device-Id.
iu32 WaveInPos
Current position of input device in samples.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr ource
The source string describes the origin of the error or warning.


AudioInInfoEx

Returns information for the specified input device. Includes an extended audio format descriptor.

Connector Pane
audioininfoexc

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
icclst AudioInInfo
Audio-input Info.
ienum State
Audio-input state:
· Closed
· Stopped
· Started
· Paused
ibool FileLog
TRUE : File-logging is enabled
FALSE : No file-logging
ienum WaveFormat
Waveformat used (Set via AudioInOpen).

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
iu32 Channels
No. of Channels.
1: Monaural (Mono)
2: Stereo
iu32 SampleBytes
No. of bytes per Sample.
iu32 Frequency
Aquisition Frequency in samples per second.
iu32 BlockSize
Samples per block.

A block is the smallest unit data are transferred from the input-device to the internal buffer.
iu32 BufferSize
No. of Samples the internal buffer can hold.
iu32 AllRecorded
No. of samples recorded so far.
iu32 Recorded
No. of samples currently buffered.
iu32 Overrun
No. of overrun samples since last buffer-read.
iu32 hWaveIn
Systemhandle of audio-input-device.
ii32 DeviceId
Audio-input-device-Id.
iu32 WaveInPos
Current position of input device in samples.
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInMessage

Sends messages to the waveform-audio input device drivers. Returns the value returned from the driver.

Connector Pane
audioinmessagec

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
cu32 Message
Message identifier.
cu32 Param1(0)
Value of Parameter 1.
cu32 Param2(0)
Value of Parameter 2.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
iu32 Result
Value returned from the driver.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInOpen

Opens the given Audio input device for recording.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_ALLOCATED Specified resource is already allocated.
· MMSYSERR_BADDEVICEID Specified device identifier out of range.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· WAVERR_BADFORMAT Attempted to open with an unsupported waveform-audio format.

NOTE:
Opening a device does not start recording, use AudioInStart therefore.

Connector Pane
audioinopenc

Controls and Indicators
cenum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
cu32 BufferMS(0=def)
No. of milliseconds the internal buffer can hold while recording. Set it 0 to use the default value (1000 ms for BlockMS lower or equal 500 ms, otherwise 2*BlockMS).

Increase this value if your application is not able to continuously read out the buffer contents because of performance or other reasons.
Decrease this value to reduce the memory needs for the buffer,
but the buffer cannot be smaller than two blocks.

Internally audio recording uses a highly optimized variation of double buffer scheme, where the internal buffer is devided into several blocks of data (two or more). The data-blocks are directly filled in by the underlaying system driver, so block-sizes define the "granularity" of incoming data. Small blocks give a better accuracy but produce a higher overhead and vice versa. Decrease block-sizes on high (real-)timing needs, increase it if background-recording consumes to much time (because of the higher overhead).
To be independant from the sample rate, you define block- and buffer-sizes in milliseconds and not in samples or bytes.
Under "normal" circumstances you can (and should) use the default sizes (0 for block and buffer size) which results in a buffer that can hold data for one second devided into ten blocks.
On performance- or RAM-problems you may modify the sizes according to your needs. It is sometimes necessary to experiment with block and buffer-sizes to find out the best combination.
cu32 BlockMS(0=def)
No. of milliseconds one data-block can hold. Set it 0 to use the default value (100 ms).

Decrease this value if your application has some real-time needs and your system is capable to handle the increased overhead. Increase this value on performance problems.

If the BlockMS parameter is too small data-blocks may be lost or even recording is stopped.
ci32 Device(-1)
Identifier of the waveform-audio input device to open.

Valid identifieres range from 0 to one less than waveform-audio input devices are present in the system (Use AudioInDevices to retrieve the no. of input-devices).
You can also use the WAVE_MAPPER (-1) constant as device identifier, the function than selects a waveform-audio input device capable of recording in the specified format.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn
Returns a handle to the opened audio input device, 0 in case of error.
The handle must be used in most "AudioIn..."-VI's.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInOpenEx

Opens the given Audio input device for recording. Allows using an extended format descriptor for various non-standard formats.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_ALLOCATED Specified resource is already allocated.
· MMSYSERR_BADDEVICEID Specified device identifier out of range.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· WAVERR_BADFORMAT Attempted to open with an unsupported waveform-audio format.

NOTE:
Opening a device does not start recording, use AudioInStart therefore.

Connector Pane
audioinopenexc

Controls and Indicators
cenum WaveFormat
Waveformat to be used.
If you want to use an extended format given by WaveFmtEx set this parameter to OtherPCM or Other.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ccclst WaveFmtEx
Extended audio format descriptor to be used if the WaveFormat parameter is set to OtherPCM or Other.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

cu32 BufferMS(0=def)
No. of milliseconds the internal buffer can hold while recording. Set it 0 to use the default value (1000 ms for BlockMS lower or equal 500 ms, otherwise 2*BlockMS).

Increase this value if your application is not able to continuously read out the buffer contents because of performance or other reasons.
Decrease this value to reduce the memory needs for the buffer,
but the buffer cannot be smaller than two blocks.

Internally audio recording uses a highly optimized variation of double buffer scheme, where the internal buffer is devided into several blocks of data (two or more). The data-blocks are directly filled in by the underlaying system driver, so block-sizes define the "granularity" of incoming data. Small blocks give a better accuracy but produce a higher overhead and vice versa. Decrease block-sizes on high (real-)timing needs, increase it if background-recording consumes to much time (because of the higher overhead).
To be independant from the sample rate, you define block- and buffer-sizes in milliseconds and not in samples or bytes.
Under "normal" circumstances you can (and should) use the default sizes (0 for block and buffer size) which results in a buffer that can hold data for one second devided into ten blocks.
On performance- or RAM-problems you may modify the sizes according to your needs. It is sometimes necessary to experiment with block and buffer-sizes to find out the best combination.
cu32 BlockMS(0=def)
No. of milliseconds one data-block can hold. Set it 0 to use the default value (100 ms).

Decrease this value if your application has some real-time needs and your system is capable to handle the increased overhead. Increase this value on performance problems.

If the BlockMS parameter is too small data-blocks may be lost or even recording is stopped.
ci32 Device(-1)
Identifier of the waveform-audio input device to open.

Valid identifieres range from 0 to one less than waveform-audio input devices are present in the system (Use AudioInDevices to retrieve the no. of input-devices).
You can also use the WAVE_MAPPER (-1) constant as device identifier, the function than selects a waveform-audio input device capable of recording in the specified format.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn
Returns a handle to the opened audio input device, 0 in case of error.
The handle must be used in most "AudioIn..."-VI's.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInPause

Pauses recording until AudioInResume, AudioInStop or AudioInClose is called.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
MMSYSERR_INVALHANDLE Specified device handle is invalid.

NOTE:
While the device is in paused-state recording is still ongoing, but the recorded data are not stored, neither in the background-buffer nor in a file. So asking for the current position via AudioInPosition or AudioInInfo will return the correct value.
If you call this function while recording is NOT ongoing (AudioInStart not called, or AudioInStop called) the next call to AudioInStart forces the paused-state. That means you have to call AudioInResume to start recording.
This behavior helps to start and stop recording dependent on the current input position.

Connector Pane
audioinpausec

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
ccclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInPosition

Retrieves the current input position of the given audio input device.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

If the format type requested by 'ReqPosType' is not supported,
the driver selects one of the formats supported and returns it in 'PosType'.

Connector Pane
audioinpositionc

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
cenum ReqPosType(Smpl)
Requested Format Type for the Position.

Millisecs | Time in milliseconds
Samples | Position in samples
Bytes | Current byte offset from beginning
Frames | SMPTE-Frames
Midi | MIDI Time
Ticks | Ticks within a MIDI stream

ccclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
iu32 Position
Current Audio Input Position.

'PosType' defines the format.
ienum PosType
Format Type for the Position.

Millisecs | Time in milliseconds
Samples | Position in samples
Bytes | Current byte offset from beginning
Frames | SMPTE-Frames
Midi | MIDI Time
Ticks | Ticks within a MIDI stream

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInRead-raw

Reads data in raw format from the background-buffer. Optionally waits until enough bytes were recorded.

NOTE:
The number of requested bytes ('Bytes')is internally aligned to the number of bytes of one sample. This means you will sometimes get less data-bytes than requested.
For example: For Waveformat WF_16BitStereo44kHz one sample is made of four bytes. If you requested 12345 bytes, you will get
12344 bytes (if available) which can be devided by four.

Connector Pane
audioinread-rawc

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
cbool Wait
TRUE: Wait until 'Bytes' no. of bytes are available or an
error occures.
FALSE: Does not wait, returns all available data from the
background-buffer, max. 'Bytes' no. of bytes.

NOTE:
The TRUE-case uses a highly optimized wait-logic not to waste too much time. In this case it is possible to demand for more data as the background-buffer can hold.
The FALSE-case never returns more data as the background-buffer can hold.
cu32 Bytes
Number of bytes to read.

You may demand for more data as the background-buffer can hold if 'Wait' is set to TRUE.

NOTE:
The number of bytes returned is always adjusted to the appropriate sample-alignment (depends on WaveFormat used).
ccclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
istr Data
Returns the data in raw format from the background-buffer.
iu32 OvrBytes
Returns the number of bytes that were lost because of background-buffer overrun since last call of this VI or AudioInReadRaw.

NOTE:
Background-buffer overruns occure if your application did not read out the data fast enough and/or the background-buffer is to small.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInRead

Reads channel-data from the background-buffer. Optionally waits until enough samples were recorded. For monaural Waveformats (Mono) the sample-data is always returned in 'Channel1'. For stereo Waveformats, 'Channel1' returns left-channel data and 'Channel2' right-channel data.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat (set with function AudioInOpen) the channel-data are always returned as 16-BIT short values in the range -32768 .. 32767. For 8-BIT Waveformats a fast internal conversion is supplied.

Connector Pane
audioinreadc

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
cbool Wait
TRUE: Wait until 'Samples' no. of samples are available or an
error occures.
FALSE: Does not wait, returns all available samples from the
background-buffer, max. 'Samples' no. of samples.

NOTE:
The TRUE-case uses a highly optimized wait-logic not to waste too much time. In this case it is possible to demand for more samples as the background-buffer can hold.
The FALSE-case never returns more samples as the background-buffer can hold.
Neither case returns more than 'Samples' no. of samples.
cu32 Samples
Number of samples to read.

You may request for more samples as the background-buffer can hold if 'Wait' is set to TRUE.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
i1di16 Channel1
Short-array to be filled with data from channel1 (left channel if stereo).
NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat (set with function AudioInOpen) the data are always returned as 16-BIT short values in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) the data are always returned by 'Channel1' while 'Channel2' is unused.
ii16
i1di16 Channel2
Short-array to be filled with data from channel2 that is the right channel on stereo WaveFormats. For monaural WaveFormats (Mono) the array is unused.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat (set with function AudioInOpen) the data are always returned as 16-BIT short values in the range -32768 .. 32767.
iu32 Overrun
Returns the number of samples that were lost because of background-buffer overrun since last call of this VI or AudioInReadRaw.

NOTE:
Background-buffer overruns occure if your application did not read out the data fast enough and/or the background-buffer is to small.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInResume

Resumes Audio recording if in paused state (see AudioInPause).

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

Connector Pane
audioinresumec

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInStart

Starts background-recording on the given audio input device.

If 'FileName' is not empty, the function creates a new file (overwrites existing files) and additionally records incoming data into it, until AudioInStop or AudioInClose is called. This is fully transparent to all foreground processes and is in addition to the normal recording into the background buffer.
Data in the background-buffer (in any) will be flushed.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· MMSYSERR_ERROR Cannot create file (if 'FileName' not NULL)

Connector Pane
audioinstartc

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
cpath Filename
Name of file to record incoming data in the background.

An empty filename disables background-file-recording.
cenum FileFormat
Fileformat for background-file-recording if enabled.

Raw-format files record data in raw format without any header. PCM-format files create standard PCM WAV-files (Pulse-Code-Modulation).
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioInStop

Stops audio recording on the given device and closes the file opened by AudioInStart (if any). The data of the background-buffer is still available and may be read out until you restart recording using 'AudioInStart' or the device is closed.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.

Connector Pane
audioinstopc

Controls and Indicators
cdlrn hAudioIn
Handle of an opened audio input device.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioIn/dup
Duplicated audio-input handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioMixCapabilities

Queries a specified mixer device to determine its capabilities.

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_BADDEVICEIDThe specified device identifier is out of range.
· MMSYSERR_INVALHANDLEThe mixer device handle is invalid.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.

Connector Pane
audiomixcapabilitiesc

Controls and Indicators
ci32 DeviceId/in(0)
Identifier of a mixer device.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 DeviceId/out
Duplicated mixer id.
icclst MixerCaps
Describes the capabilities of a mixer device.
iu16 ManID
Manufacturer identifier for the device driver for the device.
iu16 ProdID
Product identifier for the mixer device.
iu32 MMVers
Version number of the device driver for the mixer device. The high-order byte is the major version number, and the low-order byte is the minor version number.
istr ProdName
Name of the product. If the mixer device driver supports multiple cards, this string must uniquely and easily identify (potentially to a user) the specific card.
iu32 Support
Various support information for the mixer device driver. No extended support bits are currently defined.
iu32 DstLines
The number of audio line destinations available through the mixer device. All mixer devices must support at least one destination line, so this member cannot be zero. Destination indexes used in the dwDestination member of the MIXERLINE structure range from zero to the value specified in the cDestinations member minus one.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixCapsByHandle

Queries a specified mixer device to determine its capabilities.

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_BADDEVICEIDThe specified device identifier is out of range.
· MMSYSERR_INVALHANDLEThe mixer device handle is invalid.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.

Connector Pane
audiomixcapsbyhandlec

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hAudioMix/dup
icclst MixerCaps
Describes the capabilities of a mixer device.
iu16 ManID
Manufacturer identifier for the device driver for the device.
iu16 ProdID
Product identifier for the mixer device.
iu32 MMVers
Version number of the device driver for the mixer device. The high-order byte is the major version number, and the low-order byte is the minor version number.
istr ProdName
Name of the product. If the mixer device driver supports multiple cards, this string must uniquely and easily identify (potentially to a user) the specific card.
iu32 Support
Various support information for the mixer device driver. No extended support bits are currently defined.
iu32 DstLines
The number of audio line destinations available through the mixer device. All mixer devices must support at least one destination line, so this member cannot be zero. Destination indexes used in the dwDestination member of the MIXERLINE structure range from zero to the value specified in the cDestinations member minus one.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixClose

Closes the specified mixer device.

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
MMSYSERR_INVALHANDLESpecified hAudioMix handle is invalid.

hAudioMix:
Handle of the mixer device. This handle must have been returned successfully by the AudioMixOpen function. If AudioMixClose is successful, hAudioMix is no longer valid.

Connector Pane
audiomixclosec

Controls and Indicators
cdlrn hAudioMix
Valid handle returned from AudioMixOpen.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixCtrlDtlLst

Returns item information of a multiple-item control.

Connector Pane
audiomixctrldtllstc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
cu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
cu32 MultItems
Number of items per channel that make up a multiple-item control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control it must be zero.
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1dtdef ListText
icclst MIXERCONTROLDETAILS_LISTTEXT
iu32 LineId
iu32 CompType
istr Name


AudioMixCtrlGetVal

Returns current value(s) of the specified mixer-control.

Connector Pane
audiomixctrlgetvalc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
cu32 Channels(1)
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
cu32 MultItems(0)
Number of items per channel that make up a multiple-item control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control it must be zero.
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1di32 Values
Returns current value(s).
ii32 Value


AudioMixCtrlInfo

Retrieves one or more controls associated with a mixer line.
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALCONTROLThe control reference is invalid.
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hAudioMix parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hAudioMix parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hAudioMix.

Connector Pane
audiomixctrlinfoc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum InfoType(All)
Infotype of Controlnfo to receive

AllOfLineId:
The ControlInfo-Array parameter will return information on all controls associated with the audio line identified by LineID. The Controls parameter must be initialized to the number of controls associated with the line. This number is retrieved from the Controls member of the MIXERLINE structure returned by the AudioMixLineInfo... vi's. The CtrlId/Type parameter is ignored.

OneOfCtrlId:
The ControlInfo-Array parameter will return information for the control given by its id (CtrlId/Type). The LineId and Controls parameters are ignored.

OneOfCtrlType:
The ControlInfo-Array parameter will return information for the first control of the given type (CtrlId/Type) associated with the given line (LineId). The Controls parameter is ignored.
cu32 LineId
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
cu32 CtrlId/Type(0)
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
cu32 Controls(1)
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1dtdef ControlInfo
icclst CtrlInfo
Describes the state and metrics of a single control for an audio line.

To determine if the Minimum, Maximum and StepsSize members are appropriate for a control class, see "Control Types" earlier in this chapter.
The calling application does not need to initialize any members of this structure because the MIXERCONTROL structure is passed as a receiving buffer only.
iu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
iu32 ControlType
Class of the control for which the identifier is specified in ControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
MIXERCONTROL_CONTROLTYPE_xxx building block defines

Classmask:
xF0000000
MIXERCONTROL_CT_CLASS_MASK

Classes:
x00000000 | MIXERCONTROL_CT_CLASS_CUSTOM
x10000000 | MIXERCONTROL_CT_CLASS_METER
x20000000 | MIXERCONTROL_CT_CLASS_SWITCH
x30000000 | MIXERCONTROL_CT_CLASS_NUMBER
x40000000 | MIXERCONTROL_CT_CLASS_SLIDER
x50000000 | MIXERCONTROL_CT_CLASS_FADER
x60000000 | MIXERCONTROL_CT_CLASS_TIME
x70000000 | MIXERCONTROL_CT_CLASS_LIST

Subclassmask
x0F000000
MIXERCONTROL_CT_SUBCLASS_MASK

Subclasses
x00000000 | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
x01000000 | MIXERCONTROL_CT_SC_SWITCH_BUTTON
x00000000 | MIXERCONTROL_CT_SC_METER_POLLED
x00000000 | MIXERCONTROL_CT_SC_TIME_MICROSECS
x01000000 | MIXERCONTROL_CT_SC_TIME_MILLISECS
x00000000 | MIXERCONTROL_CT_SC_LIST_SINGLE
x01000000 | MIXERCONTROL_CT_SC_LIST_MULTIPLE

Controlunitsmask
x00FF0000
MIXERCONTROL_CT_UNITS_MASK

Controlunits
x00000000 | MIXERCONTROL_CT_UNITS_CUSTOM |
x00010000 | MIXERCONTROL_CT_UNITS_BOOLEAN |
x00020000 | MIXERCONTROL_CT_UNITS_SIGNED |
x00030000 | MIXERCONTROL_CT_UNITS_UNSIGNED |
x00040000 | MIXERCONTROL_CT_UNITS_DECIBELS | // in 10ths
x00050000 | MIXERCONTROL_CT_UNITS_PERCENT | // in 10ths

Commonly used control types for specifying MIXERCONTROL.ControlType

Class: Custom
x00000000
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_UNITS_CUSTOM

Class: Meters
x10010000 | MIXERCONTROL_CONTROLTYPE_BOOLEANMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_BOOLEAN
x10020000 | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_SIGNED
x10020001 | MIXERCONTROL_CONTROLTYPE_PEAKMETER | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1
x10030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Switches
x20010000 | MIXERCONTROL_CONTROLTYPE_BOOLEAN | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BOOLEAN MIXERCONTROL_CT_UNITS_BOOLEAN
x20010001 | MIXERCONTROL_CONTROLTYPE_ONOFF | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1
x20010002 | MIXERCONTROL_CONTROLTYPE_MUTE | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2
x20010003 | MIXERCONTROL_CONTROLTYPE_MONO | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3
x20010004 | MIXERCONTROL_CONTROLTYPE_LOUDNESS | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4
x20010005 | MIXERCONTROL_CONTROLTYPE_STEREOENH | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5
x21010000 | MIXERCONTROL_CONTROLTYPE_BUTTON | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BUTTON MIXERCONTROL_CT_UNITS_BOOLEAN

Class: Numbers
x30020000 | MIXERCONTROL_CONTROLTYPE_SIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_SIGNED
x30030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_UNSIGNED
x30040000 | MIXERCONTROL_CONTROLTYPE_DECIBELS | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_DECIBELS
x30050000 | MIXERCONTROL_CONTROLTYPE_PERCENT | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_PERCENT

Class: Slider
x40020000 | MIXERCONTROL_CONTROLTYPE_SLIDER | MIXERCONTROL_CT_CLASS_SLIDER MIXERCONTROL_CT_UNITS_SIGNED
x40020001 | MIXERCONTROL_CONTROLTYPE_PAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 1
x40020002 | MIXERCONTROL_CONTROLTYPE_QSOUNDPAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 2

Class: Fader
x50030000 | MIXERCONTROL_CONTROLTYPE_FADER | MIXERCONTROL_CT_CLASS_FADER MIXERCONTROL_CT_UNITS_UNSIGNED
x50030001 | MIXERCONTROL_CONTROLTYPE_VOLUME | MIXERCONTROL_CONTROLTYPE_FADER + 1
x50030002 | MIXERCONTROL_CONTROLTYPE_BASS | MIXERCONTROL_CONTROLTYPE_FADER + 2
x50030003 | MIXERCONTROL_CONTROLTYPE_TREBLE | MIXERCONTROL_CONTROLTYPE_FADER + 3
x50030004 | MIXERCONTROL_CONTROLTYPE_EQUALIZER | MIXERCONTROL_CONTROLTYPE_FADER + 4

Class: Time
x60030000 | MIXERCONTROL_CONTROLTYPE_MICROTIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MICROSECS MIXERCONTROL_CT_UNITS_UNSIGNED
x61030000 | MIXERCONTROL_CONTROLTYPE_MILLITIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MILLISECS MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Lists
x70010000 | MIXERCONTROL_CONTROLTYPE_SINGLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_SINGLE MIXERCONTROL_CT_UNITS_BOOLEAN
x70010001 | MIXERCONTROL_CONTROLTYPE_MUX | MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1
x71010000 | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_MULTIPLE MIXERCONTROL_CT_UNITS_BOOLEAN
x71010001 | MIXERCONTROL_CONTROLTYPE_MIXER | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1
iu32 ControlFlag
Status and support flags for the audio line control. The following values are defined:

x80000000 | MIXERCONTROL_CONTROLF_DISABLED | The control is disabled, perhaps due to other settings for the mixer hardware, and cannot be used. An application can read current settings from a disabled control, but it cannot apply settings.
x00000001 | MIXERCONTROL_CONTROLF_UNIFORM | The control acts on all channels of a multichannel line in a uniform fashion. For example, a control that mutes both channels of a stereo line would set this flag. Most MIXERCONTROL_CONTROLTYPE_MUX and MIXERCONTROL_CONTROLTYPE_MIXER controls also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.
x00000002 | MIXERCONTROL_CONTROLF_MULTIPLE | The control has two or more settings per channel. An equalizer, for example, requires this flag because each frequency band can be set to a different value. An equalizer that affects both channels of a stereo line in a uniform fashion will also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.
iu32 MultItems
Number of items per channel that make up a MIXERCONTROL_CONTROLF_MULTIPLE control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control, do not use this member; it will be zero.
istr ShortNm
Short string that describes the audio line control specified by ControlID. This description should be appropriate to use as a concise label for the control.
istr Name
String that describes the audio line control specified by ControlID. This description should be appropriate to use as a complete description for the control.
ii32 Minimum
Minimum value for the control.
ii32 Maximum
Maximum value for the control.
iu32 StepsSize
IF NOT MIXERCONTROL_CONTROLTYPE_CUSTOM:
Number of discrete ranges within the union specified for a control specified by the Minimum/Maximum members.

IF MIXERCONTROL_CONTROLTYPE_CUSTOM:
Size, in bytes, required to contain the state of a custom control class. This member is appropriate only for the MIXERCONTROL_CONTROLTYPE_CUSTOM control class only.


AudioMixCtrlInfoCId

Retrieves one control given by ControlId

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALCONTROLThe control reference is invalid.
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hAudioMix parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hAudioMix parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hAudioMix.

Connector Pane
audiomixctrlinfocidc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 ControlId
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst ControlInfo
Describes the state and metrics of a single control for an audio line.

To determine if the Minimum, Maximum and StepsSize members are appropriate for a control class, see "Control Types" earlier in this chapter.
The calling application does not need to initialize any members of this structure because the MIXERCONTROL structure is passed as a receiving buffer only.
iu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
iu32 ControlType
Class of the control for which the identifier is specified in ControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
MIXERCONTROL_CONTROLTYPE_xxx building block defines

Classmask:
xF0000000
MIXERCONTROL_CT_CLASS_MASK

Classes:
x00000000 | MIXERCONTROL_CT_CLASS_CUSTOM
x10000000 | MIXERCONTROL_CT_CLASS_METER
x20000000 | MIXERCONTROL_CT_CLASS_SWITCH
x30000000 | MIXERCONTROL_CT_CLASS_NUMBER
x40000000 | MIXERCONTROL_CT_CLASS_SLIDER
x50000000 | MIXERCONTROL_CT_CLASS_FADER
x60000000 | MIXERCONTROL_CT_CLASS_TIME
x70000000 | MIXERCONTROL_CT_CLASS_LIST

Subclassmask
x0F000000
MIXERCONTROL_CT_SUBCLASS_MASK

Subclasses
x00000000 | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
x01000000 | MIXERCONTROL_CT_SC_SWITCH_BUTTON
x00000000 | MIXERCONTROL_CT_SC_METER_POLLED
x00000000 | MIXERCONTROL_CT_SC_TIME_MICROSECS
x01000000 | MIXERCONTROL_CT_SC_TIME_MILLISECS
x00000000 | MIXERCONTROL_CT_SC_LIST_SINGLE
x01000000 | MIXERCONTROL_CT_SC_LIST_MULTIPLE

Controlunitsmask
x00FF0000
MIXERCONTROL_CT_UNITS_MASK

Controlunits
x00000000 | MIXERCONTROL_CT_UNITS_CUSTOM |
x00010000 | MIXERCONTROL_CT_UNITS_BOOLEAN |
x00020000 | MIXERCONTROL_CT_UNITS_SIGNED |
x00030000 | MIXERCONTROL_CT_UNITS_UNSIGNED |
x00040000 | MIXERCONTROL_CT_UNITS_DECIBELS | // in 10ths
x00050000 | MIXERCONTROL_CT_UNITS_PERCENT | // in 10ths

Commonly used control types for specifying MIXERCONTROL.ControlType

Class: Custom
x00000000
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_UNITS_CUSTOM

Class: Meters
x10010000 | MIXERCONTROL_CONTROLTYPE_BOOLEANMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_BOOLEAN
x10020000 | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_SIGNED
x10020001 | MIXERCONTROL_CONTROLTYPE_PEAKMETER | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1
x10030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Switches
x20010000 | MIXERCONTROL_CONTROLTYPE_BOOLEAN | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BOOLEAN MIXERCONTROL_CT_UNITS_BOOLEAN
x20010001 | MIXERCONTROL_CONTROLTYPE_ONOFF | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1
x20010002 | MIXERCONTROL_CONTROLTYPE_MUTE | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2
x20010003 | MIXERCONTROL_CONTROLTYPE_MONO | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3
x20010004 | MIXERCONTROL_CONTROLTYPE_LOUDNESS | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4
x20010005 | MIXERCONTROL_CONTROLTYPE_STEREOENH | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5
x21010000 | MIXERCONTROL_CONTROLTYPE_BUTTON | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BUTTON MIXERCONTROL_CT_UNITS_BOOLEAN

Class: Numbers
x30020000 | MIXERCONTROL_CONTROLTYPE_SIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_SIGNED
x30030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_UNSIGNED
x30040000 | MIXERCONTROL_CONTROLTYPE_DECIBELS | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_DECIBELS
x30050000 | MIXERCONTROL_CONTROLTYPE_PERCENT | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_PERCENT

Class: Slider
x40020000 | MIXERCONTROL_CONTROLTYPE_SLIDER | MIXERCONTROL_CT_CLASS_SLIDER MIXERCONTROL_CT_UNITS_SIGNED
x40020001 | MIXERCONTROL_CONTROLTYPE_PAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 1
x40020002 | MIXERCONTROL_CONTROLTYPE_QSOUNDPAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 2

Class: Fader
x50030000 | MIXERCONTROL_CONTROLTYPE_FADER | MIXERCONTROL_CT_CLASS_FADER MIXERCONTROL_CT_UNITS_UNSIGNED
x50030001 | MIXERCONTROL_CONTROLTYPE_VOLUME | MIXERCONTROL_CONTROLTYPE_FADER + 1
x50030002 | MIXERCONTROL_CONTROLTYPE_BASS | MIXERCONTROL_CONTROLTYPE_FADER + 2
x50030003 | MIXERCONTROL_CONTROLTYPE_TREBLE | MIXERCONTROL_CONTROLTYPE_FADER + 3
x50030004 | MIXERCONTROL_CONTROLTYPE_EQUALIZER | MIXERCONTROL_CONTROLTYPE_FADER + 4

Class: Time
x60030000 | MIXERCONTROL_CONTROLTYPE_MICROTIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MICROSECS MIXERCONTROL_CT_UNITS_UNSIGNED
x61030000 | MIXERCONTROL_CONTROLTYPE_MILLITIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MILLISECS MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Lists
x70010000 | MIXERCONTROL_CONTROLTYPE_SINGLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_SINGLE MIXERCONTROL_CT_UNITS_BOOLEAN
x70010001 | MIXERCONTROL_CONTROLTYPE_MUX | MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1
x71010000 | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_MULTIPLE MIXERCONTROL_CT_UNITS_BOOLEAN
x71010001 | MIXERCONTROL_CONTROLTYPE_MIXER | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1
iu32 ControlFlag
Status and support flags for the audio line control. The following values are defined:
x80000000 | MIXERCONTROL_CONTROLF_DISABLED | The control is disabled, perhaps due to other settings for the mixer hardware, and cannot be used. An application can read current settings from a disabled control, but it cannot apply settings.
x00000001 | MIXERCONTROL_CONTROLF_UNIFORM | The control acts on all channels of a multichannel line in a uniform fashion. For example, a control that mutes both channels of a stereo line would set this flag. Most MIXERCONTROL_CONTROLTYPE_MUX and MIXERCONTROL_CONTROLTYPE_MIXER controls also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.
x00000002 | MIXERCONTROL_CONTROLF_MULTIPLE | The control has two or more settings per channel. An equalizer, for example, requires this flag because each frequency band can be set to a different value. An equalizer that affects both channels of a stereo line in a uniform fashion will also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.

iu32 MultItems
Number of items per channel that make up a MIXERCONTROL_CONTROLF_MULTIPLE control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control, do not use this member; it will be zero.
istr ShortNm
Short string that describes the audio line control specified by ControlID. This description should be appropriate to use as a concise label for the control.
istr Name
String that describes the audio line control specified by ControlID. This description should be appropriate to use as a complete description for the control.
ii32 Minimum
Minimum value for the control.
ii32 Maximum
Maximum value for the control.
iu32 StepsSize
IF NOT MIXERCONTROL_CONTROLTYPE_CUSTOM:
Number of discrete ranges within the union specified for a control specified by the Minimum/Maximum members.

IF MIXERCONTROL_CONTROLTYPE_CUSTOM:
Size, in bytes, required to contain the state of a custom control class. This member is appropriate only for the MIXERCONTROL_CONTROLTYPE_CUSTOM control class only.


AudioMixCtrlInfoLId

Retrieves one or more controls associated with the given mixer line (LineId).
The Controls parameter must be initialized to the number of controls associated with the line. This number is retrieved from the Controls member of the MIXERLINE structure returned by the AudioMixLineInfo... vi's.

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALCONTROLThe control reference is invalid.
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hAudioMix parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hAudioMix parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hAudioMix.

Connector Pane
audiomixctrlinfolidc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 LineId
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
cu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1dtdef ControlInfo
icclst CtrlInfo
Describes the state and metrics of a single control for an audio line.

To determine if the Minimum, Maximum and StepsSize members are appropriate for a control class, see "Control Types" earlier in this chapter.
The calling application does not need to initialize any members of this structure because the MIXERCONTROL structure is passed as a receiving buffer only.
iu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
iu32 ControlType
Class of the control for which the identifier is specified in ControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
MIXERCONTROL_CONTROLTYPE_xxx building block defines

Classmask:
xF0000000
MIXERCONTROL_CT_CLASS_MASK

Classes:
x00000000 | MIXERCONTROL_CT_CLASS_CUSTOM
x10000000 | MIXERCONTROL_CT_CLASS_METER
x20000000 | MIXERCONTROL_CT_CLASS_SWITCH
x30000000 | MIXERCONTROL_CT_CLASS_NUMBER
x40000000 | MIXERCONTROL_CT_CLASS_SLIDER
x50000000 | MIXERCONTROL_CT_CLASS_FADER
x60000000 | MIXERCONTROL_CT_CLASS_TIME
x70000000 | MIXERCONTROL_CT_CLASS_LIST

Subclassmask
x0F000000
MIXERCONTROL_CT_SUBCLASS_MASK

Subclasses
x00000000 | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
x01000000 | MIXERCONTROL_CT_SC_SWITCH_BUTTON
x00000000 | MIXERCONTROL_CT_SC_METER_POLLED
x00000000 | MIXERCONTROL_CT_SC_TIME_MICROSECS
x01000000 | MIXERCONTROL_CT_SC_TIME_MILLISECS
x00000000 | MIXERCONTROL_CT_SC_LIST_SINGLE
x01000000 | MIXERCONTROL_CT_SC_LIST_MULTIPLE

Controlunitsmask
x00FF0000
MIXERCONTROL_CT_UNITS_MASK

Controlunits
x00000000 | MIXERCONTROL_CT_UNITS_CUSTOM |
x00010000 | MIXERCONTROL_CT_UNITS_BOOLEAN |
x00020000 | MIXERCONTROL_CT_UNITS_SIGNED |
x00030000 | MIXERCONTROL_CT_UNITS_UNSIGNED |
x00040000 | MIXERCONTROL_CT_UNITS_DECIBELS | // in 10ths
x00050000 | MIXERCONTROL_CT_UNITS_PERCENT | // in 10ths

Commonly used control types for specifying MIXERCONTROL.ControlType

Class: Custom
x00000000
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_UNITS_CUSTOM

Class: Meters
x10010000 | MIXERCONTROL_CONTROLTYPE_BOOLEANMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_BOOLEAN
x10020000 | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_SIGNED
x10020001 | MIXERCONTROL_CONTROLTYPE_PEAKMETER | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1
x10030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Switches
x20010000 | MIXERCONTROL_CONTROLTYPE_BOOLEAN | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BOOLEAN MIXERCONTROL_CT_UNITS_BOOLEAN
x20010001 | MIXERCONTROL_CONTROLTYPE_ONOFF | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1
x20010002 | MIXERCONTROL_CONTROLTYPE_MUTE | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2
x20010003 | MIXERCONTROL_CONTROLTYPE_MONO | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3
x20010004 | MIXERCONTROL_CONTROLTYPE_LOUDNESS | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4
x20010005 | MIXERCONTROL_CONTROLTYPE_STEREOENH | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5
x21010000 | MIXERCONTROL_CONTROLTYPE_BUTTON | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BUTTON MIXERCONTROL_CT_UNITS_BOOLEAN

Class: Numbers
x30020000 | MIXERCONTROL_CONTROLTYPE_SIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_SIGNED
x30030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_UNSIGNED
x30040000 | MIXERCONTROL_CONTROLTYPE_DECIBELS | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_DECIBELS
x30050000 | MIXERCONTROL_CONTROLTYPE_PERCENT | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_PERCENT

Class: Slider
x40020000 | MIXERCONTROL_CONTROLTYPE_SLIDER | MIXERCONTROL_CT_CLASS_SLIDER MIXERCONTROL_CT_UNITS_SIGNED
x40020001 | MIXERCONTROL_CONTROLTYPE_PAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 1
x40020002 | MIXERCONTROL_CONTROLTYPE_QSOUNDPAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 2

Class: Fader
x50030000 | MIXERCONTROL_CONTROLTYPE_FADER | MIXERCONTROL_CT_CLASS_FADER MIXERCONTROL_CT_UNITS_UNSIGNED
x50030001 | MIXERCONTROL_CONTROLTYPE_VOLUME | MIXERCONTROL_CONTROLTYPE_FADER + 1
x50030002 | MIXERCONTROL_CONTROLTYPE_BASS | MIXERCONTROL_CONTROLTYPE_FADER + 2
x50030003 | MIXERCONTROL_CONTROLTYPE_TREBLE | MIXERCONTROL_CONTROLTYPE_FADER + 3
x50030004 | MIXERCONTROL_CONTROLTYPE_EQUALIZER | MIXERCONTROL_CONTROLTYPE_FADER + 4

Class: Time
x60030000 | MIXERCONTROL_CONTROLTYPE_MICROTIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MICROSECS MIXERCONTROL_CT_UNITS_UNSIGNED
x61030000 | MIXERCONTROL_CONTROLTYPE_MILLITIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MILLISECS MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Lists
x70010000 | MIXERCONTROL_CONTROLTYPE_SINGLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_SINGLE MIXERCONTROL_CT_UNITS_BOOLEAN
x70010001 | MIXERCONTROL_CONTROLTYPE_MUX | MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1
x71010000 | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_MULTIPLE MIXERCONTROL_CT_UNITS_BOOLEAN
x71010001 | MIXERCONTROL_CONTROLTYPE_MIXER | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1
iu32 ControlFlag
Status and support flags for the audio line control. The following values are defined:

x80000000 | MIXERCONTROL_CONTROLF_DISABLED | The control is disabled, perhaps due to other settings for the mixer hardware, and cannot be used. An application can read current settings from a disabled control, but it cannot apply settings.
x00000001 | MIXERCONTROL_CONTROLF_UNIFORM | The control acts on all channels of a multichannel line in a uniform fashion. For example, a control that mutes both channels of a stereo line would set this flag. Most MIXERCONTROL_CONTROLTYPE_MUX and MIXERCONTROL_CONTROLTYPE_MIXER controls also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.
x00000002 | MIXERCONTROL_CONTROLF_MULTIPLE | The control has two or more settings per channel. An equalizer, for example, requires this flag because each frequency band can be set to a different value. An equalizer that affects both channels of a stereo line in a uniform fashion will also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.
iu32 MultItems
Number of items per channel that make up a MIXERCONTROL_CONTROLF_MULTIPLE control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control, do not use this member; it will be zero.
istr ShortNm
Short string that describes the audio line control specified by ControlID. This description should be appropriate to use as a concise label for the control.
istr Name
String that describes the audio line control specified by ControlID. This description should be appropriate to use as a complete description for the control.
ii32 Minimum
Minimum value for the control.
ii32 Maximum
Maximum value for the control.
iu32 StepsSize
IF NOT MIXERCONTROL_CONTROLTYPE_CUSTOM:
Number of discrete ranges within the union specified for a control specified by the Minimum/Maximum members.

IF MIXERCONTROL_CONTROLTYPE_CUSTOM:
Size, in bytes, required to contain the state of a custom control class. This member is appropriate only for the MIXERCONTROL_CONTROLTYPE_CUSTOM control class only.


AudioMixCtrlSetVal

Sets the value(s) of the specified control.

Connector Pane
audiomixctrlsetvalc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
cu32 Channels(1)
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
cu32 MultItems(0)
Number of items per channel that make up a multiple-item control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control it must be zero.
c1di32 Values
Value(s) to be set.
ci32 Value
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixDevices

Retrieves the number of mixer devices present in the system.
Returns the number of mixer devices or zero if no mixer devices are available.

Connector Pane
audiomixdevicesc

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 Devices
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixInfo

Returns some internal information of the given mixer-device.

Connector Pane

Controls and Indicators

cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hAudioMix/dup
icclst MixInfo
Describes the state and metrics of an audio line.
idlrn hMixer
idlrn hMixObj
ienum MixObjType
ibool UseMixCB
ibool ChngCnt
iu32 LChngCnt
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
iu32 CChngCnt
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixLineInfo

Retrieves information about a specific line of a mixer device.
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hmxobj parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hmxobj parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hmxobj.

Connector Pane
audiomixlineinfoc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum InfoType
Infotype of Lineinfo to receive

DstLine | The LineInfo/out parameter will receive information about the destination audio line specified by the DstLine member of the LineInfo/in structure. This index ranges from zero to one less than the value in the Destinations member of the MIXERCAPS structure. All remaining structure members require no further initialization.
SrcLine | The LineInfo/out parameter will receive information about the source audio line specified by the DstLine and SrcLine members of the LineInfo/in structure. The index specified by DstLine ranges from zero to one less than the value in the Destinations member of the MIXERCAPS structure. The index specified by SrcLine ranges from zero to one less than the value in the Connections member of the LineInfo/out structure returned for the audio line stored in the DstLine member. All remaining structure members require no further initialization.
LineId | The LineInfo/out parameter will receive information about the audio line specified by the LineID member of the LineInfo/in structure. This is usually used to retrieve updated information about the state of an audio line. All remaining structure members require no further initialization.
CompType | The LineInfo/out parameter will receive information about the first audio line of the type specified in the CompType member of the LineInfo/in structure. This flag is used to retrieve information about an audio line of a specific component type. Remaining structure members require no further initialization.

TargetType:
The LineInfo/out parameter will receive information about the audio line that is for the Type member of the Target structure, which is a member of the LineInfo/in structure. This flag is used to retrieve information about an audio line that handles the target type (for example, MIXERLINE_TARGETTYPE_WAVEOUT). An application must initialize the Type, ManID, ProdID, MMVers and ProdName members of the LineInfo/in structure before calling AudioMixLineInfo. All of these values can be retrieved from the device capabilities structures for all media devices. Remaining structure members need no further initialization.
ccclst LineInfo/in
Describes the state and metrics of an audio line.
cu32 DstLine
Destination line index. This member ranges from zero to one less than the value specified in the DstLines member of the MIXERCAPS structure retrieved by the mixerGetDevCaps function. When the mixerGetLineInfo function is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned. (The SrcLine member must be set to zero in this case.) When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the SrcLine member that is associated with the DstLine member are returned.
cu32 SrcLine
Index for the audio source line associated with the dwDestination member. That is, this member specifies the nth audio source line associated with the specified audio destination line. This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfo function. When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnections member for the audio destination line given in the dwDestination member.
cu32 LineID
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
cu32 LineFlags
Status and support flags for the audio line. This member is always returned to the application and requires no initialization.

x00000001 | MIXERLINE_LINEF_ACTIVE | Audio line is active. An active line indicates that a signal is probably passing through the line.
x00008000 | MIXERLINE_LINEF_DISCONNECTED | Audio line is disconnected. A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.
x80000000 | MIXERLINE_LINEF_SOURCE | Audio line is an audio source line associated with a single audio destination line. If this flag is not set, this line is an audio destination line associated with zero or more audio source lines.

If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set). If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set. A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active. If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.
cu32 CompType
Component type for this audio line. An application can use this information to display tailored graphics or to search for a particular component. If an application does not use component types, this member should be ignored. This member can be one of the following values:

Destination-Lines:

x0000 | MIXERLINE_COMPONENTTYPE_DST_UNDEFINED | Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x0001 | MIXERLINE_COMPONENTTYPE_DST_DIGITAL | Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
x0002 | MIXERLINE_COMPONENTTYPE_DST_LINE | Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
x0003 | MIXERLINE_COMPONENTTYPE_DST_MONITOR | Audio line is a destination used for a monitor.
x0004 | MIXERLINE_COMPONENTTYPE_DST_SPEAKERS | Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
x0005 | MIXERLINE_COMPONENTTYPE_DST_HEADPHONES | Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
x0006 | MIXERLINE_COMPONENTTYPE_DST_TELEPHONE | Audio line is a destination that will be routed to a telephone line.
x0007 | MIXERLINE_COMPONENTTYPE_DST_WAVEIN | Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
x0008 | MIXERLINE_COMPONENTTYPE_DST_VOICEIN | Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

Source-Lines:

x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1001 | MIXERLINE_COMPONENTTYPE_SRC_DIGITAL | Audio line is a digital source (for example, digital output from a DAT or audio CD).
x1002 | MIXERLINE_COMPONENTTYPE_SRC_LINE | Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
x1003 | MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE | Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1004 | MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER | Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer).
x1006 | MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE | Audio line is a source originating from an incoming telephone line. MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x1007 | MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER | Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
x1008 | MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT | Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x1009 | MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY | Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x100A | MIXERLINE_COMPONENTTYPE_SRC_ANALOG | Audio line is an analog source (for example, analog output from a video-cassette tape).
cu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
cu32 Connects
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
cu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
cstr ShortNm
Short string that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a concise label for the line.
cstr Name
String that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a complete description for the line.
ccclst Target
Target media information.
cu32 Type
Target media device type associated with the audio line described in the MIXERLINE structure. An application must ignore target information for media device types it does not use. The following values are defined:

0 = MIXERLINE_TARGETTYPE_UNDEFINED
The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.

0 | MIXERLINE_TARGETTYPE_UNDEFINED | The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.
1 | MIXERLINE_TARGETTYPE_WAVEOUT | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
2 | MIXERLINE_TARGETTYPE_WAVEIN | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
3 | MIXERLINE_TARGETTYPE_MIDIOUT | The audio line described by the MIXERLINE structure is strictly bound to the MIDI output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
4 | MIXERLINE_TARGETTYPE_MIDIIN | The audio line described by the MIXERLINE structure is strictly bound to the MIDI input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
5 | MIXERLINE_TARGETTYPE_AUX | The audio line described by the MIXERLINE structure is strictly bound to the auxiliary device detailed in the remaining members of the Target structure member of the MIXERLINE structure.

cu32 DeviceID
Current device identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the current media device index of the associated media device. When calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.
cu16 ManID
Manufacturer identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wMid member of the device-capabilities structure for the associated media.
cu16 ProdID
Product identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPid member of the device-capabilities structure for the associated media.
cu32 MMVers
Driver version of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersion member of the device-capabilities structure for the associated media.
cstr ProdName
Product name of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This name is identical to the szPname member of the device-capabilities structure for the associated media.
idlrn hAudioMix/dup
icclst LineInfo/out
Describes the state and metrics of an audio line.
iu32 DstLine
Destination line index. This member ranges from zero to one less than the value specified in the DstLines member of the MIXERCAPS structure retrieved by the mixerGetDevCaps function. When the mixerGetLineInfo function is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned. (The SrcLine member must be set to zero in this case.) When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the SrcLine member that is associated with the DstLine member are returned.
iu32 SrcLine
Index for the audio source line associated with the dwDestination member. That is, this member specifies the nth audio source line associated with the specified audio destination line. This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfo function. When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnections member for the audio destination line given in the dwDestination member.
iu32 LineID
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
iu32 LineFlags
Status and support flags for the audio line. This member is always returned to the application and requires no initialization.

x0000000 | MIXERLINE_LINEF_ACTIVE | Audio line is active. An active line indicates that a signal is probably passing through the line.
x00008000 | MIXERLINE_LINEF_DISCONNECTED | Audio line is disconnected. A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.
x80000000 | MIXERLINE_LINEF_SOURCE | Audio line is an audio source line associated with a single audio destination line. If this flag is not set, this line is an audio destination line associated with zero or more audio source lines.
If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set). If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set. A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active. If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.
iu32 CompType
Component type for this audio line. An application can use this information to display tailored graphics or to search for a particular component. If an application does not use component types, this member should be ignored. This member can be one of the following values:

Destination-Lines:

x0000 | MIXERLINE_COMPONENTTYPE_DST_UNDEFINED | Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x0001 | MIXERLINE_COMPONENTTYPE_DST_DIGITAL | Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
x0002 | MIXERLINE_COMPONENTTYPE_DST_LINE | Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
x0003 | MIXERLINE_COMPONENTTYPE_DST_MONITOR | Audio line is a destination used for a monitor.
x0004 | MIXERLINE_COMPONENTTYPE_DST_SPEAKERS | Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
x0005 | MIXERLINE_COMPONENTTYPE_DST_HEADPHONES | Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
x0006 | MIXERLINE_COMPONENTTYPE_DST_TELEPHONE | Audio line is a destination that will be routed to a telephone line.
x0007 | MIXERLINE_COMPONENTTYPE_DST_WAVEIN | Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
x0008 | MIXERLINE_COMPONENTTYPE_DST_VOICEIN | Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

Source-Lines:

x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1001 | MIXERLINE_COMPONENTTYPE_SRC_DIGITAL | Audio line is a digital source (for example, digital output from a DAT or audio CD).
x1002 | MIXERLINE_COMPONENTTYPE_SRC_LINE | Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
x1003 | MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE | Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1004 | MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER | Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer).
x1006 | MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE | Audio line is a source originating from an incoming telephone line. MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x1007 | MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER | Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
x1008 | MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT | Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x1009 | MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY | Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x100A | MIXERLINE_COMPONENTTYPE_SRC_ANALOG | Audio line is an analog source (for example, analog output from a video-cassette tape).
iu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
iu32 Connects
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
iu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
istr ShortNm
Short string that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a concise label for the line.
istr Name
String that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a complete description for the line.
icclst Target
Target media information.
iu32 Type
Target media device type associated with the audio line described in the MIXERLINE structure. An application must ignore target information for media device types it does not use. The following values are defined:

0 | MIXERLINE_TARGETTYPE_UNDEFINED | The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.
1 | MIXERLINE_TARGETTYPE_WAVEOUT | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
2 | MIXERLINE_TARGETTYPE_WAVEIN | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
3 | MIXERLINE_TARGETTYPE_MIDIOUT | The audio line described by the MIXERLINE structure is strictly bound to the MIDI output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
4 | MIXERLINE_TARGETTYPE_MIDIIN | The audio line described by the MIXERLINE structure is strictly bound to the MIDI input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
5 | MIXERLINE_TARGETTYPE_AUX | The audio line described by the MIXERLINE structure is strictly bound to the auxiliary device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
iu32 DeviceID
Current device identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the current media device index of the associated media device. When calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.
iu16 ManID
Manufacturer identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wMid member of the device-capabilities structure for the associated media.
iu16 ProdID
Product identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPid member of the device-capabilities structure for the associated media.
iu32 MMVers
Driver version of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersion member of the device-capabilities structure for the associated media.
istr ProdName
Product name of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This name is identical to the szPname member of the device-capabilities structure for the associated media.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixLineInfoDst

Retrieves information about a specific destination line of a mixer device.
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hmxobj parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hmxobj parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hmxobj.

Connector Pane
audiomixlineinfodstc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 DstLine(0)
idlrn hAudioMix/dup
icclst DstLineInfo
Describes the state and metrics of an audio line.
iu32 DstLine
Destination line index. This member ranges from zero to one less than the value specified in the DstLines member of the MIXERCAPS structure retrieved by the mixerGetDevCaps function. When the mixerGetLineInfo function is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned. (The SrcLine member must be set to zero in this case.) When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the SrcLine member that is associated with the DstLine member are returned.
iu32 SrcLine
Index for the audio source line associated with the dwDestination member. That is, this member specifies the nth audio source line associated with the specified audio destination line. This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfo function. When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnections member for the audio destination line given in the dwDestination member.
iu32 LineID
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
iu32 LineFlags
Status and support flags for the audio line. This member is always returned to the application and requires no initialization.

x0000000 | MIXERLINE_LINEF_ACTIVE | Audio line is active. An active line indicates that a signal is probably passing through the line.
x00008000 | MIXERLINE_LINEF_DISCONNECTED | Audio line is disconnected. A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.
x80000000 | MIXERLINE_LINEF_SOURCE | Audio line is an audio source line associated with a single audio destination line. If this flag is not set, this line is an audio destination line associated with zero or more audio source lines.
If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set). If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set. A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active. If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.
iu32 CompType
Component type for this audio line. An application can use this information to display tailored graphics or to search for a particular component. If an application does not use component types, this member should be ignored. This member can be one of the following values:

Destination-Lines:

x0000 | MIXERLINE_COMPONENTTYPE_DST_UNDEFINED | Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x0001 | MIXERLINE_COMPONENTTYPE_DST_DIGITAL | Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
x0002 | MIXERLINE_COMPONENTTYPE_DST_LINE | Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
x0003 | MIXERLINE_COMPONENTTYPE_DST_MONITOR | Audio line is a destination used for a monitor.
x0004 | MIXERLINE_COMPONENTTYPE_DST_SPEAKERS | Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
x0005 | MIXERLINE_COMPONENTTYPE_DST_HEADPHONES | Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
x0006 | MIXERLINE_COMPONENTTYPE_DST_TELEPHONE | Audio line is a destination that will be routed to a telephone line.
x0007 | MIXERLINE_COMPONENTTYPE_DST_WAVEIN | Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
x0008 | MIXERLINE_COMPONENTTYPE_DST_VOICEIN | Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

Source-Lines:

x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1001 | MIXERLINE_COMPONENTTYPE_SRC_DIGITAL | Audio line is a digital source (for example, digital output from a DAT or audio CD).
x1002 | MIXERLINE_COMPONENTTYPE_SRC_LINE | Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
x1003 | MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE | Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1004 | MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER | Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer).
x1006 | MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE | Audio line is a source originating from an incoming telephone line. MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x1007 | MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER | Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
x1008 | MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT | Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x1009 | MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY | Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x100A | MIXERLINE_COMPONENTTYPE_SRC_ANALOG | Audio line is an analog source (for example, analog output from a video-cassette tape).
iu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
iu32 Connects
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
iu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
istr ShortNm
Short string that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a concise label for the line.
istr Name
String that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a complete description for the line.
icclst Target
Target media information.
iu32 Type
Target media device type associated with the audio line described in the MIXERLINE structure. An application must ignore target information for media device types it does not use. The following values are defined:

0 | MIXERLINE_TARGETTYPE_UNDEFINED | The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.
1 | MIXERLINE_TARGETTYPE_WAVEOUT | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
2 | MIXERLINE_TARGETTYPE_WAVEIN | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
3 | MIXERLINE_TARGETTYPE_MIDIOUT | The audio line described by the MIXERLINE structure is strictly bound to the MIDI output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
4 | MIXERLINE_TARGETTYPE_MIDIIN | The audio line described by the MIXERLINE structure is strictly bound to the MIDI input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
5 | MIXERLINE_TARGETTYPE_AUX | The audio line described by the MIXERLINE structure is strictly bound to the auxiliary device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
iu32 DeviceID
Current device identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the current media device index of the associated media device. When calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.
iu16 ManID
Manufacturer identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wMid member of the device-capabilities structure for the associated media.
iu16 ProdID
Product identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPid member of the device-capabilities structure for the associated media.
iu32 MMVers
Driver version of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersion member of the device-capabilities structure for the associated media.
istr ProdName
Product name of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This name is identical to the szPname member of the device-capabilities structure for the associated media.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixLineInfoLId

Retrieves information about a specific line, given by LineId, of a mixer device.
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hmxobj parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hmxobj parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hmxobj.

Connector Pane
audiomixlineinfolidc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 LineId
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
idlrn hAudioMix/dup
icclst LineInfo
Describes the state and metrics of an audio line.
iu32 DstLine
Destination line index. This member ranges from zero to one less than the value specified in the DstLines member of the MIXERCAPS structure retrieved by the mixerGetDevCaps function. When the mixerGetLineInfo function is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned. (The SrcLine member must be set to zero in this case.) When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the SrcLine member that is associated with the DstLine member are returned.
iu32 SrcLine
Index for the audio source line associated with the dwDestination member. That is, this member specifies the nth audio source line associated with the specified audio destination line. This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfo function. When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnections member for the audio destination line given in the dwDestination member.
iu32 LineID
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
iu32 LineFlags
Status and support flags for the audio line. This member is always returned to the application and requires no initialization.

x0000000 | MIXERLINE_LINEF_ACTIVE | Audio line is active. An active line indicates that a signal is probably passing through the line.
x00008000 | MIXERLINE_LINEF_DISCONNECTED | Audio line is disconnected. A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.
x80000000 | MIXERLINE_LINEF_SOURCE | Audio line is an audio source line associated with a single audio destination line. If this flag is not set, this line is an audio destination line associated with zero or more audio source lines.

If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set). If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set. A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active. If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.
iu32 CompType
Component type for this audio line. An application can use this information to display tailored graphics or to search for a particular component. If an application does not use component types, this member should be ignored. This member can be one of the following values:

Destination-Lines:
x0000 | MIXERLINE_COMPONENTTYPE_DST_UNDEFINED | Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x0001 | MIXERLINE_COMPONENTTYPE_DST_DIGITAL | Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
x0002 | MIXERLINE_COMPONENTTYPE_DST_LINE | Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
x0003 | MIXERLINE_COMPONENTTYPE_DST_MONITOR | Audio line is a destination used for a monitor.
x0004 | MIXERLINE_COMPONENTTYPE_DST_SPEAKERS | Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
x0005 | MIXERLINE_COMPONENTTYPE_DST_HEADPHONES | Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
x0006 | MIXERLINE_COMPONENTTYPE_DST_TELEPHONE | Audio line is a destination that will be routed to a telephone line.
x0007 | MIXERLINE_COMPONENTTYPE_DST_WAVEIN | Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
x0008 | MIXERLINE_COMPONENTTYPE_DST_VOICEIN | Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

Source-Lines:

x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1001 | MIXERLINE_COMPONENTTYPE_SRC_DIGITAL | Audio line is a digital source (for example, digital output from a DAT or audio CD).
x1002 | MIXERLINE_COMPONENTTYPE_SRC_LINE | Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
x1003 | MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE | Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1004 | MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER | Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer).
x1006 | MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE | Audio line is a source originating from an incoming telephone line. MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x1007 | MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER | Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
x1008 | MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT | Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x1009 | MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY | Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x100A | MIXERLINE_COMPONENTTYPE_SRC_ANALOG | Audio line is an analog source (for example, analog output from a video-cassette tape).
iu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
iu32 Connects
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
iu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
istr ShortNm
Short string that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a concise label for the line.
istr Name
String that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a complete description for the line.
icclst Target
Target media information.
iu32 Type
Target media device type associated with the audio line described in the MIXERLINE structure. An application must ignore target information for media device types it does not use. The following values are defined:

0 | MIXERLINE_TARGETTYPE_UNDEFINED | The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.
1 | MIXERLINE_TARGETTYPE_WAVEOUT | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
2 | MIXERLINE_TARGETTYPE_WAVEIN | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
3 | MIXERLINE_TARGETTYPE_MIDIOUT | The audio line described by the MIXERLINE structure is strictly bound to the MIDI output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
4 | MIXERLINE_TARGETTYPE_MIDIIN | The audio line described by the MIXERLINE structure is strictly bound to the MIDI input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
5 | MIXERLINE_TARGETTYPE_AUX | The audio line described by the MIXERLINE structure is strictly bound to the auxiliary device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
iu32 DeviceID
Current device identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the current media device index of the associated media device. When calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.
iu16 ManID
Manufacturer identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wMid member of the device-capabilities structure for the associated media.
iu16 ProdID
Product identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPid member of the device-capabilities structure for the associated media.
iu32 MMVers
Driver version of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersion member of the device-capabilities structure for the associated media.
istr ProdName
Product name of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This name is identical to the szPname member of the device-capabilities structure for the associated media.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixLineInfoSrc

Retrieves information about a specific source line connected to the given destination line of a mixer device.
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MIXERR_INVALLINEThe audio line reference is invalid.
· MMSYSERR_BADDEVICEIDThe hmxobj parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe hmxobj parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by hmxobj.

Connector Pane
audiomixlineinfosrcc

Controls and Indicators
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 DstLine(0)
cu32 SrcLine(0)
idlrn hAudioMix/dup
icclst SrcLineInfo
Describes the state and metrics of an audio line.
iu32 DstLine
Destination line index. This member ranges from zero to one less than the value specified in the DstLines member of the MIXERCAPS structure retrieved by the mixerGetDevCaps function. When the mixerGetLineInfo function is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned. (The SrcLine member must be set to zero in this case.) When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the SrcLine member that is associated with the DstLine member are returned.
iu32 SrcLine
Index for the audio source line associated with the dwDestination member. That is, this member specifies the nth audio source line associated with the specified audio destination line. This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfo function. When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnections member for the audio destination line given in the dwDestination member.
iu32 LineID
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
iu32 LineFlags
Status and support flags for the audio line. This member is always returned to the application and requires no initialization.

x00000001 | MIXERLINE_LINEF_ACTIVE | Audio line is active. An active line indicates that a signal is probably passing through the line.
x00008000 | MIXERLINE_LINEF_DISCONNECTED | Audio line is disconnected. A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.
x80000000 | MIXERLINE_LINEF_SOURCE | Audio line is an audio source line associated with a single audio destination line. If this flag is not set, this line is an audio destination line associated with zero or more audio source lines.

If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set). If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set. A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active. If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.
iu32 CompType
Component type for this audio line. An application can use this information to display tailored graphics or to search for a particular component. If an application does not use component types, this member should be ignored. This member can be one of the following values:

Destination-Lines:

x0000 | MIXERLINE_COMPONENTTYPE_DST_UNDEFINED | Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x0001 | MIXERLINE_COMPONENTTYPE_DST_DIGITAL | Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
x0002 | MIXERLINE_COMPONENTTYPE_DST_LINE | Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
x0003 | MIXERLINE_COMPONENTTYPE_DST_MONITOR | Audio line is a destination used for a monitor.
x0004 | MIXERLINE_COMPONENTTYPE_DST_SPEAKERS | Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
x0005 | MIXERLINE_COMPONENTTYPE_DST_HEADPHONES | Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
x0006 | MIXERLINE_COMPONENTTYPE_DST_TELEPHONE | Audio line is a destination that will be routed to a telephone line.
x0007 | MIXERLINE_COMPONENTTYPE_DST_WAVEIN | Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
x0008 | MIXERLINE_COMPONENTTYPE_DST_VOICEIN | Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

Source-Lines:

x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1001 | MIXERLINE_COMPONENTTYPE_SRC_DIGITAL | Audio line is a digital source (for example, digital output from a DAT or audio CD).
x1002 | MIXERLINE_COMPONENTTYPE_SRC_LINE | Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
x1003 | MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE | Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1004 | MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER | Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer).
x1006 | MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE | Audio line is a source originating from an incoming telephone line. MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x1007 | MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER | Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
x1008 | MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT | Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x1009 | MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY | Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x100A | MIXERLINE_COMPONENTTYPE_SRC_ANALOG | Audio line is an analog source (for example, analog output from a video-cassette tape).
iu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
iu32 Connects
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
iu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
istr ShortNm
Short string that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a concise label for the line.
istr Name
String that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a complete description for the line.
icclst Target
Target media information.
iu32 Type
Target media device type associated with the audio line described in the MIXERLINE structure. An application must ignore target information for media device types it does not use. The following values are defined:

0 = MIXERLINE_TARGETTYPE_UNDEFINED
The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.

1 = MIXERLINE_TARGETTYPE_WAVEOUT
The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.

2 = MIXERLINE_TARGETTYPE_WAVEIN
The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.

3 = MIXERLINE_TARGETTYPE_MIDIOUT
The audio line described by the MIXERLINE structure is strictly bound to the MIDI output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.

4 = MIXERLINE_TARGETTYPE_MIDIIN
The audio line described by the MIXERLINE structure is strictly bound to the MIDI input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.

5 = MIXERLINE_TARGETTYPE_AUX
The audio line described by the MIXERLINE structure is strictly bound to the auxiliary device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
iu32 DeviceID
Current device identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the current media device index of the associated media device. When calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.
iu16 ManID
Manufacturer identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wMid member of the device-capabilities structure for the associated media.
iu16 ProdID
Product identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPid member of the device-capabilities structure for the associated media.
iu32 MMVers
Driver version of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersion member of the device-capabilities structure for the associated media.
istr ProdName
Product name of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This name is identical to the szPname member of the device-capabilities structure for the associated media.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixObjCast

Casts different source Device-Id's/handle-types into a hMixObj needed by AudioMixOpen.

Connector Pane
audiomixobjcastc

Controls and Indicators
cdlrn hMixer
Internal mixer-handle, returned from AudioMixInfo. Set MixObjType to "hMixer" to cast this handle.
cu32 DeviceId(0)
DeviceId of a Mixer-, AudioOut-, AudioIn-, MidiOut-, MidiIn- or Aux-device.
Use MixObjType to set the appropriate id-type.
cenum MixObjType(MixerId)
Type of source to cast to a hMixObj.

MixerId | Casts DeviceId to hMixObj. DeviceId is an id from a mixer device.
AudioOutId | Casts DeviceId to hMixObj. DeviceId is an id from an audio output device.
AudioInId | Casts DeviceId to hMixObj. DeviceId is an id from an audio input device.
MidiOutId | Casts DeviceId to hMixObj. DeviceId is an id from a midi output device.
MidiInId | Casts DeviceId to hMixObj. DeviceId is an id from a midi input device.
AuxId | Casts DeviceId to hMixObj. DeviceId is an id from an aux device.
hAudioMix | Casts hMixer to hMixObj.
hAudioOut | Casts hAudioOut to hMixObj.
hAudioIn | Casts hAudioIn to hMixObj.
hAudioMidiOut | Not supported so far.
hAudioMidiIn | Not supported so far.

cdlrn hAudioIn
AudioIn-handle, returned from AudioInOpen. Set MixObjType to "hAudioIn" to cast this handle.
cdlrn hAudioOut
AudioOut-handle, returned from AudioOutOpen. Set MixObjType to "hAudioOut" to cast this handle.
idlrn hMixObj
Handle needed by AudioMixOpen.
ienum MixObjType/dup


AudioMixOpen

Opens a specified mixer device and ensures that the device will not be removed until the application closes the handle.

Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error values include the following:
· MMSYSERR_ALLOCATEDThe specified resource is already allocated by the maximum number of clients possible.
· MMSYSERR_BADDEVICEIDThe uMxId parameter specifies an invalid device identifier.
· MMSYSERR_INVALFLAGOne or more flags are invalid.
· MMSYSERR_INVALHANDLEThe uMxId parameter specifies an invalid handle.
· MMSYSERR_INVALPARAMOne or more parameters are invalid.
· MMSYSERR_NODRIVERNo mixer device is available for the object specified by uMxId. Note that the location referenced by uMxId will also contain the value - 1.
· MMSYSERR_NOMEMUnable to allocate resources.

Connector Pane
audiomixopenc

Controls and Indicators
cdlrn hMixObj
hMixObh returned from AudioMixObjCast.
cenum MixObjType(MixerId)
Type of source casted to the given hMixObj.
See AudioMixObjCast for more information.
cbool UseChgCnt(F)
TRUE:
Internally counts changes on mixer-lines and/or mixer-controls. Use AudioMixInfo to return the change-counter.
FALSE:
Does not count changes on lines/controls.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hAudioMix
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioMixShowWindow

Shows the mixer-callback background window.

If you select UseChgCnt=TRUE in the AudioMixOpen call, the driver creates a background window that allowes tracking the change counters. For debugging purposes you can show this, normally, hidden window with this function.

Connector Pane
audiomixshowwindowc

Controls and Indicators
cenum ShowCmd
cdlrn hAudioMix
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ibool OK?
idlrn hAudioMix/dup
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


BuildMixCtrlType

Used to build a mixer control type value out of its components (class, subclass, unit, lowword).

Connector Pane
buildmixctrltypec

Controls and Indicators
cu16 LowWord
c1du32 DefCtrlClass
c1du32 DefCtrlSubCl
c1du32 DefCtrlUnit
cenum CtrlUnit
cenum CtrlSubclass
cenum CtrlClass
c1du32 DefCtrlTypes
iu32 ControlType
Class of the control for which the identifier is specified in ControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
MIXERCONTROL_CONTROLTYPE_xxx building block defines

Classmask:
xF0000000
MIXERCONTROL_CT_CLASS_MASK

Classes:
x00000000 | MIXERCONTROL_CT_CLASS_CUSTOM
x10000000 | MIXERCONTROL_CT_CLASS_METER
x20000000 | MIXERCONTROL_CT_CLASS_SWITCH
x30000000 | MIXERCONTROL_CT_CLASS_NUMBER
x40000000 | MIXERCONTROL_CT_CLASS_SLIDER
x50000000 | MIXERCONTROL_CT_CLASS_FADER
x60000000 | MIXERCONTROL_CT_CLASS_TIME
x70000000 | MIXERCONTROL_CT_CLASS_LIST

Subclassmask
x0F000000
MIXERCONTROL_CT_SUBCLASS_MASK

Subclasses
x00000000 | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
x01000000 | MIXERCONTROL_CT_SC_SWITCH_BUTTON
x00000000 | MIXERCONTROL_CT_SC_METER_POLLED
x00000000 | MIXERCONTROL_CT_SC_TIME_MICROSECS
x01000000 | MIXERCONTROL_CT_SC_TIME_MILLISECS
x00000000 | MIXERCONTROL_CT_SC_LIST_SINGLE
x01000000 | MIXERCONTROL_CT_SC_LIST_MULTIPLE

Controlunitsmask
x00FF0000
MIXERCONTROL_CT_UNITS_MASK

Controlunits
x00000000 | MIXERCONTROL_CT_UNITS_CUSTOM |
x00010000 | MIXERCONTROL_CT_UNITS_BOOLEAN |
x00020000 | MIXERCONTROL_CT_UNITS_SIGNED |
x00030000 | MIXERCONTROL_CT_UNITS_UNSIGNED |
x00040000 | MIXERCONTROL_CT_UNITS_DECIBELS | // in 10ths
x00050000 | MIXERCONTROL_CT_UNITS_PERCENT | // in 10ths

Commonly used control types for specifying MIXERCONTROL.ControlType

Class: Custom
x00000000
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_UNITS_CUSTOM

Class: Meters
x10010000 | MIXERCONTROL_CONTROLTYPE_BOOLEANMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_BOOLEAN
x10020000 | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_SIGNED
x10020001 | MIXERCONTROL_CONTROLTYPE_PEAKMETER | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1
x10030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Switches
x20010000 | MIXERCONTROL_CONTROLTYPE_BOOLEAN | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BOOLEAN MIXERCONTROL_CT_UNITS_BOOLEAN
x20010001 | MIXERCONTROL_CONTROLTYPE_ONOFF | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1
x20010002 | MIXERCONTROL_CONTROLTYPE_MUTE | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2
x20010003 | MIXERCONTROL_CONTROLTYPE_MONO | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3
x20010004 | MIXERCONTROL_CONTROLTYPE_LOUDNESS | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4
x20010005 | MIXERCONTROL_CONTROLTYPE_STEREOENH | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5
x21010000 | MIXERCONTROL_CONTROLTYPE_BUTTON | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BUTTON MIXERCONTROL_CT_UNITS_BOOLEAN

Class: Numbers
x30020000 | MIXERCONTROL_CONTROLTYPE_SIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_SIGNED
x30030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_UNSIGNED
x30040000 | MIXERCONTROL_CONTROLTYPE_DECIBELS | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_DECIBELS
x30050000 | MIXERCONTROL_CONTROLTYPE_PERCENT | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_PERCENT

Class: Slider
x40020000 | MIXERCONTROL_CONTROLTYPE_SLIDER | MIXERCONTROL_CT_CLASS_SLIDER MIXERCONTROL_CT_UNITS_SIGNED
x40020001 | MIXERCONTROL_CONTROLTYPE_PAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 1
x40020002 | MIXERCONTROL_CONTROLTYPE_QSOUNDPAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 2

Class: Fader
x50030000 | MIXERCONTROL_CONTROLTYPE_FADER | MIXERCONTROL_CT_CLASS_FADER MIXERCONTROL_CT_UNITS_UNSIGNED
x50030001 | MIXERCONTROL_CONTROLTYPE_VOLUME | MIXERCONTROL_CONTROLTYPE_FADER + 1
x50030002 | MIXERCONTROL_CONTROLTYPE_BASS | MIXERCONTROL_CONTROLTYPE_FADER + 2
x50030003 | MIXERCONTROL_CONTROLTYPE_TREBLE | MIXERCONTROL_CONTROLTYPE_FADER + 3
x50030004 | MIXERCONTROL_CONTROLTYPE_EQUALIZER | MIXERCONTROL_CONTROLTYPE_FADER + 4

Class: Time
x60030000 | MIXERCONTROL_CONTROLTYPE_MICROTIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MICROSECS MIXERCONTROL_CT_UNITS_UNSIGNED
x61030000 | MIXERCONTROL_CONTROLTYPE_MILLITIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MILLISECS MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Lists
x70010000 | MIXERCONTROL_CONTROLTYPE_SINGLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_SINGLE MIXERCONTROL_CT_UNITS_BOOLEAN
x70010001 | MIXERCONTROL_CONTROLTYPE_MUX | MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1
x71010000 | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_MULTIPLE MIXERCONTROL_CT_UNITS_BOOLEAN
x71010001 | MIXERCONTROL_CONTROLTYPE_MIXER | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1

istr Typename
ienum CtrlTypeEnum
Enumeration type for standard mixer controls.


CrackMixCtrlInfo

Internally used only.

Connector Pane
crackmixctrlinfoc

Controls and Indicators
c1du8 CtrlInfo/raw
cu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
i1dtdef CtrlInfo
icclst CtrlInfo
Describes the state and metrics of a single control for an audio line.

To determine if the Minimum, Maximum and StepsSize members are appropriate for a control class, see "Control Types" earlier in this chapter.
The calling application does not need to initialize any members of this structure because the MIXERCONTROL structure is passed as a receiving buffer only.
iu32 ControlID
Audio mixer-defined identifier that uniquely refers to the control described by the MIXERCONTROL structure. This identifier can be in any format supported by the mixer device. An application should use this identifier only as an abstract handle. No two controls for a single mixer device can ever have the same control identifier.
iu32 ControlType
Class of the control for which the identifier is specified in ControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
MIXERCONTROL_CONTROLTYPE_xxx building block defines

Classmask:
xF0000000
MIXERCONTROL_CT_CLASS_MASK

Classes:
x00000000 | MIXERCONTROL_CT_CLASS_CUSTOM
x10000000 | MIXERCONTROL_CT_CLASS_METER
x20000000 | MIXERCONTROL_CT_CLASS_SWITCH
x30000000 | MIXERCONTROL_CT_CLASS_NUMBER
x40000000 | MIXERCONTROL_CT_CLASS_SLIDER
x50000000 | MIXERCONTROL_CT_CLASS_FADER
x60000000 | MIXERCONTROL_CT_CLASS_TIME
x70000000 | MIXERCONTROL_CT_CLASS_LIST

Subclassmask
x0F000000
MIXERCONTROL_CT_SUBCLASS_MASK

Subclasses
x00000000 | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
x01000000 | MIXERCONTROL_CT_SC_SWITCH_BUTTON
x00000000 | MIXERCONTROL_CT_SC_METER_POLLED
x00000000 | MIXERCONTROL_CT_SC_TIME_MICROSECS
x01000000 | MIXERCONTROL_CT_SC_TIME_MILLISECS
x00000000 | MIXERCONTROL_CT_SC_LIST_SINGLE
x01000000 | MIXERCONTROL_CT_SC_LIST_MULTIPLE

Controlunitsmask
x00FF0000
MIXERCONTROL_CT_UNITS_MASK

Controlunits
x00000000 | MIXERCONTROL_CT_UNITS_CUSTOM |
x00010000 | MIXERCONTROL_CT_UNITS_BOOLEAN |
x00020000 | MIXERCONTROL_CT_UNITS_SIGNED |
x00030000 | MIXERCONTROL_CT_UNITS_UNSIGNED |
x00040000 | MIXERCONTROL_CT_UNITS_DECIBELS | // in 10ths
x00050000 | MIXERCONTROL_CT_UNITS_PERCENT | // in 10ths

Commonly used control types for specifying MIXERCONTROL.ControlType

Class: Custom
x00000000
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_UNITS_CUSTOM

Class: Meters
x10010000 | MIXERCONTROL_CONTROLTYPE_BOOLEANMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_BOOLEAN
x10020000 | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_SIGNED
x10020001 | MIXERCONTROL_CONTROLTYPE_PEAKMETER | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1
x10030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Switches
x20010000 | MIXERCONTROL_CONTROLTYPE_BOOLEAN | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BOOLEAN MIXERCONTROL_CT_UNITS_BOOLEAN
x20010001 | MIXERCONTROL_CONTROLTYPE_ONOFF | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1
x20010002 | MIXERCONTROL_CONTROLTYPE_MUTE | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2
x20010003 | MIXERCONTROL_CONTROLTYPE_MONO | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3
x20010004 | MIXERCONTROL_CONTROLTYPE_LOUDNESS | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4
x20010005 | MIXERCONTROL_CONTROLTYPE_STEREOENH | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5
x21010000 | MIXERCONTROL_CONTROLTYPE_BUTTON | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BUTTON MIXERCONTROL_CT_UNITS_BOOLEAN

Class: Numbers
x30020000 | MIXERCONTROL_CONTROLTYPE_SIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_SIGNED
x30030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_UNSIGNED
x30040000 | MIXERCONTROL_CONTROLTYPE_DECIBELS | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_DECIBELS
x30050000 | MIXERCONTROL_CONTROLTYPE_PERCENT | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_PERCENT

Class: Slider
x40020000 | MIXERCONTROL_CONTROLTYPE_SLIDER | MIXERCONTROL_CT_CLASS_SLIDER MIXERCONTROL_CT_UNITS_SIGNED
x40020001 | MIXERCONTROL_CONTROLTYPE_PAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 1
x40020002 | MIXERCONTROL_CONTROLTYPE_QSOUNDPAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 2

Class: Fader
x50030000 | MIXERCONTROL_CONTROLTYPE_FADER | MIXERCONTROL_CT_CLASS_FADER MIXERCONTROL_CT_UNITS_UNSIGNED
x50030001 | MIXERCONTROL_CONTROLTYPE_VOLUME | MIXERCONTROL_CONTROLTYPE_FADER + 1
x50030002 | MIXERCONTROL_CONTROLTYPE_BASS | MIXERCONTROL_CONTROLTYPE_FADER + 2
x50030003 | MIXERCONTROL_CONTROLTYPE_TREBLE | MIXERCONTROL_CONTROLTYPE_FADER + 3
x50030004 | MIXERCONTROL_CONTROLTYPE_EQUALIZER | MIXERCONTROL_CONTROLTYPE_FADER + 4

Class: Time
x60030000 | MIXERCONTROL_CONTROLTYPE_MICROTIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MICROSECS MIXERCONTROL_CT_UNITS_UNSIGNED
x61030000 | MIXERCONTROL_CONTROLTYPE_MILLITIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MILLISECS MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Lists
x70010000 | MIXERCONTROL_CONTROLTYPE_SINGLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_SINGLE MIXERCONTROL_CT_UNITS_BOOLEAN
x70010001 | MIXERCONTROL_CONTROLTYPE_MUX | MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1
x71010000 | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_MULTIPLE MIXERCONTROL_CT_UNITS_BOOLEAN
x71010001 | MIXERCONTROL_CONTROLTYPE_MIXER | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1
iu32 ControlFlag
Status and support flags for the audio line control. The following values are defined:

x80000000 | MIXERCONTROL_CONTROLF_DISABLED | The control is disabled, perhaps due to other settings for the mixer hardware, and cannot be used. An application can read current settings from a disabled control, but it cannot apply settings.
x00000001 | MIXERCONTROL_CONTROLF_UNIFORM | The control acts on all channels of a multichannel line in a uniform fashion. For example, a control that mutes both channels of a stereo line would set this flag. Most MIXERCONTROL_CONTROLTYPE_MUX and MIXERCONTROL_CONTROLTYPE_MIXER controls also specify the MIXERCONTROL_CONTROLF_UNIFORM flag.
x00000002 | MIXERCONTROL_CONTROLF_MULTIPLE | The control has two or more settings per channel. An equalizer, for example, requires this flag because each frequency band can be set to a different value. An equalizer that affects both channels of a stereo line in a uniform fashion will also specify the MIXERCONTROL_CONTROLF_UNIFORM flag
.
iu32 MultItems
Number of items per channel that make up a MIXERCONTROL_CONTROLF_MULTIPLE control. This number is always two or greater for multiple-item controls. If the control is not a multiple-item control, do not use this member; it will be zero.
istr ShortNm
Short string that describes the audio line control specified by ControlID. This description should be appropriate to use as a concise label for the control.
istr Name
String that describes the audio line control specified by ControlID. This description should be appropriate to use as a complete description for the control.
ii32 Minimum
Minimum value for the control.
ii32 Maximum
Maximum value for the control.
iu32 StepsSize
IF NOT MIXERCONTROL_CONTROLTYPE_CUSTOM:
Number of discrete ranges within the union specified for a control specified by the Minimum/Maximum members.

IF MIXERCONTROL_CONTROLTYPE_CUSTOM:
Size, in bytes, required to contain the state of a custom control class. This member is appropriate only for the MIXERCONTROL_CONTROLTYPE_CUSTOM control class only.


CrackMixCtrlType

Cracks a mixer control type value into its components.

Connector Pane
crackmixctrltypec

Controls and Indicators
cu32 ControlType
Class of the control for which the identifier is specified in ControlID. An application must use this information to display the appropriate control for input from the user. An application can also display tailored graphics based on the control class or search for a particular control class on a specific line. If an application does not know about a control class, this control must be ignored. There are eight control class classifications, each with one or more standard control types:
MIXERCONTROL_CONTROLTYPE_xxx building block defines

Classmask:
xF0000000
MIXERCONTROL_CT_CLASS_MASK

Classes:
x00000000 | MIXERCONTROL_CT_CLASS_CUSTOM
x10000000 | MIXERCONTROL_CT_CLASS_METER
x20000000 | MIXERCONTROL_CT_CLASS_SWITCH
x30000000 | MIXERCONTROL_CT_CLASS_NUMBER
x40000000 | MIXERCONTROL_CT_CLASS_SLIDER
x50000000 | MIXERCONTROL_CT_CLASS_FADER
x60000000 | MIXERCONTROL_CT_CLASS_TIME
x70000000 | MIXERCONTROL_CT_CLASS_LIST

Subclassmask
x0F000000
MIXERCONTROL_CT_SUBCLASS_MASK

Subclasses
x00000000 | MIXERCONTROL_CT_SC_SWITCH_BOOLEAN
x01000000 | MIXERCONTROL_CT_SC_SWITCH_BUTTON
x00000000 | MIXERCONTROL_CT_SC_METER_POLLED
x00000000 | MIXERCONTROL_CT_SC_TIME_MICROSECS
x01000000 | MIXERCONTROL_CT_SC_TIME_MILLISECS
x00000000 | MIXERCONTROL_CT_SC_LIST_SINGLE
x01000000 | MIXERCONTROL_CT_SC_LIST_MULTIPLE

Controlunitsmask
x00FF0000
MIXERCONTROL_CT_UNITS_MASK

Controlunits
x00000000 | MIXERCONTROL_CT_UNITS_CUSTOM |
x00010000 | MIXERCONTROL_CT_UNITS_BOOLEAN |
x00020000 | MIXERCONTROL_CT_UNITS_SIGNED |
x00030000 | MIXERCONTROL_CT_UNITS_UNSIGNED |
x00040000 | MIXERCONTROL_CT_UNITS_DECIBELS | // in 10ths
x00050000 | MIXERCONTROL_CT_UNITS_PERCENT | // in 10ths

Commonly used control types for specifying MIXERCONTROL.ControlType

Class: Custom
x00000000
MIXERCONTROL_CONTROLTYPE_CUSTOM
MIXERCONTROL_CT_CLASS_CUSTOM
MIXERCONTROL_CT_UNITS_CUSTOM

Class: Meters
x10010000 | MIXERCONTROL_CONTROLTYPE_BOOLEANMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_BOOLEAN
x10020000 | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_SIGNED
x10020001 | MIXERCONTROL_CONTROLTYPE_PEAKMETER | MIXERCONTROL_CONTROLTYPE_SIGNEDMETER + 1
x10030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER | MIXERCONTROL_CT_CLASS_METER MIXERCONTROL_CT_SC_METER_POLLED MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Switches
x20010000 | MIXERCONTROL_CONTROLTYPE_BOOLEAN | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BOOLEAN MIXERCONTROL_CT_UNITS_BOOLEAN
x20010001 | MIXERCONTROL_CONTROLTYPE_ONOFF | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1
x20010002 | MIXERCONTROL_CONTROLTYPE_MUTE | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2
x20010003 | MIXERCONTROL_CONTROLTYPE_MONO | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3
x20010004 | MIXERCONTROL_CONTROLTYPE_LOUDNESS | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4
x20010005 | MIXERCONTROL_CONTROLTYPE_STEREOENH | MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5
x21010000 | MIXERCONTROL_CONTROLTYPE_BUTTON | MIXERCONTROL_CT_CLASS_SWITCH MIXERCONTROL_CT_SC_SWITCH_BUTTON MIXERCONTROL_CT_UNITS_BOOLEAN

Class: Numbers
x30020000 | MIXERCONTROL_CONTROLTYPE_SIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_SIGNED
x30030000 | MIXERCONTROL_CONTROLTYPE_UNSIGNED | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_UNSIGNED
x30040000 | MIXERCONTROL_CONTROLTYPE_DECIBELS | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_DECIBELS
x30050000 | MIXERCONTROL_CONTROLTYPE_PERCENT | MIXERCONTROL_CT_CLASS_NUMBER MIXERCONTROL_CT_UNITS_PERCENT

Class: Slider
x40020000 | MIXERCONTROL_CONTROLTYPE_SLIDER | MIXERCONTROL_CT_CLASS_SLIDER MIXERCONTROL_CT_UNITS_SIGNED
x40020001 | MIXERCONTROL_CONTROLTYPE_PAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 1
x40020002 | MIXERCONTROL_CONTROLTYPE_QSOUNDPAN | MIXERCONTROL_CONTROLTYPE_SLIDER + 2

Class: Fader
x50030000 | MIXERCONTROL_CONTROLTYPE_FADER | MIXERCONTROL_CT_CLASS_FADER MIXERCONTROL_CT_UNITS_UNSIGNED
x50030001 | MIXERCONTROL_CONTROLTYPE_VOLUME | MIXERCONTROL_CONTROLTYPE_FADER + 1
x50030002 | MIXERCONTROL_CONTROLTYPE_BASS | MIXERCONTROL_CONTROLTYPE_FADER + 2
x50030003 | MIXERCONTROL_CONTROLTYPE_TREBLE | MIXERCONTROL_CONTROLTYPE_FADER + 3
x50030004 | MIXERCONTROL_CONTROLTYPE_EQUALIZER | MIXERCONTROL_CONTROLTYPE_FADER + 4

Class: Time
x60030000 | MIXERCONTROL_CONTROLTYPE_MICROTIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MICROSECS MIXERCONTROL_CT_UNITS_UNSIGNED
x61030000 | MIXERCONTROL_CONTROLTYPE_MILLITIME | MIXERCONTROL_CT_CLASS_TIME MIXERCONTROL_CT_SC_TIME_MILLISECS MIXERCONTROL_CT_UNITS_UNSIGNED

Class: Lists
x70010000 | MIXERCONTROL_CONTROLTYPE_SINGLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_SINGLE MIXERCONTROL_CT_UNITS_BOOLEAN
x70010001 | MIXERCONTROL_CONTROLTYPE_MUX | MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1
x71010000 | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT | MIXERCONTROL_CT_CLASS_LIST MIXERCONTROL_CT_SC_LIST_MULTIPLE MIXERCONTROL_CT_UNITS_BOOLEAN
x71010001 | MIXERCONTROL_CONTROLTYPE_MIXER | MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1

c1du32 DefCtrlTypes
ienum Class
ienum Subclass
ienum ControlUnit
iu16 LowWord
istr Typename
ienum CtrlTypeEnum
Enumeration type for standard mixer controls.


CrackMixLineInfo

Connector Pane
crackmixlineinfoc

Controls and Indicators
c1du8 LineInfo/raw
icclst LineInfo
Describes the state and metrics of an audio line.
iu32 DstLine
Destination line index. This member ranges from zero to one less than the value specified in the DstLines member of the MIXERCAPS structure retrieved by the mixerGetDevCaps function. When the mixerGetLineInfo function is called with the MIXER_GETLINEINFOF_DESTINATION flag, properties for the destination line are returned. (The SrcLine member must be set to zero in this case.) When called with the MIXER_GETLINEINFOF_SOURCE flag, the properties for the source given by the SrcLine member that is associated with the DstLine member are returned.
iu32 SrcLine
Index for the audio source line associated with the dwDestination member. That is, this member specifies the nth audio source line associated with the specified audio destination line. This member is not used for destination lines and must be set to zero when MIXER_GETLINEINFOF_DESTINATION is specified in the mixerGetLineInfo function. When the MIXER_GETLINEINFOF_SOURCE flag is specified, this member ranges from zero to one less than the value specified in the cConnections member for the audio destination line given in the dwDestination member.
iu32 LineID
An identifier defined by the mixer device that uniquely refers to the audio line described by the MIXERLINE structure. This identifier is unique for each mixer device and can be in any format. An application should use this identifier only as an abstract handle.
iu32 LineFlags
Status and support flags for the audio line. This member is always returned to the application and requires no initialization.

x00000001 | MIXERLINE_LINEF_ACTIVE | Audio line is active. An active line indicates that a signal is probably passing through the line.
x00008000 | MIXERLINE_LINEF_DISCONNECTED | Audio line is disconnected. A disconnected line's associated controls can still be modified, but the changes have no effect until the line is connected.
x80000000 | MIXERLINE_LINEF_SOURCE | Audio line is an audio source line associated with a single audio destination line. If this flag is not set, this line is an audio destination line associated with zero or more audio source lines. If an application is not using a waveform-audio output device, the audio line associated with that device would not be active (that is, the MIXERLINE_LINEF_ACTIVE flag would not be set). If the waveform-audio output device is opened, then the audio line is considered active and the MIXERLINE_LINEF_ACTIVE flag will be set. A paused or starved waveform-audio output device is still considered active. In other words, if the waveform-audio output device is opened by an application regardless of whether data is being played, the associated audio line is considered active. If a line cannot be strictly defined as active, the mixer device will always set the MIXERLINE_LINEF_ACTIVE flag.
iu32 CompType
Component type for this audio line. An application can use this information to display tailored graphics or to search for a particular component. If an application does not use component types, this member should be ignored. This member can be one of the following values:

Destination-Lines:

x0000 | MIXERLINE_COMPONENTTYPE_DST_UNDEFINED | Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x0001 | MIXERLINE_COMPONENTTYPE_DST_DIGITAL | Audio line is a digital destination (for example, digital input to a DAT or CD audio device).
x0002 | MIXERLINE_COMPONENTTYPE_DST_LINE | Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type.
x0003 | MIXERLINE_COMPONENTTYPE_DST_MONITOR | Audio line is a destination used for a monitor.
x0004 | MIXERLINE_COMPONENTTYPE_DST_SPEAKERS | Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers.
x0005 | MIXERLINE_COMPONENTTYPE_DST_HEADPHONES | Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type.
x0006 | MIXERLINE_COMPONENTTYPE_DST_TELEPHONE | Audio line is a destination that will be routed to a telephone line.
x0007 | MIXERLINE_COMPONENTTYPE_DST_WAVEIN | Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers.
x0008 | MIXERLINE_COMPONENTTYPE_DST_VOICEIN | Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN.

Source-Lines:

x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1001 | MIXERLINE_COMPONENTTYPE_SRC_DIGITAL | Audio line is a digital source (for example, digital output from a DAT or audio CD).
x1002 | MIXERLINE_COMPONENTTYPE_SRC_LINE | Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type.
x1003 | MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE | Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type.
x1005 | MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC | Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD).
x1004 | MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER | Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer).
x1006 | MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE | Audio line is a source originating from an incoming telephone line. MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation.
x1007 | MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER | Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source.
x1008 | MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT | Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x1009 | MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY | Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination.
x100A | MIXERLINE_COMPONENTTYPE_SRC_ANALOG | Audio line is an analog source (for example, analog output from a video-cassette tape).
iu32 Channels
Maximum number of separate channels that can be manipulated independently for the audio line. The minimum value for this field is 1 because a line must have at least one channel. Most modern audio cards for personal computers are stereo devices; for them, the value of this member is 2.
Channel 1 is assumed to be the left channel; channel 2 is assumed to be the right channel. A multichannel line might have one or more uniform controls (controls that affect all channels of a line uniformly) associated with it.
iu32 Connects
Number of connections that are associated with the audio line. This member is used only for audio destination lines and specifies the number of audio source lines that are associated with it. This member is always zero for source lines and for destination lines that do not have any audio source lines associated with them.
iu32 Controls
Number of controls associated with the audio line. This value can be zero. If no controls are associated with the line, the line is likely to be a source that might be selected in a MIXERCONTROL_CONTROLTYPE_MUX or MIXERCONTROL_CONTROLTYPE_MIXER but allows no manipulation of the signal.
istr ShortNm
Short string that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a concise label for the line.
istr Name
String that describes the audio mixer line specified in the dwLineID member. This description should be appropriate as a complete description for the line.
icclst Target
Target media information.
iu32 Type
Target media device type associated with the audio line described in the MIXERLINE structure. An application must ignore target information for media device types it does not use. The following values are defined:

0 | MIXERLINE_TARGETTYPE_UNDEFINED | The audio line described by the MIXERLINE structure is not strictly bound to a defined media type. All remaining Target structure members of the MIXERLINE structure should be ignored. An application cannot use the MIXERLINE_TARGETTYPE_UNDEFINED target type when calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag.
1 | MIXERLINE_TARGETTYPE_WAVEOUT | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
2 | MIXERLINE_TARGETTYPE_WAVEIN | The audio line described by the MIXERLINE structure is strictly bound to the waveform-audio input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
3 | MIXERLINE_TARGETTYPE_MIDIOUT | The audio line described by the MIXERLINE structure is strictly bound to the MIDI output device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
4 | MIXERLINE_TARGETTYPE_MIDIIN | The audio line described by the MIXERLINE structure is strictly bound to the MIDI input device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
5 | MIXERLINE_TARGETTYPE_AUX | The audio line described by the MIXERLINE structure is strictly bound to the auxiliary device detailed in the remaining members of the Target structure member of the MIXERLINE structure.
iu32 DeviceID
Current device identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the current media device index of the associated media device. When calling the mixerGetLineInfo function with the MIXER_GETLINEINFOF_TARGETTYPE flag, this member is ignored on input and will be returned to the caller by the audio mixer manager.
iu16 ManID
Manufacturer identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wMid member of the device-capabilities structure for the associated media.
iu16 ProdID
Product identifier of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This identifier is identical to the wPid member of the device-capabilities structure for the associated media.
iu32 MMVers
Driver version of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This version is identical to the vDriverVersion member of the device-capabilities structure for the associated media.
istr ProdName
Product name of the target media device when the dwType member is a target type other than MIXERLINE_TARGETTYPE_UNDEFINED. This name is identical to the szPname member of the device-capabilities structure for the associated media.


AudioOutBreakLoop

Breaks a file- or buffer-playback-loop (See AudioOutBuf, AudioOutBufRaw or AudioOutFile).

NOTE:
The blocks making up the loop are played to the end before the loop is terminated.
Calling this function has no effect when nothing is playing or looping.

Connector Pane
audiooutbreakloopc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutBuffer-raw

Builds an output-buffer by copiing the 'Buffer' contents into a data-block. The data-block is added to the end of the block-queue which is made of previously added blocks and will be played if all previous buffers have been done.
The function will fail if you are currently playing a file (see AudioOutFile).
If not using the wait-logic (see 'WaitMS') the function returns immediatly after adding the block.
The functions allows defining playback-loops made of one or more blocks of data by using 'LoopMode' and 'LoopCnt' parameters. Loops are useful for repeatedly playing the same buffer(s) more than once.
Looping a single buffer is easily done using 'LoopMode' LM_BegEnd (BufLoop) and setting 'LoopCnt' to a value greater than one. To create a loop made of two or more buffers you use 'LoopMode' LM_Begin (BegLoop) and a 'LoopCnt' greater than one to mark the first buffer of the loop. Afterwards you add as many buffers as needed (including zero) using 'LoopMode' LM_Add (AddBuf). Then you add a last buffer using 'LoopMode' LM_End (EndLoop) to mark the end of the loop.
It is not allowed to define loops in loops. That means if you opened a loop using 'LoopMode' LM_Begin (BegLoop) without closing it using 'LoopMode' LM_End (EndLoop), LM_Begin (BegLoop) and LM_BegEnd (BufLoop) are ignored and work like LM_add (AddBuf).

NOTE:
The buffercontents MUST match the currently used format (Set by AudioOutOpen)

Connector Pane
audiooutbuffer-rawc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cstr Buffer
Data to be output.

NOTE:
The buffercontents MUST match the currently used format (Set by AudioOutOpen)
cu32 LoopCnt(0)
No. of times a loop should run.

For loopmodes BegLoop and BufLoop the value must be greater than one, for all other loopmodes the parameter is ignored.
cenum LoopMode(Add)
Sets the loopmode for this buffer.

The loopmodes BegLoop and BufLoop will be treated as loopmode AddBuf if 'LoopCnt' is not greater than one.

Following modes are defined:
AddBuf | If a loop has been previously started using loopmode BegLoop the buffer will be added as part of this loop, otherwise the buffer is added to be played once.
BegLoop | If a loop has been previously started using loopmode BegLoop the buffer will be used as described in loopmode ddBuf, otherwise the buffer is marked as first buffer of a loop.
EndLoop | If a loop has been previously started using loopmode BegLoop the buffer is marked as the last buffer of the loop therwise the buffer is used as described in loopmode AddBuf.
BufLoop | If a loop has been previously started using loopmode BegLoop the buffer will be used as described in loopmode AddBuf, otherwise the buffer is marked as first and last buffer of a loop. This means, the loop is built on this single buffer.

cu32 WaitMS(0)
Setting this parameter to a value greater than zero the function waits until a previously added buffer has been done (played and freed), but nomore then 'WaitMS' milliseconds.
The parameter is ignored if there are less than three pending buffers or a running playback-loop is not within its last cycle.

NOTE:
Because this function returns immediatly after copiing the buffer contents to be played in the background, an application is able to add many more data-buffers as they could be played (and freed). This could lead to a great consumption of memory.
Setting the 'WaitMS' paramter to a value greater than zero helps to avoid this, because the driver now waits until a previous buffer has been freed.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutBuffer

Builds an output-buffer by copiing and, if necessary, reformating the channel-data into one data-block. The data-block is added to the end of the block-queue which is made of previously added blocks and will be played if all previous buffers have been done.
The function will fail if you are currently playing a file (see AudioOutFile).
If not using the wait-logic (see 'WaitMS') the function returns immediatly after adding the block.
The functions allows defining playback-loops made of one or more blocks of data by using 'LoopMode' and 'LoopCnt' parameters. Loops are useful for repeatedly playing the same buffer(s) more than once.
Looping a single buffer is easily done using 'LoopMode' LM_BegEnd (BufLoop) and setting 'LoopCnt' to a value greater than one. To create a loop made of two or more buffers you use 'LoopMode' LM_Begin (BegLoop) and a 'LoopCnt' greater than one to mark the first buffer of the loop. Afterwards you add as many buffers as needed (including zero) using 'LoopMode' LM_Add (AddBuf). Then you add a last buffer using 'LoopMode' LM_End (EndLoop) to mark the end of the loop.
It is not allowed to define loops in loops. That means if you opened a loop using 'LoopMode' LM_Begin (BegLoop) without closing it using 'LoopMode' LM_End (EndLoop), LM_Begin (BegLoop) and LM_BegEnd (BufLoop) are ignored and work like LM_add (AddBuf).

NOTE:
Independantly of 8-BIT or 16-BIT formats, the channel-data should always be in the range -32768 .. 32767. Formatconversions to 8-BIT will be done internally if necessary.

Connector Pane
audiooutbufferc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
c1di16 Channel1
Data to be output on channel 1 (left channel). Use this parameter for monaural (mono) formats too.

NOTE:
Independantly of 8-BIT or 16-BIT formats, the data should always be in the range -32768 .. 32767. Formatconversions to 8-BIT will be done internally if necessary.
ci16
c1di16 Channel2
Data to be output on channel 2 (right channel).
Use this parameter for stereo formats only. For monaural (mono) formats this parameter.

NOTE:
Independantly of 8-BIT or 16-BIT formats, the data should always be in the range -32768 .. 32767. Formatconversions to 8-BIT will be done internally if necessary.
ci16
cu32 WaitMS(0)
Setting this parameter to a value greater than zero, the function will wait up to 'WaitMS' milliseconds until a previously added buffer has been done (played and freed).
The parameter is ignored if there are less than three pending buffers or a running playback-loop is not within its last cycle.

NOTE:
Because this function returns immediatly after copiing the buffer contents to be played in the background, an application is able to add many more data-buffers as they could be played (and freed). This could lead to a great consumption of memory.
Setting the 'WaitMS' parameter to a value greater than zero helps to avoid this, because the driver now waits until a previous buffer has been freed.
cu32 LoopCnt(0)
No. of times a loop should run.

For loopmodes BegLoop and BufLoop the value must be greater than one, for all other loopmodes the parameter is ignored.
cenum LoopMode(Add)
Sets the loopmode for this buffer.

The loopmodes BegLoop and BufLoop will be treated as loopmode AddBuf if 'LoopCnt' is not greater than one.

Following modes are defined:
AddBuf | If a loop has been previously started using loopmode BegLoop the buffer will be added as part of this loop, otherwise the buffer is added to be played once.
BegLoop | If a loop has been previously started using loopmode BegLoop the buffer will be used as described in loopmode ddBuf, otherwise the buffer is marked as first buffer of a loop.
EndLoop | If a loop has been previously started using loopmode BegLoop the buffer is marked as the last buffer of the loop therwise the buffer is used as described in loopmode AddBuf.
BufLoop | If a loop has been previously started using loopmode BegLoop the buffer will be used as described in loopmode AddBuf, otherwise the buffer is marked as first and last buffer of a loop. This means, the loop is built on this single buffer.

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutCapabilities

Retrieves the capabilities of a given audio output device.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error include the following:
· MMSYSERR_BADDEVICEID Specified 'DeviceId' is out of range.
· MMSYSERR_NODRIVER No device driver is present.

Connector Pane
audiooutcapabilitiesc

Controls and Indicators
ci32 Device/in(0)
Identifier of the audio output device.

Valid identifieres range from 0 to one less than waveform-audio output devices are present in the system (Use AudioOutDevices to retrieve the no. of output-devices).
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
ii32 Device/out
Duplicated DeviceId.
icclst AudioOutCaps
Describes the capabilities of a waveform-audio output device.
iu16 ManID
Manufacturer identifier for the device driver for the output audio device. The following identifier is defined:
MM_MICROSOFT=1
Drivers developed by Microsoft Corporation.
iu16 ProdID
Product identifier for the output audio device.
iu32 MMVers
Version number of the device driver for the output audio device. The high-order byte is the major version number, and the low-order byte is the minor version number.
istr ProdName
Product name.
iu32 Formats
Standard formats that are supported. Can be a combination of the following:

x0000 | WAVE_INVALIDFORMAT |
x0001 | WAVE_FORMAT_1M0811.025 kHz | mono, 8-bit
x0002 | WAVE_FORMAT_1S0811.025 kHz | stereo, 8-bit
x0004 | WAVE_FORMAT_1M1611.025 kHz | mono, 16-bit
x0008 | WAVE_FORMAT_1S1611.025 kHz | stereo, 16-bit
x0010 | WAVE_FORMAT_2M0822.05 kHz | mono, 8-bit
x0020 | WAVE_FORMAT_2S0822.05 kHz | stereo, 8-bit
x0040 | WAVE_FORMAT_2M1622.05 kHz | mono, 16-bit
x0080 | WAVE_FORMAT_2S1622.05 kHz | stereo, 16-bit
x0100 | WAVE_FORMAT_4M0844.1 kHz | mono, 8-bit
x0200 | WAVE_FORMAT_4S0844.1 kHz | stereo, 8-bit
x0400 | WAVE_FORMAT_4M1644.1 kHz | mono, 16-bit
x0800 | WAVE_FORMAT_4S1644.1 kHz | stereo, 16-bit
iu16 Chnls
Number specifying whether the device supports mono (1) or stereo (2) input.
iu32 Support
Optional functionality supported by the device. The following values are defined:

x0001=WAVECAPS_PITCH
Supports pitch control.

x0002=WAVECAPS_PLAYBACKRATE
Supports playback rate control.

x0004=WAVECAPS_VOLUME
Supports volume control.

x0008=WAVECAPS_LRVOLUME
Supports separate left and right volume control.

x0010=WAVECAPS_SYNC
The driver is synchronous and will block while playing a buffer.

x0020=WAVECAPS_SAMPLEACCURATE
Returns sample-accurate position information.

x0040=WAVECAPS_DIRECTSOUND

If a device supports volume changes, the WAVECAPS_VOLUME flag will be set for the Support member. If a device supports separate volume changes on the left and right channels, both the WAVECAPS_VOLUME and the WAVECAPS_LRVOLUME flags will be set for this member.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutClose

Closes an opened audio output device and frees any allocated buffers for this device. After closing the 'hAudioOut' handle is no longer valid.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

Connector Pane
audiooutclosec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutDevices

Retrieves the number of audio output devices present in the system.
Returns the number of devices. A return value of zero means that no devices are present or that an error occurred.

Connector Pane
audiooutdevicesc

Controls and Indicators
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
iu32 Devices
No. of available audio output devices.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.
Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutErrorText

Retrieves a textual description of the error identified by the given error number.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
MMSYSERR_BADERRNUM Specified error number is out of range.
MMSYSERR_NODRIVER No device driver is present.

Connector Pane
audioouterrortextc

Controls and Indicators
cu32 ErrCode/in
Error value from a previous AudioOut... function call.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
iu32 ErrCode/out
Duplicated errorvalue.
istr ErrorText
Retrieved Errortext.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutFile

The function allowes playing a file in the background.

The function will fail if the WaveFormat of the file does not match the format used in AudioOutOpen.

Setting 'LoopCnt' to a value greater than one, the file will be repeatedly played 'LoopCnt' times.
In contrast to the utility functions that allow playing files, this function does NOT read the file in its entirety into memory but reads small blocks, one after another, from the file for playback. This spares resources and allowes playing files which do not fit into memory. The 'BlockMS' parameter allowes to estimate the block-size in a format independant manner. While a file should be broken into blocks of the same size, it is sometimes necessary to internally adjust the 'BlockMS' parameter accordingly.

Connector Pane
audiooutfilec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cpath Filename
Name of file to be played.

MUST not be an empty filename.
cu32 BlockMS(0=def)
Defines the blocksize the file is splitted into while playing.
Use zero to use a default blocksize (about 250 ms).

NOTE:
If the file is shorter than two blocks the filedata will be read into a single block and added using 'AudioOutBufRaw' using 'LoopMode' LM_BegEnd (BufLoop) if necessary.
cu32 LoopCnt(0)
No. of times the file should be played.
The value must be greater than one if the file should loop.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutGetPBRate

Retrieves the current playback rate for the specified audio output device.
Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.
· MMSYSERR_NOTSUPPORTED Function isn't supported.

NOTE:
Changing the playback rate does not change the sample rate but does change the playback time. Not all devices support playback rate changes. To determine whether a device supports playback rate changes, use the WAVECAPS_PLAYBACKRATE flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function).

Connector Pane
audiooutgetpbratec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
idbl PlaybackRate
Variable to be filled with the current playback rate. The playback rate setting is a multiplier indicating the current change in playback rate from the original authored setting. The playback rate multiplier must be a positive value.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutGetPitch

Retrieves the current pitch setting for the specified audio output device.
Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NOTSUPPORTED Function isn't supported.

NOTE:
Changing the pitch does not change the playback rate, sample rate, or playback time. Not all devices support pitch changes. To determine whether the device supports pitch control, use the WAVECAPS_PITCH flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function).

Connector Pane
audiooutgetpitchc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
idbl Pitch
Variable to be filled with the current pitch multiplier setting. The pitch multiplier indicates the current change in pitch from the original authored setting. The pitch multiplier must be a positive value.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutGetVolume

Retrieves the current volume level of the specified audio output device.
Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· MMSYSERR_NOTSUPPORTED Function isn't supported.

To determine whether the device supports left- and right-channel volume control, use the WAVECAPS_LRVOLUME flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by AudioOutCapabilities).
Volume settings are interpreted logarithmically. This means the perceived increase in volume is the same when increasing the volume level from 0x5000 to 0x6000 as it is from 0x4000 to 0x5000.

Connector Pane
audiooutgetvolumec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
iu16 LVolume
Returns the current volumelevel of the left-channel or, if the device does not suppert separate left- right-volumelevels the mono-volumelevel.
A value of 65535 represents full volume, and a value of 0 is silence.
iu16 RVolume
Returns the current volumelevel of the right-channel or zero, if the device does not suppert separate left- right-volumelevels.
A value of 65535 represents full volume, and a value of 0 is silence.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutInfo

Returns information for the specified output device.

Connector Pane

Controls and Indicators

hAudioOut
Handle to an opened audio output device.
Use AudioOutOpen to get this handle.
error in
The error in cluster can accept error information wired from VIs
previously called.
status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark)
for no error or a warning.
code
The code input identifies the error (status=true) or a warning.
source
The source string describes the origin of the error or warning.
hAudioOut/dup
Duplicated handle.
AudioOutInfo
Type for informations on Audio Output devices.
State
Audio-output state.
Closed : Device is closed.
Stopped: Device open but nothing is playing
Started : Audio-playing
Paused : Audio-playing paused
FilePlay
TRUE if Fileplaying is on.

WaveFormat
Waveformat to be used.
Following formats are currently available:
No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO
NOTE:
Not all soundcards allow all available formats. Especially 8 kHz
and 48 kHz non standard formats are often not supported.

Channels
No. of Channels.
1: Monaural (Mono)
2: Stereo
SampleBytes
Bytes per Sample.
Frequency
Playing frequency in samples/sec
BegLoop
TRUE = we have BegLoop without EndLoop
FileLoop
File-playing: No. of Loops to do.
BufLoop
Buffer-playing:
0=No buffers loop
1=Last loop
>1 = more than 1 loops to do
AllPlayed
No. of samples continously played so far.
AllToPlay
No. of samples waiting to be played (not counting loops).
BlockCnt
No. of blocks waiting to be played.
hWaveOut
Sytemhandle of this waveform-audio-output-device.
DeviceId
Audio-output-device-Id.
AudioOutPos
Currently playing samplenumber of output device.

error out
The error out cluster passes error or warning information out
of a VI to be used by other VIs.
status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark)
for no error or a warning.
code
The code output identifies the error or warning.
Use error translation vi's and additional information for error
interpretation.
source
The source string describes the origin of the error or warning.


AudioOutInfoEx

Returns information for the specified output device. Includes an extended audio format descriptor.

Connector Pane
audiooutinfoexc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst AudioOutInfo
Type for informations on Audio Output devices.
ienum State
Audio-output state.

Closed | Device is closed.
Stopped | Device open but nothing is playing
Started | Audio-playing
Paused | Audio-playing paused
ibool FilePlay
TRUE if Fileplaying is on.
ienum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
iu32 Channels
No. of Channels.

1: Monaural (Mono)
2: Stereo
iu32 SampleBytes
Bytes per Sample.
iu32 Frequency
Playing frequency in samples/sec
ibool BegLoop
TRUE = we have BegLoop without EndLoop
iu32 FileLoop
File-playing: No. of Loops to do.
iu32 BufLoop
Buffer-playing:
0=No buffers loop
1=Last loop
>1 = more than 1 loops to do
iu32 AllPlayed
No. of samples continously played so far.
iu32 AllToPlay
No. of samples waiting to be played (not counting loops).
iu32 BlockCnt
No. of blocks waiting to be played.
iu32 hWaveOut
Sytemhandle of this waveform-audio-output-device.
ii32 DeviceId
Audio-output-device-Id.
iu32 AudioOutPos
Currently playing samplenumber of output device.
icclst WaveFmtEx
Extended audio descriptor for the current audio format.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutMessage

Sends messages to the audio output device drivers. Returns the value returned from the driver.

Connector Pane
audiooutmessagec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cu32 Message
Message identifier.
cu32 Param1(0)
Value of Parameter 1.
cu32 Param2(0)
Value of Parameter 2.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
iu32 Result
Returnvalue from the device driver.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutOpen

Opens the given audio output device for playback.
Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_ALLOCATED Specified resource is already allocated.
· MMSYSERR_BADDEVICEID Specified 'DeviceId' is out of range.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· WAVERR_BADFORMAT Attempted to open with an unsupported waveform-audio format.

Connector Pane
audiooutopenc

Controls and Indicators
ci32 Device(-1)
Identifier of the waveform-audio output device to open.

Valid identifieres range from 0 to one less than audio output devices are present in the system (Use AudioOutDevices to retrieve the no. of output-devices).
You can also use the WAVE_MAPPER (-1) constant as device identifier, the function than selects a audio output device capable of playing the specified format.
cenum WaveFormat
Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut
Returns a handle to the opened audio output device.
The handle must be used in most "AudioOut..."-functions.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutOpenEx

Opens the given audio output device for playback. Allows using an extended format descriptor for various non-standard formats.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_ALLOCATED Specified resource is already allocated.
· MMSYSERR_BADDEVICEID Specified 'DeviceId' is out of range.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· WAVERR_BADFORMAT Attempted to open with an unsupported waveform-audio format.

Connector Pane
audiooutopenexc

Controls and Indicators
ci32 Device(-1)
Identifier of the waveform-audio output device to open.

Valid identifieres range from 0 to one less than audio output devices are present in the system (Use AudioOutDevices to retrieve the no. of output-devices).
You can also use the WAVE_MAPPER (-1) constant as device identifier, the function than selects a audio output device capable of playing the specified format.
cenum WaveFormat
Waveformat to be used.
If you want to use an extended format given by WaveFmtEx set this parameter to OtherPCM or Other.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ccclst WaveFmtEx
Extended audio format descriptor to be used if the WaveFormat parameter is set to OtherPCM or Unknown.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut
Returns a handle to the opened audio output device.
The handle must be used in most "AudioOut..."-functions.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutPause

Pauses playback on the given audio output device until AudioOutResume, AudioOutStop or AudioOutClose is called.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

Connector Pane
audiooutpausec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutPosition

Retrieves the current output position of the given audio output device.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

If the format type requested by 'ReqPosType' is not supported,
the driver selects one of the formats supported and returns it in 'PosType'.

Connector Pane
audiooutpositionc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cenum PosType(Smpl)
Requested Format Type for the Position.

Millisecs | Time in milliseconds
Samples | Position in samples
Bytes | Current byte offset from beginning
Frames | SMPTE-Frames
Midi | MIDI Time
Ticks | Ticks within a MIDI stream

ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
iu32 Position
Current Audio Output Position.

'PosType' defines the format.
ienum PosType
Format Type for the returned position information.
(This is sometimes not the required position type)

Millisecs | Time in milliseconds
Samples | Position in samples
Bytes | Current byte offset from beginning
Frames | SMPTE-Frames
Midi | MIDI Time
Ticks | Ticks within a MIDI stream

icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutResume

Resumes Audio playback if in paused state (see AudioOutPause).

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.

Connector Pane
audiooutresumec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutSetPBRate

Sets the playback rate for the specified audio output device.
Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
MMSYSERR_INVALHANDLE Specified device handle is invalid.
MMSYSERR_NOTSUPPORTED Function isn't supported.

NOTE:
Changing the playback rate does not change the sample rate but does change the playback time. Not all devices support playback rate changes. To determine whether a device supports playback rate changes, use the WAVECAPS_PLAYBACKRATE flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function).

Connector Pane
audiooutsetpbratec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cdbl PlaybackRate
New playback rate setting. This setting is a multiplier indicating the current change in playback rate from the original authored setting. The playback rate multiplier must be a positive value.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutSetPitch

Sets the pitch for the specified audio output device.

Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.
· MMSYSERR_NOTSUPPORTED Function isn't supported.

NOTE:
Changing the pitch does not change the playback rate, sample rate, or playback time. Not all devices support pitch changes. To determine whether the device supports pitch control, use the WAVECAPS_PITCH flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function).

Connector Pane
audiooutsetpitchc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cdbl Pitch
New pitch multiplier setting. This setting indicates the current change in pitch from the original authored setting. The pitch multiplier must be a positive value.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutSetVolume

Sets the volume level of the specified audio output device.
Returns MMSYSERR_NOERROR if successful or an error otherwise.

Possible error values include the following:
· MMSYSERR_INVALHANDLE Specified device handle is invalid.
· MMSYSERR_NODRIVER No device driver is present.
· MMSYSERR_NOMEM Unable to allocate or lock memory.
· MMSYSERR_NOTSUPPORTED Function is not supported.

Not all devices support volume changes. To determine whether the device supports volume control, use the WAVECAPS_VOLUME flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function). To determine whether the device supports volume control on both the left and right channels, use the WAVECAPS_LRVOLUME flag.
Most devices do not support the full 16 bits of volume-level control and will not use the high-order bits of the requested volume setting. For example, for a device that supports 4 bits of volume control, requested volume level values of 0x4000, 0x4FFF, and 0x43BE all produce the same physical volume setting: 0x4000. The AudioOutGetVolume function returns the full 16-bit setting set with AudioOutSetVolume.
Volume settings are interpreted logarithmically. This means the perceived increase in volume is the same when increasing the volume level from 0x5000 to 0x6000 as it is from 0x4000 to 0x5000.

Connector Pane
audiooutsetvolumec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cu16 LVolume(0)
New volume setting for the left-channel or, if the device does not suppert separate left- right-volumelevels the mono-volumelevel.
A value of 65535 represents full volume, and a value of 0 is silence.
Volume settings are interpreted logarithmically. This means the perceived increase in volume is the same when increasing the volume level from 0x5000 to 0x6000 as it is from 0x4000 to 0x5000.

NOTE:
Not all devices support volume changes. To determine whether the device supports volume control, use the WAVECAPS_VOLUME flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function). To determine whether the device supports volume control on both the left and right channels, use the WAVECAPS_LRVOLUME flag.
Most devices do not support the full 16 bits of volume-level control and will not use the high-order bits of the requested volume setting. For example, for a device that supports 4 bits of volume control, requested volume level values of 0x4000, 0x4FFF, and 0x43BE all produce the same physical volume setting: 0x4000.
cu16 RVolume(0)
New volume setting for the right-channel. If the device does not suppert separate left- right-volumelevels the value is ignored.
A value of 65535 represents full volume, and a value of 0 is silence.
Volume settings are interpreted logarithmically. This means the perceived increase in volume is the same when increasing the volume level from 0x5000 to 0x6000 as it is from 0x4000 to 0x5000.

NOTE:
Not all devices support volume changes. To determine whether the device supports volume control, use the WAVECAPS_VOLUME flag to test the dwSupport member of the WAVEOUTCAPS structure (filled by the AudioOutCapabilities function). To determine whether the device supports volume control on both the left and right channels, use the WAVECAPS_LRVOLUME flag.
Most devices do not support the full 16 bits of volume-level control and will not use the high-order bits of the requested volume setting. For example, for a device that supports 4 bits of volume control, requested volume level values of 0x4000, 0x4FFF, and 0x43BE all produce the same physical volume setting: 0x4000.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutStop

Stops playback on the given audio output device. All pending playback buffers are freed.

Connector Pane
audiooutstopc

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioOutWaitBufDone

Wait up to 'WaitMS' milliseconds until nomore than 'BufsLeft' buffers are in the playback-queue or (if 'BufsLeft' <0) 'BufsLeft' buffers are done.
The function returns the no. of buffers left in the playback-queue.

NOTE:
The function uses a very efficient wait-logic not to consume to much processor-time.

Connector Pane
audiooutwaitbufdonec

Controls and Indicators
cdlrn hAudioOut
Handle to an opened audio output device.

Use AudioOutOpen to get this handle.
cu32 WaitMS(0)
Max. no. of milliseconds to wait.
ci32 BufsLeft(0)
If > 0: Absolute no. of buffers that should be left for playback
If < 0: Relative no. of buffers (relative to current) that
should be left for playback

NOTE:
If the (positive) value is greater or equal the current no. of buffers the function returns immediatly.
For a negative value the function waits until abs(BufsLeft) or all buffers have been done or the 'WaitMS' timeout is reached.
ccclst error in
The error in cluster can accept error information wired from VIs previously called.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ci32 code
The code input identifies the error (status=true) or a warning.
cstr source
The source string describes the origin of the error or warning.
idlrn hAudioOut/dup
Duplicated handle.
ii32 BufCnt
No. of buffers waiting for playback.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
ii32 code
The code output identifies the error or warning.

Use error translation vi's and additional information for error interpretation.
istr source
The source string describes the origin of the error or warning.


AudioBuildPCMFMTEX

Function to build an extended PCM-Format descriptor.

Connector Pane
audiobuildpcmfmtexc

Controls and Indicators
cu32 Channels(2)
Nr. of channels:
1 = Monaural (Mono)
2 = Stereo
...
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 ChnlBits(16)
No. of bits per channel (8, 16, 24, 32).
cu32 FrequHz(44100)
Frequency = no. of samples per second.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
More see MMErrorCodes.

ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.


AudioFormatInfo

Function to return information on a given Waveformat.

Connector Pane
audioformatinfoc

Controls and Indicators
cenum WaveFmt
Waveformat to get info from.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ienum WaveFmt/dup
Duplicated Waveformat.
inclst FormatInfo
Type for Waveformatinfo.
iu32 Channels
No. of channels. 1 = Monaural (Mono), 2 = Stereo.
iu32 ChnlBits
No. of bits per channel (8 or 16).
iu32 SmplBytes
No. of bytes per Sample (1, 2 or 4).
iu32 Frequency
Frequency = no. of samples per second.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.

ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


AudioGetChnlData

Function to convert audio data from raw to channel separated format. Independently of the Sourceformat channeldata of 'Channel1' and 'Channel2' always range from -32768 .. 32767.

Connector Pane
audiogetchnldatac

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum SrcFmt
Source Waveformat of Data.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
cstr RawData
Raw sourcedata to be converted.

NOTE:
The buffercontents MUST match the SrcFmt WaveFormat.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1di16 Channel1
I16-array to be filled with data from channel1 (left channel if stereo).

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data are always returned as 16-BIT short values in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) the data are always returned by 'Channel1' while 'Channel2' is unused.
ii16
i1di16 Channel2
I16-array to be filled with data from channel2 that is the right channel on stereo WaveFormats. For monaural WaveFormats (Mono) the array is unused.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data are always returned as 16-BIT short values in the range -32768 .. 32767.
ii16
ienum SrcFmt/dup
Duplicated Source Waveformat.


AudioGetRawData

Convert audio data from channel separated format to raw format. Data from 'Channel1' and 'Channel2' MUST always be in the range -32768 .. 32767.

Connector Pane
audiogetrawdatac

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum DstFmt
Destination Waveformat for conversion.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.
c1di16 Channel1
I16-array with data of channel 1 (left channel if stereo).

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data MUST always be in the range -32768 .. 32767.

For a monaural WaveFormat (Mono) only data from 'Channel1' were used.
ci16
c1di16 Channel2
I16-array with data of channel 2 (right channel). Unused for stereo-formats.

NOTE:
Independently of using an 8-BIT or 16-BIT WaveFormat the data MUST always be in the range -32768 .. 32767.
ci16
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
istr RawData
Returns raw data of format 'DstFmt'.
ienum DstFmt/dup
Duplicated Destination Waveformat.


AudioGetWAVEFMT

Function to return information on a given Waveformat.

Connector Pane
audiogetwavefmtc

Controls and Indicators
ccclst WaveFmtEx
Defines the extended format of waveform-audio data.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.

ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ienum WaveFmt
Duplicated Waveformat.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst WaveFmtEx/dup
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.


AudioGetWAVEFMTEX

Function to return information on a given Waveformat.

Connector Pane
audiogetwavefmtexc

Controls and Indicators
cenum WaveFmt
Duplicated Waveformat.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ienum WaveFmt/dup
Duplicated Waveformat.


AudioSoundPlayAlias

Play a sound that is associated with a system event.
The 'Alias' parameter is a textual description of the event.

For example:
SystemStart, SystemExit, SystemHand, SystemQuestion,
SystemAsterisk, SystemExclamation ...

Connector Pane
audiosoundplayaliasc

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cstr Alias
System-event-alias (String describing a system event).

MUST not be empty.
cu32 PlayFlags
Flags for playing the sound. The following values are defined:

0x00000000 | SND_SYNC | Synchronous playback of a sound event. AudioSoundPlay.. returns after the sound event completes.
0x00000001 | SND_ASYNC | The sound is played asynchronously and AudioSoundPlay.. returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call AudioSoundStop.
0x00000002 | SND_NODEFAULT | No default sound event is used. If the sound cannot be found, AudioSoundPlay.. returns silently without playing the default sound.
0x00000008 | SND_LOOP | The sound plays repeatedly until AudioSoundStop is called. You must also specify the SND_ASYNC flag to indicate an asynchronous sound event.
0x00000010 | SND_NOSTOP | The specified sound event will yield to another sound event that is already playing. If a sound cannot be played because the resource needed to generate that sound is busy playing another sound, the function immediately returns FALSE without playing the requested sound. If this flag is not specified, AudioSoundPlay.. attempts to stop the currently playing sound so that the device can be used to play the new sound.
0x00002000 | SND_NOWAIT | If the driver is busy, return immediately without playing the sound.

icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
istr Alias/dup
Duplicated alias.


AudioSoundPlayAliasId

Play a sound that is associated with a system event.
The 'AliasId' parameter provides the sound identifier of an event.

Connector Pane
audiosoundplayaliasidc

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum AliasId
Predefined sound alias identifier that is associated with a the sound to play.
cu32 PlayFlags
Flags for playing the sound. The following values are defined:
0x00000000 | SND_SYNC | Synchronous playback of a sound event. AudioSoundPlay.. returns after the sound event completes.
0x00000001 | SND_ASYNC | The sound is played asynchronously and AudioSoundPlay.. returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call AudioSoundStop.
0x00000002 | SND_NODEFAULT | No default sound event is used. If the sound cannot be found, AudioSoundPlay.. returns silently without playing the default sound.
0x00000008 | SND_LOOP | The sound plays repeatedly until AudioSoundStop is called. You must also specify the SND_ASYNC flag to indicate an asynchronous sound event.
0x00000010 | SND_NOSTOP | The specified sound event will yield to another sound event that is already playing. If a sound cannot be played because the resource needed to generate that sound is busy playing another sound, the function immediately returns FALSE without playing the requested sound. If this flag is not specified, AudioSoundPlay.. attempts to stop the currently playing sound so that the device can be used to play the new sound.
0x00002000 | SND_NOWAIT | If the driver is busy, return immediately without playing the sound.

icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ienum AliasId/dup
Duplicated AliasId.


AudioSoundPlayFile

This function allowes playing an audio-file (.wav) with various options (see 'PlayFlag').

Connector Pane
audiosoundplayfilec

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cpath Filename
Name of file to play (*.wav).
cu32 PlayFlags
Flags for playing the sound. The following values are defined:

0x00000000 | SND_SYNC | Synchronous playback of a sound event. AudioSoundPlay.. returns after the sound event completes.
0x00000001 | SND_ASYNC | The sound is played asynchronously and AudioSoundPlay.. returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call AudioSoundStop.
0x00000002 | SND_NODEFAULT | No default sound event is used. If the sound cannot be found, AudioSoundPlay.. returns silently without playing the default sound.
0x00000008 | SND_LOOP | The sound plays repeatedly until AudioSoundStop is called. You must also specify the SND_ASYNC flag to indicate an asynchronous sound event.
0x00000010 | SND_NOSTOP | The specified sound event will yield to another sound event that is already playing. If a sound cannot be played because the resource needed to generate that sound is busy playing another sound, the function immediately returns FALSE without playing the requested sound. If this flag is not specified, AudioSoundPlay.. attempts to stop the currently playing sound so that the device can be used to play the new sound.
0x00002000 | SND_NOWAIT | If the driver is busy, return immediately without playing the sound.

icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ipath Filename/dup
Duplicated sound-filename.


AudioSoundPlayMemFile

This function allowes playing an audio-file (.wav) directly from memory with various options (see 'PlayFlag').
To play an audio file directly from memory, read in the file (as a whole with header) and call the vi with 'Sound'=file contents.

Connector Pane
audiosoundplaymemfilec

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cstr Sound
Sound-file contents to play.
cu32 PlayFlags
Flags for playing the sound. The following values are defined:

0x00000000 | SND_SYNC | Synchronous playback of a sound event. AudioSoundPlay.. returns after the sound event completes.
0x00000001 | SND_ASYNC | The sound is played asynchronously and AudioSoundPlay.. returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call AudioSoundStop.
0x00000002 | SND_NODEFAULT | No default sound event is used. If the sound cannot be found, AudioSoundPlay.. returns silently without playing the default sound.
0x00000008 | SND_LOOP | The sound plays repeatedly until AudioSoundStop is called. You must also specify the SND_ASYNC flag to indicate an asynchronous sound event.
0x00000010 | SND_NOSTOP | The specified sound event will yield to another sound event that is already playing. If a sound cannot be played because the resource needed to generate that sound is busy playing another sound, the function immediately returns FALSE without playing the requested sound. If this flag is not specified, AudioSoundPlay.. attempts to stop the currently playing sound so that the device can be used to play the new sound.
0x00002000 | SND_NOWAIT | If the driver is busy, return immediately without playing the sound.

icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
istr Sound/dup
Duplicated Sound-file contents.


AudioSoundStop

Stops playing any sound that was asynchronously started with AudioSoundPlayFile, AudioSoundPlayMemFile, AudioSoundPlayAlias or AudioSoundPlayAliasId.

Connector Pane
audiosoundstopc

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


WFXConvert

Connector Pane
wfxconvertc

Controls and Indicators
cstr WFXraw/in
ccclst WFX/in
Defines the extended format of waveform-audio data.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
icclst WFX/out
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
istr WFXraw/out
inclst WFXHdr
iu16 FormatTag
iu16 Channels
iu32 Smpls/Sec
iu32 Bytes/Sec
iu16 BlockAlign
iu16 Bits/Smpl
iu16 ExtSize


XmmVideoVersion

Return Version of XOnMMSys.dll.

Connector Pane
xmmvideoversionc

Controls and Indicators
iu32 Version
istr VersionStr
iu32 Revision
ibool Demo


VStrmCheck

This vi is intended to check if a new frame has been grabbed into the video background buffer.
If WaitMS is not zero the function waits up to WaitMS milliseconds until a new frame has been grabbed. If successful (new frame came in) Result returns the overall frame counter. If unsuccessful Result returns zero.
If WaitMS is zero Result returns the current overall counter and zero if no streaming operation has been started.

Connector Pane
vstrmcheckc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 WaitMS(0)
Max. no. of milliseconds to wait for the next frame. Use Zero to return the frame overall counter only.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 Result
>0 | OK, Overall frame counter
=0 | Error, streaming not started or no new frame


VStrmDelABuf

Use this VI to delete audioblocks from the background buffer.

Connector Pane
vstrmdelabufc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum Mode
Mode:
All | Buffers will be deleted
First | Buffer will be deleted
Last | Buffer will be deleted

idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VStrmDelVBuf

Use this VI to delete frames from the video backgroundbuffer.

Connector Pane
vstrmdelvbufc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum Mode
Mode:
All | Delete all videobuffers.
First | Delete the first buffer.
Last | Delete the last buffer.

idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VStrmFreeBufs

Use this VI to free your video and audio background buffers.

Connector Pane
vstrmfreebufsc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VStrmGetABuf

Use this VI to get an audiodata block from the background buffer as raw data.

Connector Pane
vstrmgetabufc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ci32 Index
Index in streambuffer of captured frame to get framedata from
-2 | Get last(newest) audiodata block from stream-buffer
-1 | Get next unread audiodata block from stream-buffer
0 | Get first(eldest) audiodata block from stream-buffer
>0 | Direct Index of the audiodata block within stream-buffer

ci32 DatSize/in
Use -1 to let the vi read out the current size of the audiodata block. Use 0 to read out the audiodata block size only. Otherwise the DataSize/in parameter must be greater or equal the real bytesize of the audiodata block.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1du8 AudioData
Returns the raw data of theaudiodata block as byte array.
iu8
ii32 DatSize/out
Real bytesize of the output audiodata block.
iu32 TmCaptMS
The audiodata blocks timestamp.
ii32 Overrun
Number of audiodata blocks overwritten within the background buffer since last call of this function.


VStrmGetCaptFile

Use this VI to get the path to the file you stored the video data.

Connector Pane
vstrmgetcaptfilec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ipath CaptFile
Path to the file you stored your video data.


VStrmGetPar

This VI returns the current advanced streaming options.

Connector Pane
vstrmgetparc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst StrmPar
This cluster returns current streamig parameters.
iu32 FrmRate
No of frames/second.
ibool UserHitOK
Turn this on to ask the user when to start streaming. (An ok box will appear.)
iu32 ErrPercent
Adjust the maximal failure rate.
If more errors (due to dropped frames) occure than you adjusted here, streaming will be stopped.
ibool BlockApp
TRUE: Blocks the labview application while streaming.
FALSE: No blocking.

Blocking the foreground application is only useful if there are some performance problems.

Warning: As your application will be blocked there is no chance to read out frames online or to stop streaming programatically. Use this only if keyboard- and/or mouse-abort are allowed and/or a non-zero timelimit has been set.
iu32 IndexSize
Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers) is used.
Each video frame or buffer of waveform-audio data uses one index entry. The value of this entry establishes a limit for the number of frames or audio buffers that can be captured.
ibool CaptAudio
FALSE: Do not capture audio buffers while streaming.
TRUE: Capture audio buffers too.
iu32 KeyAbort
If you want the streaming to stop if the user hits a key you have to enter the keycode here.
(e.g. use x1B=27 to stop streaming with the ESC key)
ienum MouseAbrt
If you want to stop streaming by pressing a mouse button you should turn this on.
iu32 TimeLimit
If you want to capture over a determinated period of time you can enter this here. Data format is milliseconds.


VStrmGetVBuf

Use this VI to get the image of a video frame from the background buffer as raw data.

Connector Pane
vstrmgetvbufc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ci32 Index
Index in streambuffer of captured frame to get framedata from
-3 | Get data from last grabbed frame (via VCapGrabFrame)
-2 | Get last(newest) frame in stream-buffer
-1 | Get next unread frame in stream-buffer
0 | Get first(eldest) frame in stream-buffer
>0 | Direct Index within stream-buffer

ci32 FrmSize/in
Use -1 to let the vi read out the current size of the frame. Use 0 to read out the frame size only. Otherwise the FrmSize/in parameter must be greater or equal the real bytesize of the frame.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1du8 FrameData
Returns the raw data of the image as byte array.
ii32 FrmSize/out
Real size of the output frame.
iu32 TmCaptMS
The frames timestamp.
ii32 Overrun
Number of frames overwritten within the background buffer since last call of this function.


VStrmInfo

Use this VI to obtain information about your current video streaming operation.

Connector Pane
vstrminfoc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst StrmInfo
Information about a video streaming operation.
ibool StrmON
Returns true if streaming is ongoing.
ibool MemStrm
Returns true if the streaming destination is the buffer memory.
ibool AudioStrm
Returns true if audio streaming has been enabled.
ii32 VBufAvail
Number of available video frames in the video background buffers.
ii32 VBufAll
Counter of video frames since start of streaming.
ii32 VBufOvr
Number of video frames overwritten because of buffer overflow.
The overrun counter will be reset to zero on the next read operation.
ii32 VBufNext
Index of the next unread frame within the video background buffer.
ii32 ABufAvail
Number of available audio buffers within the audio background buffers.
ii32 ABufAll
Counter of audio buffers since start of streaming.
ii32 ABufOvr
Number of audio buffers overwritten because of buffer overflow.
The overrun counter will be reset to zero on the next read operation.
ii32 ABufNext
Index of the next unread audio buffer within the audio background buffer.


VStrmSetCaptFile

This vi sets path and name of the capture file (*.AVI) used if for streaming into an AVI-file (VideoBufs parameter of VStrmStart set to zero), and/or preallocates space for the file on disk.
Leave CaptFile empty not to change current filename. Set PreAlloc zero not to preallocate space for the capture file.

The default capture filename is "C:\XOnVStrm.AVI".

Connector Pane
vstrmsetcaptfilec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
cpath CaptFile
Path to the *.AVI file you want to store your video clip. Leave it empty not to change the current filename.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 PreAlloc
Space in bytes you wish to preallocate for this file. Use zero not to preallocate space.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VStrmSetPar

This VI enables you to set advanced options for video streaming operations.

Connector Pane
vstrmsetparc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ccclst StrmPar
In this cluster you may modify some streamig parameters.
cu32 FrmRate
No of frames/second.
cbool UserHitOK
Turn this on to ask the user when to start streaming. (An ok box will appear.)
cu32 ErrPercent
Adjust the maximal failure rate.
If more errors (due to dropped frames) occure than you adjusted here, streaming will be stopped.
cbool BlockApp
TRUE: Blocks the labview application while streaming.
FALSE: No blocking.

Blocking the foreground application is only useful if there are some performance problems.

Warning: As your application will be blocked there is no chance to read out frames online or to stop streaming programatically. Use this only if keyboard- and/or mouse-abort are allowed and/or a non-zero timelimit has been set.
cu32 IndexSize
Maximum number of index entries in an AVI file. Values range from 1800 to 324,000. If set to 0, a default value of 34,952 (32K frames plus a proportional number of audio buffers) is used.
Each video frame or buffer of waveform-audio data uses one index entry. The value of this entry establishes a limit for the number of frames or audio buffers that can be captured.
cbool CaptAudio
FALSE: Do not capture audio buffers while streaming.
TRUE: Capture audio buffers too.
cu32 KeyAbort
If you want the streaming to stop if the user hits a key you have to enter the keycode here.
(e.g. use x1B=27 to stop streaming with the ESC key)
cenum MouseAbrt
If you want to stop streaming by pressing a mouse button you should turn this on.
cu32 TimeLimit
If you want to capture over a determinated period of time you can enter this here. Data format is milliseconds.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VStrmStart

Use this VI to start video streaming.

Connector Pane
vstrmstartc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 FrmRate(0)
Frames per second (0=default)
cu32 VideoBufs(0)
Number of Videobuffers
==0 -> Capture int capture file
>0 -> No. of buffers for in memory video-capture
cu32 AudioBufs(0)
Number of Audio-buffers
if in memory capture (VideoBufs > 0)
   ==0 -> NO audio capture
   !=0 -> No. of mem. buffers for audio-capture
else
   ==0 -> NO audio capture
   !=0 -> audio capture enabled (if hardware supports it)
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VStrmState

Use this vi to get a status information of your video device.

Connector Pane
vstrmstatec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst StrmState
Status information of the video capture device.
iu32 ImgWidth
The width of the image (frame) in pixels.
iu32 ImgHeight
The height of the image (frame) in pixels.
ibool Live
ibool Overlay
ibool Scale
iu32 ScrlPt.x
Horizontal scrolling position of the video image.
iu32 ScrlPt.y
Vertical scrolling position of the video image.
ibool UseDefPal
Returnes true if the video device driver uses a default color palette. (for BIT-depth 1, 4, 8 only)
ibool AudioHard
Returns true if audio hardware is available for the video device driver.
ibool CapFileEx
Returns true if a capture file (AVI) currently exists.
iu32 CurrFrm
Count of the current frame.
iu32 FDropped
Number of frames dropped. This is the number of frames we could not get because of performance problems. If this value is not zero, one should reduce the number of frames/second and start the streaming operation again.
iu32 CurrWSmpl
The current audio wave sample counter.
iu32 TmElapMS
Time in ms elapsed since start of streaming.
iu32 PalHdl
Handle of the palette the video device driver is using (for BIT-depth 1, 4 and 8 only).
ibool Capturing
Returns true if capturing (streaming) is active.
iu32 LastRetVal
Return value of the last internal video function call.
iu32 NumVAlloc
Number of video buffers the device driver allocated.
iu32 NumAAlloc
Number of audio buffers the device driver allocated.


VStrmStop

Stops an ongoing streaming operation.

Stopping streaming does NOT discard the video and audio background buffers. You can still get the images. This behaviour allowes using the frames completely offline.

Connector Pane
vstrmstopc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
cpath AVIFile
If you started streaming into an AVI (zero video buffers on stream start) a non empty name creates a copy of this captured AVI.
This is useful if you preallocated the AVI file used while streaming and you want to make a copy of 'real' frames only.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


Xmm-VStrmSetup

Use this vi to setup the most important parameters needed to start a streaming operation.
You may connect all, some or none of the input parameters.

The vi's behavior is different wether you connect a handle to an open device or not!

If you did not connect a handle to an open video device:
· If there are more than one video devices available, the user will be asked for the device to use. In this case the user is allowed to cancel.
· If the user did not cancel and you decided (via ShowViewer parameter) to show the viewer, the user must press OK to start the streaming operation. This allowes to open some dialogs, the viewers menu provides, before streaming begins.
· Last but not least streaming will be started using FrmRate, VideoBufs and AudioBufs parameter.

If you connected a handle to an open device:
· If ShowViewer is true the the video viewer will be made visible, otherwise the showstate of the viewer will not be changed
· Than the streaming operation will start immediatly without further questions using the FrmRate, VideoBufs and AudioBufs parameter.

Connector Pane
xmm vstrmsetupc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst WinStyle
WinStyle:
In this cluster one can modify the appearance of the video-live window.
cbool Hidden
Hidden:
Hide video-live window from user.
cbool NoXMnu
NoXMenu:
Disables the extended menu of the video live window.
(selecting channel, source etc.).
ci32 Left
Left / Top / Width / Height : Posistioning parameters.
ci32 Top
Left / Top / Width / Height : Posistioning parameters.
ci32 Width
Left / Top / Width / Height : Posistioning parameters.
ci32 Height
Left / Top / Width / Height : Posistioning parameters.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 FrmRate(15)
Frames per second (0=default)
cu32 VideoBufs(10)
Number of Videobuffers
==0 -> Capture into capture file
>0 -> No. of buffers for in memory video-capture
cu32 AudioBufs(0)
Number of Audio-buffers
if in memory capture (VideoBufs > 0)
   ==0 -> NO audio capture
   !=0 -> No. of mem. buffers for audio-capture
else
   ==0 -> NO audio capture
   !=0 -> audio capture enabled (if hardware supports it)
cbool ShowViewer(T)
idlrn hVidCap/out
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


Xmm-IMAQ-Close

Stops the acquisition if one is in progress, releases resources associated with the acquisition, and closes the specified IMAQ Refnum.

Connector Pane
xmm imaq closec

Controls and Indicators
cstr V 2.0
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
cdlrn hVidCap
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


Xmm-IMAQ-Grab-Acquire

Acquires an image from a grab acquisition. This function performs an acquisition that loops continually on one buffer. Use the grab function for high-speed image acquisition.

IMAQ Grab Acquire will return a copy of the current image. Use IMAQ Grab Setup to start the acquisition and IMAQ Stop to stop the acquisition.

Connector Pane
xmm imaq grab acquirec

Controls and Indicators
cstr V 2.0
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
cbool Immediate?
Immediate? determines if the grab operation synchronizes on vertical blank or does an immediate transfer. The default value is FALSE, synchronize on vertical blank.

ccclst Image In
Image In is the reference to the image that will receive the captured pixel data.

c1di32 Region of Interest
Region of Interest specifies a rectangular portion of the image to be captured. Region of Interest is defined by an array of four elements [Left, Top, Right, Bottom]. You must set the width [Right-Left] to a multiple of eight. If Region of Interest is not connected or empty, the entire acquisition window is captured.

cdlrn hVidCap
Handle used for video capture and video stream functions.
cbool Info
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
icclst Image Out
Image Out is the reference to the captured image.
inclst ROISize
iu32 Width
iu32 Height
inclst DstSize
iu32 Width
iu32 Height
inclst SrcPos
iu32 Top
iu32 Left
inclst DstPos
iu32 Top
iu32 Left
icclst StrmState
iu32 ImgWidth
iu32 ImgHeight
ibool Live
ibool Overlay
ibool Scale
iu32 ScrlPt.x
iu32 ScrlPt.y
ibool UseDefPal
ibool AudioHard
ibool CapFileEx
iu32 CurrFrm
iu32 FDropped
iu32 CurrWSmpl
iu32 TmElapMS
iu32 PalHdl
ibool Capturing
iu32 LastRetVal
iu32 NumVAlloc
iu32 NumAAlloc
icclst StrmInfo
Information about a video streaming operation.
ibool StrmON
Returns true if streaming is ongoing.
ibool MemStrm
Returns true if the streaming destination is the buffer memory. If false streaming goes into an AVI-file (provided streaming has been started).
ibool AudioStrm
Returns true if audio streaming has been enabled.
ii32 VBufAvail
Number of available video frames in the video background buffers.
ii32 VBufAll
Counter of video frames since start of streaming.
ii32 VBufOvr
Number of video frames overwritten because of buffer overflow.
The overrun counter will be reset to zero on the next read operation.
ii32 VBufNext
Index of the next unread frame within the video background buffer.
ii32 ABufAvail
Number of available audio buffers within the audio background buffers.
ii32 ABufAll
Counter of audio buffers since start of streaming.
ii32 ABufOvr
Number of audio buffers overwritten because of buffer overflow.
The overrun counter will be reset to zero on the next read operation.
ii32 ABufNext
Index of the next unread audio buffer within the audio background buffer.


Xmm-IMAQ-Grab-Setup

Starts a grab acquisition. This function performs an acquisition that loops continually on one buffer. Use the grab function for high-speed image acquisition.

Use IMAQ Grab Acquire to copy an image out of the buffer. If necessary, this VI performs a system initialization using IMAQ Init .

Connector Pane
xmm imaq grab setupc

Controls and Indicators
ci32 Step x
Step x is a horizontal sampling step or horizontal reduction factor. If it is set to its default value of 1, each column of the image is transferred. If Step x is set to another value n, only one column every n columns is transferred. Step x only accepts values of 1, 2, 4, or 8.

ci32 Step y
Step y is a vertical sampling step or vertical reduction factor. If it is set to its default value of 1, each line of the image is transferred. If Step y is set to another value n, only one line every n lines is transferred. Step y only accepts values of 1, 2, 4, or 8.
cstr V 2.0
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
c1di32 Region of Interest
Region of Interest specifies a rectangular portion of the image to be captured. Region of Interest is defined by an array of four elements [Left, Top, Right, Bottom]. You must set the width [Right-Left] to a multiple of eight. If Region of Interest is not connected or empty, the entire acquisition window is captured.

cimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
ci32 Channel
Channel specifies from which channel on the IMAQ device to acquire.

ccclst WinStyle
cbool Hidden
cbool NoXMnu
ci32 Left
ci32 Top
ci32 Width
ci32 Height
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst StrmPar
cu32 FrmRate
cbool UserHitOK
cu32 ErrPercent
cbool BlockApp
cu32 IndexSize
cbool CaptAudio
cu32 KeyAbort
cenum MouseAbrt
cu32 TimeLimit
cu32 VideoBufs
cu32 AudioBufs
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.


Xmm-IMAQ-Init

Loads an NI-IMAQ configuration file and configures the IMAQ device. If no inputs are connected, this VI automatically loads the standard interface file (img0).

Connector Pane
xmm imaq initc

Controls and Indicators
cstr V 2.0
cstr Interface Name
Interface Name is the name of the interface to be loaded. The name must match the configuration file name used in the NI-IMAQ Configuration Utility. The default value is img0.

ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 DeviceId
cstr WinTitle
ccclst WinStyle
cbool Hidden
cbool NoXMnu
ci32 Left
ci32 Top
ci32 Width
ci32 Height
iimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


Xmm-IMAQ-Snap

Acquires a single image into Image out. If necessary, this VI performs a system initialization using IMAQ Init before the acquisition. This function is asynchronous.

When you invoke a snap, it initializes the board and acquires the next incoming video frame (or field) to a buffer. A snap is appropriate for low-speed or single-capture applications where
ease of programming is essential.

Connector Pane
xmm imaq snapc

Controls and Indicators
ccclst Image in
Image In is the reference to the image that will receive the captured pixel data.

ci32 Step x
Step x is a horizontal sampling step or horizontal reduction factor. If it is set to its default value of 1, each column of the image is transferred. If Step x is set to another value n, only one column every n columns is transferred. Step x only accepts values of 1, 2, 4, or 8.

ci32 Step y
Step y is a vertical sampling step or vertical reduction factor. If it is set to its default value of 1, each line of the image is transferred. If Step y is set to another value n, only one line every n lines is transferred. Step y only accepts values of 1, 2, 4, or 8.
cstr V 2.0
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
c1di32 Region of Interest
Region of Interest specifies a rectangular portion of the image to be captured. Region of Interest is defined by an array of four elements [Left, Top, Right, Bottom]. You must set the width [Right-Left] to a multiple of eight. If Region of Interest is not connected or empty, the entire acquisition window is captured.

cimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
ci32 Channel
Channel specifies from which channel on the IMAQ device to acquire.

cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst WinStyle
cbool Hidden
cbool NoXMnu
ci32 Left
ci32 Top
ci32 Width
ci32 Height
icclst Image out
Image Out is the reference to the captured image.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iimrn IMAQ Refnum
IMAQ Refnum is a unique identifier to an IMAQ session that identifies the Interface file.
inclst DstPos
iu32 Top
iu32 Left
inclst SrcPos
iu32 Top
iu32 Left
inclst DstSize
iu32 Width
iu32 Height
inclst ROISize
iu32 Width
iu32 Height


VCapClose

Use this VI to close a videocapture device.
This is usually the last VI you use.

Connector Pane
vcapclosec

Controls and Indicators
cdlrn hVidCap
Handle returned from VCapOpen used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapConvPal

Use this to convert differnt types of palettes into others.
4Byte Palette -> 3 Byte or
3Byte Palette -> 4 Byte

Connector Pane
vcapconvpalc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
c1du32 Pal-4
The 4 bit broad palette information.
cu32
c1dnclst Pal-3
The 3 bit broad palette information.
cnclst RGB-3
cu8 R
cu8 G
cu8 B
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1dnclst Pal-3/out
The 3 bit broad palette information.
inclst RGB-3
iu8 R
iu8 G
iu8 B
i1du32 Pal-4/out
The 4 bit broad palette information.


VCapCopyROI

Copy Region of interest. Returns 2-dimensional data.

Use this VI to crop a rectangle out of the captured image.
You can pass this cutout via pointer (DstPtr) to other applications and continue working on it, or write the ROI Data to the Framedata output.

According to the VFormat parameter, the function tries to convert the image data into this format. The function cannot down sample BIT-depths, scale (parts of) images or decompress images.
Following table shows the possible format combinations:

Image format
--> Supported output format
1BIT | (RGB, palettized) | 1BIT, 4BIT, 8BIT,15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
4BIT | (RGB, palettized) | BIT, 8BIT, 15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
8BIT | (RGB, palettized) | 8BIT, 15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
15BIT/16BIT | (RGB, Bitfields too) | 15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
24BIT | (RGB) | 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
32BIT | (RGB, Bitfields too, alpha-channels ignored) | 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv

Connector Pane
vcapcopyroic

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum VFormat
Video Destination format.
Here you can determinate in which data format the ROI is converted to.
Note that you can NOT sample down color dephts, i.e. you can convert 8 Bit -> 24 Bit but not reversly.

The 24BIT_lv and 32BIT_lv formats (reversed R G B order) are especially useful for LabVIEW.
cu32 DstPtr
Use this pointer to pass the image information to other VI`s which support datasharing by reference.
cnclst DstSize
This is the FULL size of the picture the ROI is copied into (destination).
cu32 Width
cu32 Height
cnclst ROISize
Size of the region of interest:
These are the sizes of the rectangular ROI which is cutted out of the entire picture.
cu32 Width
cu32 Height
cnclst DstPos
This is the position offset in the destination picture where the upper left corner of the ROI is positioned.
cu32 Top
cu32 Left
cnclst SrcPos
This is the position of the upper left corner of the rectangle which contains the ROI.
cu32 Top
cu32 Left
ci32 Index
Index in streambuffer of captured frame to get framedata from
-3: Get data from last grabbed frame
(via VCapGrabFrame)
-2: Get last(newest) frame in stream-buffer
-1: Get next unread frame in stream-buffer
0: Get first(eldest) frame in stream-buffer
>0: Direct Index within stream-buffer
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i2du8 FrameData
This contains the image data of the ROI.
The stored intensety map of the video image.
ii32 ByteSize
Index in streambuffer of captured frame to get framedata from
-3: Get data from last grabbed frame (VCapGrab..)
-2: Get last(newest) frame in stream-buffer
-1: Get next unread frame in stream-buffer
0: Get first(eldest) frame in stream-buffer
>0: Direct Index within stream-buffer
iu32 TmCaptMS
How long have you`ve been capturing ?
ii32 Overrun
Number of overruns.


VCapCopyROIflat

Copy Region of interest. Returns 1-dimensional data.

Use this VI to crop a rectangle out of the captured image.
You can pass this cutout via pointer (DstPtr) to other applications and continue working on it, or write the ROI Data to the Framedata output.

According to the VFormat parameter, the function tries to convert the image data into this format. The function cannot down sample BIT-depths, scale (parts of) images or decompress images.
Following table shows the possible format combinations:

Image format
--> Supported output format
1BIT | (RGB, palettized) | 1BIT, 4BIT, 8BIT,15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
4BIT | (RGB, palettized) | BIT, 8BIT, 15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
8BIT | (RGB, palettized) | 8BIT, 15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
15BIT/16BIT | (RGB, Bitfields too) | 15/16BIT, 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
24BIT | (RGB) | 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv
32BIT | (RGB, Bitfields too, alpha-channels ignored) | 24BIT, 24BIT_lv, 32BIT and 32-BIT_lv

Connector Pane
vcapcopyroiflatc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum VFormat
Video Destination format.
Here you can determinate in which data format the ROI is converted to.
Note that you can NOT sample down color dephts, i.e. you can convert 8 Bit -> 24 Bit but not reversly.

The 24BIT_lv and 32BIT_lv formats (reversed R G B order) are especially useful for LabVIEW.
cu32 DstPtr
Use this pointer to pass the image information to other VI`s which support datasharing by reference.
cnclst DstSize
This is the FULL size of the picture the ROI is copied into (destination).
cu32 Width
cu32 Height
cnclst ROISize
Size of the region of interest:
These are the sizes of the rectangular ROI which is cutted out of the entire picture.
cu32 Width
cu32 Height
cnclst DstPos
This is the position offset in the destination picture where the upper left corner of the ROI is positioned.
cu32 Top
cu32 Left
cnclst SrcPos
This is the position of the upper left corner of the rectangle which contains the ROI.
cu32 Top
cu32 Left
ci32 Index
Index in streambuffer of captured frame to get framedata from
-3 | Get data from last grabbed frame (VCapGrab..)
-2 | Get last(newest) frame in stream-buffer
-1 | Get next unread frame in stream-buffer
0 | Get first(eldest) frame in stream-buffer
>0 | Direct Index within stream-buffer

idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1du8 FrameData
This contains the image data of the ROI.
The stored intensety map of the video image.
ii32 ByteSize
Index in streambuffer of captured frame to get framedata from
-3 | Get data from last grabbed frame (VCapGrab..)
-2 | Get last(newest) frame in stream-buffer
-1 | Get next unread frame in stream-buffer
0 | Get first(eldest) frame in stream-buffer
>0 | Direct Index within stream-buffer

iu32 TmCaptMS
How long have you`ve been capturing ?
ii32 Overrun
Number of overruns.


VCapDevices

This usefull VI determinates the total number of videodevices detected in your system.

Connector Pane
vcapdevicesc

Controls and Indicators
ii32 Devices
DeviceId:
The logical Number of your videodevice
(i.e. 0 is the number of your first videodevice).
Returns -1 if no device was found.


VCapDriverExists

Checks if a video devicedriver of the given device-id exists.

Connector Pane
vcapdriverexistsc

Controls and Indicators
cu32 DeviceID
Number of your videodevice (0..).
istr Name
The (full) name of your video devicedriver.
istr Version
The video devicedrivers version.
iu32 DeviceID/dup
Duplicated device-id.
ibool OK?
TRUE: driver exists
FALSE: no driver for this device-id


VCapDriverName

Use this VI to read the name of an open video devicedriver.

Connector Pane
vcapdrivernamec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
istr Name
This is the videodriver`s name.


VCapDriverVersion

Use this to determinate the version number of an open video devicedriver.

Connector Pane
vcapdriverversionc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
istr Version
This is the version number of your videodevicedriver.


VCapGetAudioFmt

Use this VI to get the actual audio settings used for video streaming.

Connector Pane
vcapgetaudiofmtc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst WaveFmtEx
Defines the extended format of waveform-audio data.
iu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
iu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
iu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
iu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
iu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
iu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
i1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.


VCapGetPal

Use this VI to obtain the palette information of your images.
Note that palettes are only used in 1-BIT, 4-BIT and 8-BIT.

Connector Pane
vcapgetpalc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cbool GetPal4(F)
Get 4 or 3 Byte broad palette.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1dnclst Pal-3/out
The 3 Byte broad palette information.
inclst RGB-3
iu8 R
iu8 G
iu8 B
i1du32 Pal-4/out
The 4 Byte broad palette information.


VCapGetPreview

Use this VI to get the actual parameter settings concerning the video preview window.

Connector Pane
vcapgetpreviewc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ienum Mode
Current displaymode of the previewer

OFF | No frames shown
LIVE | Shows frames using GDI drawing (slow)
OVERLAY | Direct drawing into the screen (fast)

idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 LiveRate
Frames/Second shown in live previewmode.
ibool Scale
TRUE: In live preview mode the image will be scaled to the size of
the previewer window.
FALSE: No scaling


VCapGetVideoFmt

Use this VI to determinate your current video settings.
Output is the VideoFmt cluster and Palette (if running in color depth <= 8 bit)

Connector Pane
vcapgetvideofmtc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1du32 Palette
This contains palette information.
Note that palette information is used only for 1, 4 and 8 bit mode, if you haver higher colordepth RGB information will be used instead.
inclst VideoFmt
This cluster contains all necessary information to create a bitmap header.
iu32 LineBytes
No. of bytes for one scanline of an image.
ii32 Width
Pixel-width of the image.
ii32 Height
Pixel-height of the image.
iu32 BitCnt
No. of bits per pixel.

Use:
· 1 for 2 color images (palletized)
· 4 for 16 color images (palletized)
· 8 for 256 color images (palletized)
· 16 for 16-BIT images
· 24 for 24-BIT images
· 32 for 32-BIT images

others BIT-depths may be used for some compressed formats.
ienum Compress
Compression format.

RGB (0) | uncompressed
RLE8 (1) | 8-BIT runlength encoded (for BitCnt 8 only)
RLE4 (2) | 4-BIT runlength encoded (for BitCnt 4 only)
BitFld (3) | Bitfield color definition (for BitCnt 16 and 32 only)
Compr(?) | Compressor specific values
iu32 FrameSize
Bytes size of the frame data.
ii32 XPix/Mtr
No. of pixels/meter (X-Direction).
ii32 YPix/Mtr
No. of pixels/meter (Y-Direction).
iu32 ClrUsed
Colors used. For images with BIT-depth 1, 4, 8 only. Use zero for the max. colors.
iu32 ClrImp
Colors important, normally zero.


VCapGetVideoFmtEx

Use this VI to determinate your current video format (extended version).

Connector Pane
vcapgetvideofmtexc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst BMPInfo
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ii32 LineBytes


VCapGrabCheck

Checks the state of a previously started grab operation (via VCapGrabFrame.vi).

Connector Pane
vcapgrabcheckc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 WaitMS(0)
Max. no. of milliseconds to wait until this function returns.

Use 0 to return immediatly.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ienum Result
State of current grab operation.

Idle | No grab operation is pending.
Pending | Grab operation is still going on.
Ready | Grab operation ready.


VCapGrabFrame

This grabs a single video frame and supplies you with the image`s data and colortable (if available).

Connector Pane
vcapgrabframec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
cenum Type
You can select different types:

Framedata | Aquire the frame`s data to return in FrameData.
ClipCopy | Copy the frame as bitmap to the clipboard. (Use STRG-V to paste the picture into other programs).
DIBFile | Create a .BMP disk file from the grabbed video frame. (The DIBFile parameter MUST be set to a valid filename.)

ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cenum Option
NewGrab/Preview | Grab a new frame and show it in the preview window.
NewGrab/NoPreview | Grab a new frame and do NOT show it in the preview window.
LastFrame | Do not grab a new frame, instead use the framedata from a previous grab operation.

cpath DIBFile
Path to file if type is DIBFile.
ci32 FrmSize/in
Bytesize of framedata to return (for type FrameData only).

Use -1 to force the function to ask for the framesize before grabbing the frame.
Use 0 to return the size of the frame without returning the frames data.
ci32 WaitMS
Max. Number of milliseconds to wait until a clipboard or bitmap grab operation has been done. Ignored if Type is FrameData.

Use -1 to capture synchronously and wait until operation has been done or an error occured.

Use 0 to force the call to return immediatly. In this case it is not guaranted that the operation has been done until return from this call.
You may use VCapGrabCheck.vi to check the state of the grab operation.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
i1du8 FrameData
For Type FrameData only.

FrameData:
The digitized Image as byte array.
ii32 FrmSize/out
Bytesize of the video frame data. May be used as FrmSize/in in further calls of this function.
iu32 TmCaptMS
Time since windows start in millisecond units when the frame was grabbed.


VCapIsOpen

Detects wether the videodevice is currently opened.

Connector Pane
vcapisopenc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
ibool Open?
True: Driver is still open.
False: Driver is closed.


VCapOpen

This VI will open your videocapture device for further operation.
It is usually the first VI you`ll need for building your multimedia application. Use the hVidCap connector to assemble further programms.

Connector Pane
vcapopenc

Controls and Indicators
cu32 DeviceID(0)
The system defined id of your videodevice.
(i.e. 0 is the number of your first videodevice).
cstr WinTitle
Title of the video previewer window (if visible).
ccclst WinStyle
This cluster defines the appearance of the video previewer window on startup.
cbool Hidden
Hide or show the previewer on startup.
cbool XMenu
Enables or disables the extended menu of the previewer.
With the extended menu one can open some dialogs to change the video format etc., grab an image into a file or the clipboard, stream video into an AVI file and so on.
It is not possible to enable/disable the extended menu at runtime without closing an reopening the videodevice!
ci32 Left
Left / Top / Width / Height : Startup previewer window position. Set them zero to use the defaults.
ci32 Top
Left / Top / Width / Height : Posistioning parameters.
ci32 Width
Left / Top / Width / Height : Posistioning parameters.
ci32 Height
Left / Top / Width / Height : Posistioning parameters.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapOpenDialog

With this vi one can open some dialogs of the video capture driver (if available).
This is useful to allow the user to select video/audio format, video source, compression options etc.

Connector Pane
vcapopendialogc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
cenum Dialog
Kind of dialog to open.

VideoFmt:
Displays a dialog box in which the user can select the video format. The Video Format dialog box might be used to select image dimensions, bit depth, and hardware compression options.
!! Too high resultion may cause impact on system performance. !!

VideoSrc:
Displays a dialog box in which the user can control the video source. The Video Source dialog box might contain controls that select input sources; alter the hue, contrast, brightness of the image; and modify the video quality before digitizing the images into the frame buffer.

VideoDisp:
Displays a dialog box in which the user can set or adjust the video output. This dialog box might contain controls that affect the hue, contrast, and brightness of the displayed image, as well as key color alignment.

VideoCompr:
Displays a dialog box in which the user can select a compressor to use during the direct video streaming process into an AVI file. The list of available compressors can vary with the video format selected in the capture driver's Video Format dialog box.

AudioHFmt:
Displays a dialog box in which the user can select a hardware supported audio format. Normally uncompressed formats.

AudioFmt:
Displays a dialog box in which the user can select a system supported supported audio format, including compressed audio formats.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapSetAudioFmt

Use this to set audio format for video streaming.

Connector Pane
vcapsetaudiofmtc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ccclst WaveFmtEx
Defines the extended format of waveform-audio data.
cu16 FormatTag
Waveform-audio format type. Format tags are registered with Microsoft Corporation for many compression algorithms. A complete list of format tags can be found in the MMREG.H header file.
cu16 Channels
Number of channels in the waveform-audio data. Monaural data uses one channel and stereo data uses two channels.
cu32 Smpls/Sec
Sample rate, in samples per second (hertz), that each channel should be played or recorded. If wFormatTag is WAVE_FORMAT_PCM, then common values for Samples per sec. are 8.0 kHz, 11.025 kHz, 22.05 kHz, and 44.1 kHz. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
cu32 Bytes/Sec
Required average data-transfer rate, in bytes per second, for the format tag. If wFormatTag is WAVE_FORMAT_PCM, Bytes/Sec should be equal to the product of Smpls/Sec and BlockAlign. For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software can estimate buffer sizes by using the Bytes/Sec member.
cu16 BlockAlign
Block alignment, in bytes. The block alignment is the minimum atomic unit of data for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, BlockAlign should be equal to the product of Channels and Bits/Smpl divided by 8 (bits per byte). For non-PCM formats, this member must be computed according to the manufacturer's specification of the format tag.
Playback and record software must process a multiple of BlockAlign bytes of data at a time. Data written and read from a device must always start at the beginning of a block. For example, it is illegal to start playback of PCM data in the middle of a sample (that is, on a non-block-aligned boundary).
cu16 Bits/Smpl
Bits per sample for the FormatTag format type. If FormatTag is WAVE_FORMAT_PCM, then Bits/Smpl should be equal to 8 or 16. For non-PCM formats, this member must be set according to the manufacturer's specification of the format tag. Note that some compression schemes cannot define a value for Bits/Smpl, so this member can be zero.
c1du8 ExtFmt
Extra format information. This information is used by non-PCM formats to store extra attributes for the FormatTag. If no extra information is required this member is empty.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapSetPreview

Allowes the setting of several parameters concerning the video preview window.

Connector Pane
vcapsetpreviewc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
cenum Mode(Off)
Off | Hide video preview window.
Live | Show video preview window in live mode. In live mode, frames are transferred from the capture hardware to system memory and then displayed in the capture window using GDI functions. The live mode uses substantial CPU resources. Enabling live mode automatically disables overlay mode.
Overlay | Show video preview window in overlay mode. In overlay mode, video is displayed using hardware overlay (only if the hardware supports this). Using an overlay does not require CPU resources. Enabling overlay mode automatically disables live mode.

ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 LiveRate(15)
Sets the frame display rate in live mode.
cbool Scale(Off)
Enables scaling of the preview video images in Live display mode. If scaling is enabled, the captured video frame is stretched to the dimensions of the preview window.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapSetVideoFmt

Use this VI to set the videodevice`s Format.

You may use VCapOpenDialog.vi to open a dialog box the user can select the video format interactively.

Connector Pane
vcapsetvideofmtc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
cnclst VideoFmt
This cluster contains all necessary video format information.
cu32 LineBytes
No. of bytes for one scanline of an image.
ci32 Width
Pixel-width of the image.
ci32 Height
Pixel-height of the image.
cu32 BitCnt
No. of bits per pixel.

Use:
· 1 for 2 color images (palletized)
· 4 for 16 color images (palletized)
· 8 for 256 color images (palletized)
· 16 for 16-BIT images
· 24 for 24-BIT images
· 32 for 32-BIT images

others BIT-depths may be used for some compressed formats.
cenum Compress
Compression format.

RGB (0) | uncompressed
RLE8 (1) | 8-BIT runlength encoded (for BitCnt 8 only)
RLE4 (2) | 4-BIT runlength encoded (for BitCnt 4 only)
BitFld (3) | Bitfield color definition (for BitCnt 16 and 32 only)
Compr(?) | Compressor specific values
cu32 FrameSize
Bytes size of the frame data.
ci32 XPix/Mtr
No. of pixels/meter (X-Direction).
ci32 YPix/Mtr
No. of pixels/meter (Y-Direction).
cu32 ClrUsed
Colors used. For images with BIT-depth 1, 4, 8 only. Use zero for the max. colors.
cu32 ClrImp
Colors important, normally zero.
ccclst BMPInfo
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapSetVideoFmtEx

Use this VI to set the videodevice`s Format (extended version).

You may use VCapOpenDialog.vi to open a dialog box the user can select the video format interactively.

Connector Pane
vcapsetvideofmtexc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ccclst BMPInfo
This cluster contains all necessary video format information.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


VCapShowViewer

This VI sets the appearance of the video preview window.

Connector Pane
vcapshowviewerc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
cenum Command
Hide | Hides the video preview window.
Show | Shows the video preview window as a normal window.
Minimize | Minimizes the video preview window.
Maximize | Maximizes the video preview window.
Restore | Restores from minimizing, maximizing etc. to the state the window had before.
Redraw | Redraws the window and the displayed video frame.
FullScrn | Switch to full screen display (without window framing).
FullWin | Resize the window to the extend of the video frame.
RestScrn | Restores previous window state, before setting to FullScr.

ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


BMPBitFields

Creates a BitMask cluster usable in a bitmapinfo.

Connector Pane
bmpbitfieldsc

Controls and Indicators
cenum BFType(555)
ci32 R-Bits(8)
ci32 G-Bits(8)
ci32 B-Bits(8)
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 BMArray
iu32 Color Box


BMPFileRead

Reads a windows BMP-File.

Connector Pane
bmpfilereadc

Controls and Indicators
cpath BMPFile
Filepath of BMP-File.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool HdrOnly?(F)
TRUE: Read header (BMPInfo) only.
icclst BMPInfo
Returns BMP-Header.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
i1du8 BMPData
Returns Bitmap-data.
iu8 Numeric
ipath BMPFile/dup
Duplicated filepath of BMP-File.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
inclst XBMPFHdr
iu16 bfType
iu32 bfSize
iu32 fccHandler
iu32 bfOffBits
iu32 fccHandler
Returns four-character code identifying the compressor that compressed the bitmap image. Zero if uncompressed or unknown.


BMPFileWrite

Writes a windows bitmap file.

Connector Pane
bmpfilewritec

Controls and Indicators
cpath BMPFile
Filepath of BMP-File.
ccclst BMPInfo
BMP-Header.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
c1du8 BMPData
Bitmap-data.
cu8 Numeric
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool Overwrite(F)
TRUE: Overwrite file if exists.
cu32 fccHandler
Four-character code identifying the compressor that compressed
the bitmap image.
ipath BMPFile/dup
Duplicated filepath of BMP-File.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


BMPIHdrCast

Casts a bitmapinfo-header from raw format into a LabVIEW cluster and vice versa.

Internal usage only.

Connector Pane
bmpihdrcastc

Controls and Indicators
cnclst BMPIHdr/in
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
c1du32 BMPIHdrRaw/in
cbool EmptyErr?
ibool OK?
i1du32 BMPIHdrRaw/out
inclst BMPIHdr/out
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
ii32 LineBytes


BMPInfoCast

Casts a bitmapinfo from raw format into a labview cluster and vice versa.

Internal usage only.

Connector Pane
bmpinfocastc

Controls and Indicators
ccclst BMPInfo/in
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
c1du32 BMPInfoRaw/in
cbool EmptyErr(F)
cbool MaxPalSize(T)
ibool OK?
i1du32 BMPInfoRaw/out
icclst BMPInfo/out
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ii32 LineBytes


BMPInfoClass

Tries to find out some characteristics of the given bitmapinfo.

Connector Pane
bmpinfoclassc

Controls and Indicators
ccclst BMPInfo
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ibool IsValid?
TRUE: Format is valid.
ibool IsEmpty?
TRUE: Format is empty.
ibool IsCompr?
TRUE: Format is compressed.
ibool HasPal?
TRUE: Format needs/has a color palette.
ibool HasBitF?
TRUE: Format has Bitfields (16 or 32-BIT formats only).
ibool IsUndef?
TRUE: Format is undefined.


FindLVWindow

With this vi you can get the window-handle of a visible LabVIEW front panel window.
It is useful if want to set the parent window handle for the video viewer.

Connector Pane
findlvwindowc

Controls and Indicators
cstr VIName(""=top)
Connect the vi-name (not the window name) of a visible top-level vi to return its window-handle.

Leave this parameter unconnected (or connect an empty string) to get a window-handle of the top-level vi that called this function.
iu32 hWnd
Window-handle of the specified top-level vi.

Returns zero if unsuccessful.


SelectVDevice

Allowes the user to select one of its installed video devices.

If AskAlways is
- false: The user will be asked for the device to use only if there are 2 or more available devices
in the system
- true: The user will always see a dialog box.

Connector Pane
selectvdevicec

Controls and Indicators
cbool OK
cbool Cancel
ci32 Ring
cbool AskAlways(F)
iu32 DeviceID
DeviceID: Number of your videodevice.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


VCapViewerGetFrame

Returns attributes concerning the window-frame of video previewer.

Connector Pane
vcapviewergetframec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst FrameAttr
This cluster contains the titlebar and windowframe attributes of the previewer window.
istr Title
Title of the viewer window.

Leave it empty if you do not want to change the title (VCapViewerSetFrame.vi).
ii32 ShowTitle
Show or hide the title bar.

A window without a title bar is not movable by the mouse!
ii32 ShowMenu
Appearance of the system menu on the left of the titlebar (if titlebar visible).

Hide | Hide the menu.
SysMenu | Show the standard system menu only.
ExtMenu | Show the extended system menu.
ii32 ShowMMC
Enable or disable the minimize and/or the maximize and/or the close button on the right side of the titlebar (if titlebar visible).

Hide | Disable all buttons.
Min | Enable minimize button.
Max | Enable maximize button.
Min+Max | Enable minimize and maximize button.
Close | Enable close button.
Min+Close | Enable minimize and close button.
Max+Close | Enable maximize and close button.
Min+Max+Close | Enable minimize and maximize and close button
ii32 ShowFrame
Defines the frame of the viewer window.

Hide | No frame. Valid only if titlebar is NOT visible! Window is NOT resizeable.
Thin | Thin, one pixel wide frame. Valid only if titlebar is NOT visible! Window is NOT resizeable.
Mean | This is the frame dialog boxes normally have. Window is NOT resizeable.
Thick: (default) | This is the frame a standard application window has. Window is resizeable.
ii32 ShowScroller
Show or hide the horizontal and/ vertical scrollbar.

Hide | Hide both scrollbars.
Horizontal | Show horizontal scrollbar only;
Vertical | Show vertical scrollbar only;
Both | Show both scrollbars.
ii32 Others
Other attributes.
Following are defined (so far)

BIT-0: 1 = window is disabled (does not accept user input)

To change one of the attributes you must set the corresponding BIT in the upper word of the attribute to 1.

For example:
To disable the previewer window use bitmask x00010001, to enable user input again use x00010000.


VCapViewerGetHWND

This VI returns the window handle of the video preview window.

Connector Pane
vcapviewergethwndc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 hWnd
Window-handle of the video preview-window.


VCapViewerGetParent

Returns the window-handle of the parent window of the video preview window.

Returns zero if no parent has been set (in this case the desktop is the parent).

Connector Pane
vcapviewergetparentc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 hWnd


VCapViewerGetPlace

Returns placement information of the video preview window.

Connector Pane
vcapviewergetplacec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst WndPlace
The WINDOWPLACEMENT cluster contains information about the placement of a window on the screen.
iu32 Flags
Specifies flags that control the position of the minimized window and the method by which the window is restored. This member can be one or both of the following values:

x00000002 | WPF_RESTORETOMAXIMIZED | Specifies that the restored window will be maximized, regardless of whether it was maximized before it was minimized. This setting is only valid the next time the window is restored. It does not change the default restoration behavior. This flag is only valid when the 'ShowMin' value is specified for the ShowCmd member.
x00000001 | WPF_SETMINPOSITION | Specifies that the coordinates of the minimized window may be specified. This flag must be specified if the coordinates are set in the MinPos member.
ienum ShowCmd
Specifies the current show state of the window.
inclst MinPos
Specifies the coordinates of the window's upper-left corner when the window is minimized.
ii32 Left
ii32 Top
inclst MaxPos
Specifies the coordinates of the window's upper-left corner when the window is maximized.
ii32 Left
ii32 Top
inclst NormPos
Specifies the window's coordinates when the window is in the restored position.
ii32 Left
ii32 Top
ii32 Right
ii32 Bottom


VCapViewerScroll

According to the 'Mode' parameter this vi can get and set the absolute X/Y scroll position of the visible frame within the preview window, or return the scroll ranges.

Connector Pane
vcapviewerscrollc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ci32 PosX(-1)
Absolute X position to set (for Mode SetPos only).
ci32 PosY(-1)
Absolute Y position to set (for Mode SetPos only).
cenum Mode(GetPos)
ii32 ResultX
According to the 'Mode' parameter it returns:

GetPos | Current absolute X position.
SetPos | Previous absolute X position.
GetRng | Max. setable X position (minimum is always zero)

idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 ResultY
According to the 'Mode' parameter it returns:

GetPos | Current absolute Y position.
SetPos | Previous absolute Y position.
GetRng | Max. setable Y position (minimum is always zero)


VCapViewerSetFGround

Moves the video previewer window (or any other window) into the foreground (if visible).

As the previewer window is sometimes hidden by other windows on the screen, this vi allows to move it in front of all other windows.

Connector Pane
vcapviewersetfgroundc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 hWnd
Window handle of window to move into the foreground.

Connecting zero or leaving it unconnected brings the viewer window into the foreground (if visible).
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 PrevhWnd


VCapViewerSetFrame

With this vi one can modify nearly all appearance attributes of the video previewer window.

It is possible to
· set the title,
· hide/show the titlebar (enables/disables moving)
· hide the menu, set standard or extended menu
· enable/disable minimize and/or maximize and/or close button
· hide the windows frame or set thickness thin, mean or thick
· enable/disable sizing (by setting the frame)
· enable/disable the horizontal and/or vertical scrollbar
· enable/disable mouse/keyboard input

Connector Pane
vcapviewersetframec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ccclst NewAttr
This cluster contains the titlebar and windowframe attributes of the previewer window.
cstr Title
Title of the viewer window.

Leave it empty if you do not want to change the title (VCapViewerSetFrame.vi).
ci32 ShowTitle
Show or hide the title bar.

A window without a title bar is not movable by the mouse!
ci32 ShowMenu
Appearance of the system menu on the left of the titlebar (if titlebar visible).
Hide: | Hide the menu.
SysMenu: | Show the standard system menu only.
ExtMenu: | Show the extended system menu.
ci32 ShowMMC
Enable or disable the minimize and/or the maximize and/or the close button on the right side of the titlebar (if titlebar visible).

Hide | Disable all buttons.
Min | Enable minimize button.
Max | Enable maximize button.
Min+Max | Enable minimize and maximize button.
Close | Enable close button.
Min+Close | Enable minimize and close button.
Max+Close | Enable maximize and close button.
Min+Max+Close | Enable minimize and maximize and close button
ci32 ShowFrame
Defines the frame of the viewer window.

Hide | No frame. Valid only if titlebar is NOT visible! Window is NOT resizeable.
Thin | Thin, one pixel wide frame. Valid only if titlebar is NOT visible! Window is NOT resizeable.
Mean | This is the frame dialog boxes normally have. Window is NOT resizeable.
Thick: (default) | This is the frame a standard application window has. Window is resizeable.
ci32 ShowScroller
Show or hide the horizontal and/ vertical scrollbar.

Hide | Hide both scrollbars.
Horizontal | Show horizontal scrollbar only;
Vertical | Show vertical scrollbar only;
Both | Show both scrollbars.
ci32 Others
Other attributes.
Following are defined (so far)

BIT-0: 1
window is disabled (does not accept user input)

To change one of the attributes you must set the corresponding BIT in the upper word of the attribute to 1.

For example:
To disable the previewer window use bitmask x00010001, to
enable user input again use x00010000.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst PrevAttr
This cluster contains the titlebar and windowframe attributes of the previewer window.
istr Title
Title of the viewer window.

Leave it empty if you do not want to change the title (VCapViewerSetFrame.vi).
ii32 ShowTitle
Show or hide the title bar.

A window without a title bar is not movable by the mouse!
ii32 ShowMenu
Appearance of the system menu on the left of the titlebar (if titlebar visible).

Hide | Hide the menu.
SysMenu | Show the standard system menu only.
ExtMenu | Show the extended system menu.
ii32 ShowMMC
Enable or disable the minimize and/or the maximize and/or the close button on the right side of the titlebar (if titlebar visible).

Hide | Disable all buttons.
Min | Enable minimize button.
Max | Enable maximize button.
Min+Max | Enable minimize and maximize button.
Close | Enable close button.
Min+Close | Enable minimize and close button.
Max+Close | Enable maximize and close button.
Min+Max+Close | Enable minimize and maximize and close button
ii32 ShowFrame
Defines the frame of the viewer window.

Hide | No frame. Valid only if titlebar is NOT visible! Window is NOT resizeable.
Thin | Thin, one pixel wide frame. Valid only if titlebar is NOT visible! Window is NOT resizeable.
Mean | This is the frame dialog boxes normally have. Window is NOT resizeable.
Thick: (default) | This is the frame a standard application window has. Window is resizeable.
ii32 ShowScroller
Show or hide the horizontal and/ vertical scrollbar.

Hide | Hide both scrollbars.
Horizontal | Show horizontal scrollbar only;
Vertical | Show vertical scrollbar only;
Both | Show both scrollbars.
ii32 Others
Other attributes.
Following are defined (so far)

BIT-0: 1
window is disabled (does not accept user input)

To change one of the attributes you must set the corresponding BIT in the upper word of the attribute to 1.

For example:
To disable the previewer window use bitmask x00010001, to enable user input again use x00010000.


VCapViewerSetParent

Set the parent window for the video preview window.

If a parent window is set, the preview window is only visible within the parents client area, and its position is relative this.

Connector Pane
vcapviewersetparentc

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 Parent
Window-handle of the parent to set.

Use zero to remove a previously set parent. In this case the previewers window position is relative to the screen.
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 Previous
Window handle of the previous parent. Returns zero if no parent window was set.


VCapViewerSetPlace

Set placement of the video preview window. Returns previous settings.

To move and/or size the window set the NormPos member of the WndPlace parameter.

The coordinates of the WndPlace parameter are always relative to the current video viewers parent window. If no parent window is set, the coordinates are relative to the screen (desktop).

Connector Pane
vcapviewersetplacec

Controls and Indicators
cdlrn hVidCap
Handle used for video capture and video stream functions.
ccclst error in (no error)
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ccclst WndPlace
Placement to set.

The WINDOWPLACEMENT cluster contains information about the placement of a window on the screen.
cu32 Flags
Specifies flags that control the position of the minimized window and the method by which the window is restored. This member can be one or both of the following values:

x00000002 | WPF_RESTORETOMAXIMIZED | Specifies that the restored window will be maximized, regardless of whether it was maximized before it was minimized. This setting is only valid the next time the window is restored. It does not change the default restoration behavior. This flag is only valid when the 'ShowMin' value is specified for the ShowCmd member.
x00000001 | WPF_SETMINPOSITION | Specifies that the coordinates of the minimized window may be specified. This flag must be specified if the coordinates are set in the MinPos member.
cenum ShowCmd
Specifies the current show state of the window.
cnclst MinPos
Specifies the coordinates of the window's upper-left corner when the window is minimized.
ci32 Left
ci32 Top
cnclst MaxPos
Specifies the coordinates of the window's upper-left corner when the window is maximized.
ci32 Left
ci32 Top
cnclst NormPos
Specifies the window's coordinates when the window is in the restored position.
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
idlrn hVidCap/dup
Handle used for video capture and video stream functions.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst PrevPlace
Previous placement.

The WINDOWPLACEMENT cluster contains information about the placement of a window on the screen.
iu32 Flags
Specifies flags that control the position of the minimized window and the method by which the window is restored. This member can be one or both of the following values:

x00000002 | WPF_RESTORETOMAXIMIZED | Specifies that the restored window will be maximized, regardless of whether it was maximized before it was minimized. This setting is only valid the next time the window is restored. It does not change the default restoration behavior. This flag is only valid when the 'ShowMin' value is specified for the ShowCmd member.
x00000001 | WPF_SETMINPOSITION | Specifies that the coordinates of the minimized window may be specified. This flag must be specified if the coordinates are set in the MinPos member.

ienum ShowCmd
Specifies the current show state of the window.
inclst MinPos
Specifies the coordinates of the window's upper-left corner when the window is minimized.
ii32 Left
ii32 Top
inclst MaxPos
Specifies the coordinates of the window's upper-left corner when the window is maximized.
ii32 Left
ii32 Top
inclst NormPos
Specifies the window's coordinates when the window is in the restored position.
ii32 Left
ii32 Top
ii32 Right
ii32 Bottom


FccCast

Casts a numerical FCC (Four-charceter-Code) into ASCII (string) form and vice versa.

FCC's are used to identify compression/decompression handlers and handler-types.

Connector Pane
fcccastc

Controls and Indicators
cu32 fccNum/in
cstr fccStr/in
iu32 fccNum/out
istr fccStr/out


VcmInfoCast

Casts a VCMINFO from raw into LabVIEW cluster format.

Internal usage only.

Connector Pane
vcminfocastc

Controls and Indicators
c1du32 VcmInfoRaw/in
cu32 Numeric
icclst VcmInfo/out
Contains compression parameters supplied by a video compression driver.
iu32 SysHandle
VCM Systemhandle. Zero if not open.
iu32 fccType
Four-character code indicating the type of stream being compressed or decompressed. Specify "VIDC" for video streams.
iu32 fccHandler
A four-character code identifying a specific compressor.
iu32 Flags
Applicable flags. Zero or more of the following flags can be set:
x0001 | VIDCF_QUALITY | Driver supports quality values.
x0002 | VIDCF_CRUNCH | Driver supports compressing to a frame size.
x0004 | VIDCF_TEMPORAL | Driver supports inter-frame compression.
x0008 | VIDCF_COMPRESSFRAMES | Driver is requesting to compress all frames.
x0010 | VIDCF_DRAW | Driver supports drawing.
x0020 | VIDCF_FASTTEMPORALC | Driver can perform temporal compression and maintains its own copy of the current frame. When compressing a stream of frame data, the driver doesn't need image data from the previous frame.
x0080 | VIDCF_FASTTEMPORALD | Driver can perform temporal decompression and maintains its own copy of the current frame. When decompressing a stream of frame data, the driver doesn't need image data from the previous frame.
iu32 DrvVers
Version member of driver.
iu32 ICMVers
Version of VCM supported by the driver. This member should be set to ICVERSION (x104).
istr Name
Short version of the compressor name. The name should be suitable for use in list boxes.
istr Descr
Long version of the compressor name.
istr Driver
Name of the module containing VCM compression driver. Normally, a driver does not need to fill this out.
ibool AboutDlg
TRUE: Driver can display an About-Dialogbox.
ibool ConfigDlg
TRUE: Driver can display a Configuration-Dialogbox.
ibool DrvCfgDlg
TRUE: Driver can display a specific Configuration-Dialogbox.
ii32 DefQuality
Default quality setting (0..10000). -1 if not supported.
ii32 DefKeyRate
Default keyframerate setting. -1 if not supported.
ii32 StateSize
Size in bytes of driver specific state information.
i1du32 VcmInfoRaw/Def
iu32 Numeric


XVCmEnumCompressor

Enumerates all video compressors in the system. Returns an array of four-character-codes.

Connector Pane
xvcmenumcompressorc

Controls and Indicators
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
i1du32 Compressors
List of four-character-codes of the found compressors.
iu32 fccHandler
Four-character code identifying a specific compressor.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


XVcmEnumComprFmt

Tries to enumerate supported source/destination format combinations for a specific or all video compression drivers in the system.

Connector Pane
xvcmenumcomprfmtc

Controls and Indicators
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst SrcFmt
Uncompressed source format the driver should be able to compress. Leave it empty to try some uncompressed standard formats.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst DstFmt
Destination format the driver should be able to compress into. Leave it empty to allow any format.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
cu32 fccHandler
Four-character code of the video compression driver to query.
Use zero to try all installed compression drivers.
c1dtdef StdFmt
ccclst SrcFmt
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
i1dcclst CFmtInfo
Enumeration result.

Lists all found compressors an there supported source/destination format combinations found.
icclst CFmtInfo
iu32 fccHandler
i1dcclst FmtPairs
icclst FmtPair
icclst SrcFmt
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst DstFmt
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


XVcmEnumDecompressor

Enumerates all video decompressors in the system. Returns an array of four-character-codes.

Connector Pane
xvcmenumdecompressorc

Controls and Indicators
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
i1du32 Decompressors
List of four-character-codes of the found decompressors.
iu32 fccHandler
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


XVcmEnumDecomprFmt

Tries to enumerate supported source/destination format combinations for a specific or all video decompression drivers in the system.

Connector Pane
xvcmenumdecomprfmtc

Controls and Indicators
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst InpFmt
Compressed input format the compression driver should be able to decompress.
You may leave it empty. In this case the function tries to find out all supported compressed formats.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Destination format the driver should be able to decompress into. Leave it empty to allow any format.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
cu32 fccHandler
Four-character code of the video decompression driver to query.
Use zero to try all installed decompression drivers.
i1dcclst DFmtInfo
Enumeration result.

Lists all found decompressors an there supported source/destination format combinations found.
icclst CFmtInfo
iu32 fccHandler
i1dcclst FmtPairs
icclst FmtPair
icclst InpFmt
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
RGB
RLE8
RLE4
BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst OutFmt
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
RGB
RLE8
RLE4
BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


XVcmInfo

Retrieves information about specific installed compressors/decompressors or drawrenderer or enumerates the installed compressors.

Returns TRUE if successful or FALSE otherwise.

fccType
Four-character code indicating the type of compressor. Specify zero to match video compressor types.
fccHandler
Four-character code identifying a specific compressor/decompressor/drawrenderer or a number between zero and the number of installed compressors of the type specified by fccType.
VcmInfo
Structure to return information about the compressor/decompressor/drawrenderer.

To enumerate the compressors or decompressors, specify an integer for fccHandler. This function returns information for integers between zero and the number of installed compressors/decompressors/drawrendere of the type specified for fccType.

Connector Pane
xvcminfoc

Controls and Indicators
cu32 fccType(0=vidc)
Four-character code indicating the type of compressor/decompressor /drawrenderer. Specify zero to match video type.
cu32 fccHandler
Four-character code identifying a specific compressor/decompressor/drawrenderer or a number between zero and the number of installed drivers of the type specified by fccType.

To enumerate the compressors/decompressors/drawrendere, specify an integer for fccHandler. This function returns information for integers between zero and the number of installed drivers of the type specified by fccType.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cenum Usage(Any)
Set this parameter according to the kind of usage you plan.
The function tries to open a found driver according to this usage.
If a driver cannot be used in that way the function will return ICM_UNSUPPORTED (-1). "QueryAny" opens a driver for informational purposes only, and should therefore never return ICM_UNSUPPORTED.
icclst VcmInfo
Information on a specific compressor/decompressor or drawrenderer driver.
iu32 SysHandle
VCM Systemhandle. Zero if not open.
iu32 fccType
Four-character code indicating the type of stream being compressed or decompressed. Specify "VIDC" for video streams.
iu32 fccHandler
A four-character code identifying a specific compressor/decompressor or drawrenderer.
iu32 Flags
Applicable flags. Zero or more of the following flags can be set:
x0001 | VIDCF_QUALITY | Driver supports quality values.
x0002 | VIDCF_CRUNCH | Driver supports compressing to a frame size.
x0004 | VIDCF_TEMPORAL | Driver supports inter-frame compression.
x0008 | VIDCF_COMPRESSFRAMES | Driver is requesting to compress all frames.
x0010 | VIDCF_DRAW | Driver supports drawing.
x0020 | VIDCF_FASTTEMPORALC | Driver can perform temporal compression and maintains its own copy of the current frame. When compressing a stream of frame data, the driver doesn't need image data from the previous frame.
x0080 | VIDCF_FASTTEMPORALD | Driver can perform temporal decompression and maintains its own copy of the current frame. When decompressing a stream of frame data, the driver doesn't need image data from the previous frame.
iu32 DrvVers
Version member of driver.
iu32 ICMVers
Version of VCM supported by the driver. This member should be set to ICVERSION (x104).
istr Name
Short version of the compressor name. The name should be suitable for use in list boxes.
istr Descr
Long version of the compressor name.
istr Driver
Name of the module containing VCM compression driver. Normally, a driver does not need to fill this out.
ibool AboutDlg
TRUE: Driver can display an About-Dialogbox.
ibool ConfigDlg
TRUE: Driver can display a Configuration-Dialogbox.
ibool DrvCfgDlg
TRUE: Driver can display a specific Configuration-Dialogbox.
ii32 DefQuality
Default quality setting (0..10000). -1 if not supported.
ii32 DefKeyRate
Default keyframerate setting. -1 if not supported.
ii32 StateSize
Size in bytes of driver specific state information.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
iu32 fccHandler/out
Returns the four-character code identifying the specific compressor/decompressor/drawrender of the type fccType/out.
iu32 fccType/out
Returns the four-character code indicating the type of compressor/decompressor/drawrenderer.


XVcmQuery

Queries a video compression/decompression driver to determine if it supports a specific input format or if it can compress/decompress a specific input format to a specific output format.

Connector Pane
xvcmqueryc

Controls and Indicators
cu32 fccType(0=vidc)
Four-character code indicating the type of compressor/decompressor /drawrenderer. Specify zero to match video type.
cu32 fccHandler
Four-character code identifying a specific compressor/decompressor/drawrenderer or a number between zero and the number of installed drivers of the type specified by fccType.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cenum Usage(Compr)
Set this parameter according to the kind of usage you plan.
The function tries to open a found driver according to this usage.
If a driver cannot be used in that way the function will return ICM_UNSUPPORTED (-1).
ccclst InpFmt
Structure containing the input format for the query.
Empty structures are not allowed.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Structure containing the output format. You can specify an empty format for this parameter to indicate any output format is acceptable.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
RGB
RLE8
RLE4
BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns the output format the driver compresses/decompresses data of the given input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns the given input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
iu32 fccHandler/out
Returns the four-character code identifying the specific compressor/decompressor/drawrender of the type fccType/out.
iu32 fccType/out
Returns the four-character code indicating the type of compressor/decompressor/drawrenderer.


XVcmCompressImage

Compresses a single image.

The function neither needs nor wants starting compression using XVcmCompressStart. It simply uses the input/output format and the input data to compress a single frame to return it in output data. As a minimum you must supply the input format and the input data. Neither a compressor handle nor an output format is needed. If you omit the compressor handle (VcmCHdl unconnected) the function searches for a compressor the supports the input format or the given input/output format combination. If output format is omitted the compressor itself selects an output format that provides best compression quality.

Connector Pane
xvcmcompressimagec

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.

You may leave it unconnected to let the function select one.
ccclst InpFmt
Uncompressed input format of provided image.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Optional output format for compression.

Leave it empty(unconnected) to let the compressor select one.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
c1du8 InpData
Raw uncompressed data of the image/frame as byte array.
ci32 Quality(-1)
Quality setting. Use -1 for default.
(1..10000, 10000 is best quality)
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns the output format used to compress the image/frame
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns duplicated input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
i1du8 OutData
Returns the raw data of the compressed image/frame as byte array.


XVcmCompressNext

Compresses the next frame/image in a sequential compression.

The format and size of the input data MUST match the input format given in the XVcmCompressStart call.
The function returns an error if you previously used XVcmCompressNextEx for compression!

Connector Pane
xvcmcompressnextc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
c1du8 InpData
Uncompressed raw frame/image data to compress.

The format and size of the input data MUST match the input format given in the XVcmCompressStart call.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
i1du8 OutData
Returns the raw data of the compressed frame/image as byte array.
iu32 AVIChunkId
Supplied for saving the frame into an AVI-Stream.
iu32 AVIFlags
Supplied for saving the frame into an AVI-Stream.


XVcmCompressNextEx

Compresses the next frame/image in a sequential compression.

The function allowes manipulation some parameters of the individual frame/image for compression.

Connector Pane
xvcmcompressnextexc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst InpFmt
Input format of this frame/image.

Only the dimensions and/or color palette should be changed in comparison to the input format given with XVcmCompressStart.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Output format for compression.
Use the output format returned from XVcmCompressStart.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
c1du8 InpData
Uncompressed raw frame/image data to compress.
The format and size of the input data MUST match the input format.
cbool IsKeyFrame(T)
TRUE: Compress this frame/image as a keframe.
ci32 FrameNum(0)
Number of the frame to compress.
Use -1 to leave it unchanged.
ci32 Quality(-1)
Quality setting.
Use -1 for default quality.
(1..10000, 10000 is best quality)
cu32 FrameSize(0)
Desired maximum size, in bytes, for compressing this frame/image. The size value is used for compression methods that can make tradeoffs between compressed image size and image quality. Specify zero for this member to use the default setting.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns output format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
iu32 AVIChunkId
Supplied for saving the frame into an AVI-Stream.
iu32 AVIFlags
Supplied for saving the frame into an AVI-Stream.
i1du8 OutData
Returns the raw data of the compressed frame/image as byte array.


XVcmCompressorChoose

Opens a dialog box where the user can select a video compressor and some additional parameters like Keyframerate, Datarate and Quality.
This function can display all registered compressors or list only the compressors that support a specific format.

Connector Pane
xvcmcompressorchoosec

Controls and Indicators
cu32 fccHandler(0)
Four-character code of the compressor. Specify ZERO to indicate the data is not to be recompressed. Specify "DIB" (x20424944) to indicate the data is an uncompressed, full frame. You can use this member to specify which compressor is selected by default when the dialog box is displayed.
cu32 Flags(0)
Applicable flags. The following values are defined:

x00000001 | ICMF_CHOOSE_KEYFRAME | Displays a check box and edit box to enter the frequency of key frames.
x00000002 | ICMF_CHOOSE_DATARATE | Displays a check box and edit box to enter the data rate for the movie.
x00000004 | ICMF_CHOOSE_PREVIEW | Displays a button to expand the dialog box to include a preview window. The preview window shows how frames of your movie will appear when compressed with the current settings.
x00000008 | ICMF_CHOOSE_ALLCOMPRESSORS | All compressors should appear in the selection list. If this flag is not specified, only the compressors that can handle the input format appear in the selection list.

cu32 hWnd(0)
Handle to a parent window for the dialog box.
cstr Title
String containing a title for the dialog box. This parameter is optional.
cpath AVIFile
AVIFile to use in the preview window. This parameter is optional.
ccclst InpFmt
Uncompressed data input format. Only compressors that support the specified data input format are included in the compressor list. This parameter is optional.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ci32 KeyRate/in
Keyframerate to preset the dialog box control.
Use -1 to use the compressors default value.
cu32 DataRate/in
Datarate in KBytes/Sec to preset the dialog box control.
ci32 Quality/in
Quality to preset the dialog box control.
Use -1 to use the compressors default value.
Allowed range is 1 to 10000, where 10000 is best quality.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
iu32 fccHandler/out
Four-character code of the compressor. Returns ZERO to indicate the data is not to be recompressed. Returns "DIB" to indicate the data is an uncompressed, full frame.
icclst OutFmt/out
Compressed data output format of the selected compressor. Valid only if an input format was given.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ii32 KeyRate/out
Returns the selected keyframerate.
iu32 DataRate/out
Returns the selected datarate in KBytes/Sec.
ii32 Quality/out
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst InpFmt/out
Uncompressed data input format. Only compressors that support the specified data input format are included in the compressor list. This parameter is optional.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.


XVcmCompressorClose

Closes a video compression driver and returns the four-character code of the handler.

Connector Pane
xvcmcompressorclosec

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
iu32 fccHandler
Returns the four character code of the compressor closed.


XVcmCompressorDlg

Opens a compressor specific dialog (if it supports it) for informational purposes or additional configuration.

Connector Pane
xvcmcompressordlgc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cenum Dialog(Cfg)
Type of dialog to open:

About: Shows the compressors about box.
Config: Opens the compressors configuration dialog box.
DrvCfg: Opens the low level drivers configuration dialog box.
cu32 hWnd(0)
Optional parent window handle for dialog box.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
ii32 Result
Returns:

0 | Cancel
1 | OK
2 | Restart of System required (for DrvCfg dialog only)


XVcmCompressorGetState

Returns the compressors internal state.

You may save the state and restore it later using XVcmCompressorSetState.

Connector Pane
xvcmcompressorgetstatec

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
i1du8 State
The compressors internal state.
iu8 Numeric


XVcmCompressorInfo

Returns information for the opened compressor.

Connector Pane
xvcmcompressorinfoc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
icclst VcmInfo
Contains compression parameters supplied by the video compression driver.
iu32 SysHandle
VCM Systemhandle. Zero if not open.
iu32 fccType
Four-character code indicating the type of stream being compressed or decompressed. Specify "VIDC" for video streams.
iu32 fccHandler
A four-character code identifying a specific compressor.
iu32 Flags
Applicable flags. Zero or more of the following flags can be set:
x0001 | VIDCF_QUALITY | Driver supports quality values.
x0002 | VIDCF_CRUNCH | Driver supports compressing to a frame size.
x0004 | VIDCF_TEMPORAL | Driver supports inter-frame compression.
x0008 | VIDCF_COMPRESSFRAMES | Driver is requesting to compress all frames.
x0010 | VIDCF_DRAW | Driver supports drawing.
x0020 | VIDCF_FASTTEMPORALC | Driver can perform temporal compression and maintains its own copy of the current frame. When compressing a stream of frame data, the driver doesn't need image data from the previous frame.
x0080 | VIDCF_FASTTEMPORALD | Driver can perform temporal decompression and maintains its own copy of the current frame. When decompressing a stream of frame data, the driver doesn't need image data from the previous frame.
iu32 DrvVers
Version member of driver.
iu32 ICMVers
Version of VCM supported by the driver. This member should be set to ICVERSION (x104).
istr Name
Short version of the compressor name. The name should be suitable for use in list boxes.
istr Descr
Long version of the compressor name.
istr Driver
Name of the module containing VCM compression driver. Normally, a driver does not need to fill this out.
ibool AboutDlg
TRUE: Driver can display an About-Dialogbox.
ibool ConfigDlg
TRUE: Driver can display a Configuration-Dialogbox.
ibool DrvCfgDlg
TRUE: Driver can display a specific Configuration-Dialogbox.
ii32 DefQuality
Default quality setting (0..10000). -1 if not supported.
ii32 DefKeyRate
Default keyframerate setting. -1 if not supported.
ii32 StateSize
Size in bytes of driver specific state information.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


XVcmCompressorOpen

Opens a video compression driver.

The function allowes to open a specific compressor (identified by fccHandler) or a one that supports a specific input format or a specific input/output format combination.

Connector Pane
xvcmcompressoropenc

Controls and Indicators
cu32 fccType(vidc)
Four-character code indicating the type of compressor. Specify zero to match video type.
cu32 fccHandler
Four-character code identifying a specific compressor or a number between zero and the number of installed drivers of the type specified by fccType.

If an input format is specified the function tries to find a compressor that can handle the given input format or can compress the input format into the given output format (if specified). In this case the fccHandler parameter is inpreted as the preferred handler of the specified type but may not be used if it cannot do the task. You may Specify zero if your application can use any handler type or it does not know the handler type to use.

If an input format is NOT specified (unconnected, empty) the function opens the compressor identified via fccHandler/fccType regardless of further uses. In this case you may use a number between zero and the number of installed codecs for fccHandler. The output format is ignored.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool Fast(F)
TRUE: Compressor should be used for fast real time operations.
FALSE: Compressor should be used for normal compression.

If you specify TRUE, open may fail if the compressor does not support fast real time compression.
ccclst InpFmt
Uncompressed input format. Optional.

If specified the function tries to find a compressor that can handle the given input format or can compress the input format into the given output format (if specified). In this case the fccHandler parameter is inpreted as the preferred handler of the specified type. You may Specify zero for fccHandler if your application can use any handler type or it does not know the handler type to use.

If input format is NOT specified (unconnected, empty) the function opens the compressor identified via fccHandler/fccType regardless of further uses. In this case you may use a number between zero and the number of installed codecs for fccHandler. The output format is ignored.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Compressed output format. Optional.

Used only if input format is specified. In this case the function tries to find a compressor that can compress the given input format into this output format.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns the output format for compression.
Valid only if InpFmt specified a valid format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns the input format for compression.
Valid only if InpFmt specified a valid format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmCHdl
Video compressor handle to be used with further video compression functions.
iu32 fccHandler/out
Four-character code identifying the specific compressor opened.


XVcmCompressorSetState

Restores (sets) the compressors internal state using previously saved state information.

Use XVcmCompressorGetState to get a compressors internal state.

Connector Pane
xvcmcompressorsetstatec

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
c1du8 State
The previously saved state for this compressor.
cu8 Numeric
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.


XVcmCompressQuery

Queries an opened video compression driver to determine if it supports a specific input format or if it can compress a specific input format to a specific output format.

Connector Pane
xvcmcompressqueryc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst InpFmt
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.


XVcmCompressStart

Starts a sequential compression of images/frames.

You must use XVcmCompressNext or XVcmCompressNextEx for any image/frame you want to compress. The images must not differ in there format and/or in there dimension if you use XVcmCompressNext. Using XVcmCompressNextEx allowes to change the dimensions for any single frame, but will fail if other format parameters change.

Connector Pane
xvcmcompressstartc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst InpFmt
Input format of the frames/images.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Output format the frames/images should be compressed into.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ci32 KeyRate(-1)
Keyframerate you want to have.
Use -1 to use the compressors default rate.
ci32 Quality(-1)
Quality setting.

Use -1 to use the compressors default setting.
(1..10000, 10000 is best quality)
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns output format the compressor uses.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/dup
Duplicated input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.


XVcmCompressStatus

Returns the compress status of an opened compressor.

Use this function if you started a sequential compression to return the input/output format, frame count and so on.

Connector Pane
xvcmcompressstatusc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt
Output format of last compressed frame.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt
Input format of last compressed frame.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.
inclst VcmCStatus
Compress status information.
ienum Status
Idle | No sequential compression started.
Run | Sequ. compression started. Compression uses XVcmCompressNext
RunEx | Sequ. compression started. Compression needs XVcmCompressNextEx
iu32 FrameCnt
No. of frames compressed so far.
ii32 KeyRate
Keyframe rate as required while start.
ii32 Quality
Quality setting as required while start.
(1..10000, 10000 = best quality)
iu32 Reserve0
iu32 Reserve1


XVcmCompressStop

Stops a sequential compression started using XVcmCompressStart.

Connector Pane
xvcmcompressstopc

Controls and Indicators
cdlrn VcmCHdl
Video compressor handle as returned from XVcmCompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video compressor handle as returned from XVcmCompressorOpen.


XVcmDecompressImage

Decompresses a single image.

The function neither needs nor wants starting decompression using XVcmDecompressStart. It simply uses the input/output format and the input data to decompress a single frame to return it in output data. As a minimum you must supply the input format and the input data. Neither a decompressor handle nor an output format is needed. If you omit the decompressor handle (VcmDHdl unconnected) the function searches for a decompressor the supports the input format or the given input/output format combination. If output format is omitted the decompressor itself selects an output format.

Connector Pane
xvcmdecompressimagec

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst InpFmt
Compressed input format of provided image.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Optional output format for decompression.
Leave it empty(unconnected) to let the decompressor select one.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
c1du8 InpData
Raw compressed data of the image/frame as byte array.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns the output format used to decompress the image/frame
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns duplicated input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
i1du8 OutData
Returns the raw data of the decompressed image/frame as byte array.


XVcmDecompressNext

Decompresses the next frame/image in a sequential decompression.

The format and size of the input data MUST match the input format given in the XVcmDecompressStart call.
The function returns an error if you previously used XVcmDecompressNextEx for decompression!

Connector Pane
xvcmdecompressnextc

Controls and Indicators
cdlrn VcmCHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
c1du8 InpData
Compressed raw frame/image data to decompress.
The format and size of the input data MUST match the input format given in the XVcmDecompressStart call.

cu32 AVIChunkId
Supplied for frames/images coming from an AVI-Stream.
Leave it unconnected or use zero instead.
cu32 AVIFlags
Supplied for frames/images coming from an AVI-Stream.
Leave it unconnected or use zero instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmCHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
i1du8 OutData
Returns the raw data of the decompressed frame/image as byte array.


XVcmDecompressNextEx

Decompresses the next frame/image in a sequential decompression.

The function allowes manipulation some parameters of the individual frame/image for decompression.

Connector Pane
xvcmdecompressnextexc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst InpFmt
Input format of this frame/image.

Only the dimensions and/or color palette should be changed in comparison to the input format given with XVcmDecompressStart.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Output format for decompression.

Use the output format returned from XVcmDecompressStart.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
c1du8 InpData
Compressed raw frame/image data to decompress.

The format and size of the input data MUST match the input format.
cu8
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cu32 AVIChunkId
Supplied for frames/images coming from an AVI-Stream.
Leave it unconnected or use zero instead.
cu32 AVIFlags
Supplied for frames/images coming from an AVI-Stream.
Leave it unconnected or use zero instead.
cnclst SrcRect
Rectangle within the source image to decompress.
(Only if decompressor supports it)

Leave it empty(unconnected) to use the full image dimensions.
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
cnclst DstRect
Destination rectangle the image(-portion) should be decompressed into.
(Only if decompressor supprts it)

Leave it empty(unconnected) to use the full image dimensions.
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns output format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
i1du8 OutData
Returns the raw data of the decompressed frame/image as byte array.


XVcmDecompressorClose

Closes a video decompression driver and returns the four-character code of the handler.

Connector Pane
xvcmdecompressorclosec

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
iu32 fccHandler
Returns the four character code of the decompressor closed.


XVcmDecompressorDlg

Opens a decompressor specific dialog (if it supports it) for informational purposes or additional configuration.

Connector Pane
xvcmdecompressordlgc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cenum Dialog(Cfg)
Type of dialog to open:

About: | Shows the decompressors about box.
Config: | Opens thede compressors configuration dialog box.
DrvCfg: | Opens the low level drivers configuration dialog box.

cu32 hWnd(0)
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ii32 Result
Returns:
0 | Cancel
1 | OK
2 | Restart of System required (for DrvCfg dialog only)


XVcmDecompressorGetState

Returns the decompressors internal state.

You may save the state and restore it later using XVcmDecompressorSetState.

Connector Pane
xvcmdecompressorgetstatec

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
i1du8 State
The decompressors internal state.
iu8 Numeric


XVcmDecompressorInfo

Returns information for the opened decompressor.

Connector Pane
xvcmdecompressorinfoc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
icclst VcmInfo
Contains decompression parameters supplied by the video decompression driver.
iu32 SysHandle
VCM Systemhandle. Zero if not open.
iu32 fccType
Four-character code indicating the type of stream being compressed or decompressed. Specify "VIDC" for video streams.
iu32 fccHandler
A four-character code identifying a specific compressor.
iu32 Flags
Applicable flags. Zero or more of the following flags can be set:
x0001 | VIDCF_QUALITY | Driver supports quality values.
x0002 | VIDCF_CRUNCH | Driver supports compressing to a frame size.
x0004 | VIDCF_TEMPORAL | Driver supports inter-frame compression.
x0008 | VIDCF_COMPRESSFRAMES | Driver is requesting to compress all frames.
x0010 | VIDCF_DRAW | Driver supports drawing.
x0020 | VIDCF_FASTTEMPORALC | Driver can perform temporal compression and maintains its own copy of the current frame. When compressing a stream of frame data, the driver doesn't need image data from the previous frame.
x0080 | VIDCF_FASTTEMPORALD | Driver can perform temporal decompression and maintains its own copy of the current frame. When decompressing a stream of frame data, the driver doesn't need image data from the previous frame.
iu32 DrvVers
Version member of driver.
iu32 ICMVers
Version of VCM supported by the driver. This member should be set to ICVERSION (x104).
istr Name
Short version of the compressor name. The name should be suitable for use in list boxes.
istr Descr
Long version of the compressor name.
istr Driver
Name of the module containing VCM compression driver. Normally, a driver does not need to fill this out.
ibool AboutDlg
TRUE: Driver can display an About-Dialogbox.
ibool ConfigDlg
TRUE: Driver can display a Configuration-Dialogbox.
ibool DrvCfgDlg
TRUE: Driver can display a specific Configuration-Dialogbox.
ii32 DefQuality
Default quality setting (0..10000). -1 if not supported.
ii32 DefKeyRate
Default keyframerate setting. -1 if not supported.
ii32 StateSize
Size in bytes of driver specific state information.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


XVcmDecompressorOpen

Opens a video decompression driver.

The function allowes to open a specific decompressor (identified by fccHandler) or one that supports a specific input format or a specific input/output format combination.

Connector Pane
xvcmdecompressoropenc

Controls and Indicators
cu32 fccType(vidc)
Four-character code indicating the type of decompressor. Specify zero to match video type.
cu32 fccHandler
Four-character code identifying a specific decompressor or a number between zero and the number of installed drivers of the type specified by fccType.

If an input format is specified the function tries to find a decompressor that can handle the given input format or can decompress the input format into the given output format (if specified). In this case the fccHandler parameter is inpreted as the preferred handler of the specified type but may not be used if it cannot do the task. You may Specify zero if your application can use any handler type or it does not know the handler type to use.

If an input format is NOT specified (unconnected, empty) the function opens the decompressor identified via fccHandler/fccType regardless of further uses. In this case you may use a number between zero and the number of installed codecs for fccHandler. The output format is ignored.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool Fast(F)
TRUE: Decompressor should be used for fast real time operations.
FALSE: Decompressor should be used for normal compression.

If you specify TRUE, open may fail if the decompressor does not support fast real time decompression.
ccclst InpFmt
Compressed input format. Optional.

If specified the function tries to find a decompressor that can handle the given input format or can decompress the input format into the given output format (if specified). In this case the fccHandler parameter is inpreted as the preferred handler of the specified type. You may Specify zero for fccHandler if your application can use any handler type or it does not know the handler type to use.

If input format is NOT specified (unconnected, empty) the function opens the decompressor identified via fccHandler/fccType regardless of further uses. In this case you may use a number between zero and the number of installed codecs for fccHandler. The output format is ignored.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Decompressed output format. Optional.

Used only if input format is specified. In this case the function tries to find a decompressor that can decompress the given input format into this output format.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
Returns the output format for decompression.
Valid only if InpFmt specified a valid format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
Returns the input format for decompression.
Valid only if InpFmt specified a valid format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions.
iu32 fccHandler/out
Four-character code identifying the specific decompressor opened.


XVcmDecompressorSetState

Restores (sets) the decompressors internal state using previously saved state information.

Use XVcmDecompressorGetState to get a decompressors internal state.

Connector Pane
xvcmdecompressorsetstatec

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
c1du8 State
The previously saved state for this decompressor.
cu8 Numeric
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.


XVcmDecompressQuery

Queries an opened video decompression driver to determine if it supports a specific input format or if it can decompress a specific input format to a specific output format.

Connector Pane
xvcmdecompressqueryc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst InpFmt
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
cnclst SrcRect
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
cnclst DstRect
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/out
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/out
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.


XVcmDecompressSetPal

The function specifies a palette for a video decompression driver to use if it is decompressing to a format that uses a palette.

Use XVcmDecompressQuery to get the palette (within the output format).

Connector Pane
xvcmdecompresssetpalc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst InpFmt
Input format that specifies the palette to be used for decompression.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.


XVcmDecompressStart

Starts a sequential decompression of images/frames.

You must use XVcmDecompressNext or XVcmDecompressNextEx for any image/frame you want to decompress. The images must not differ in there format and/or in there dimension if you use XVcmDecompressNext. Using XVcmDecompressNextEx allowes to change the dimensions for any single frame, but will fail if other format parameters change.

Connector Pane
xvcmdecompressstartc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ccclst InpFmt
Input format of the frames/images.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
ccclst OutFmt
Output format the frames/images should be decompressed into.
cnclst BMPInfoHdr
ci32 Width
ci32 Height
cu16 Planes
cu16 BitCnt
cu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
cu32 SizeImg
ci32 XPels/mtr
ci32 YPels/mtr
cu32 ClrUsed
cu32 ClrImp
cnclst BitMask
cu32 Red
cu32 Green
cu32 Blue
c1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
cu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
cnclst SrcRect
Rectangle within the source image to decompress.
(Only if decompressor supports it)

Leave it empty(unconnected) to use the full image dimensions.
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
cnclst DstRect
Destination rectangle the image(-portion) should be decompressed into.
(Only if decompressor supprts it)

Leave it empty(unconnected) to use the full image dimensions.
ci32 Left
ci32 Top
ci32 Right
ci32 Bottom
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt/dup
Returns output format the decompressor uses.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt/dup
Duplicated input format.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.


XVcmDecompressStatus

Returns the decompress status of an opened decompressor.

Use this function if you started a sequential decompression to return the input/output format, source/destination rectangle frame count and so on.

Connector Pane
xvcmdecompressstatusc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst OutFmt
Output format of last decompressed frame.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
icclst InpFmt
Input format of last decompressed frame.
inclst BMPInfoHdr
ii32 Width
ii32 Height
iu16 Planes
iu16 BitCnt
iu32 Compress
Compression Methods are as follow:
· RGB
· RLE8
· RLE4
· BITFIELDS
iu32 SizeImg
ii32 XPels/mtr
ii32 YPels/mtr
iu32 ClrUsed
iu32 ClrImp
inclst BitMask
iu32 Red
iu32 Green
iu32 Blue
i1du32 Palette
Colorpalette to use. Needed only for 1, 4 and 8 bits per pixel formats.
iu32
This contains palette information.
Note that palette information is used only under 15 bit mode, if you haver higher colordepth RGB information will be used instead.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
inclst VcmDStatus
Decompress status information.
ienum Status
Idle | No sequential decompression started.
Run | Sequ. decompression started. Decompression uses XVcmDecompressNext
RunEx | Sequ. decompression started. Decompression needs XVcmDecompressNextEx
iu32 FrameCnt
No. of frames decompressed so far.
ii32 UseRect
==0 | Decompression doesNOT use source/destination rectangles.
<>0 | Decompression uses source and/or destination rectangles.
iu32 Reserve0
iu32 Reserve1
iu32 Reserve2
inclst SrcRect
Source rectangle used for decompression.
Empty for full frame/image dimensions.
ii32 Left
ii32 Top
ii32 Right
ii32 Bottom
inclst DstRect
Destination rectangle used for decompression.
Empty for full frame/image dimensions.
ii32 Left
ii32 Top
ii32 Right
ii32 Bottom


XVcmDecompressStop

Stops a sequential decompression started using XVcmDecompressStart.

Connector Pane
xvcmdecompressstopc

Controls and Indicators
cdlrn VcmDHdl
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.
The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
idlrn VcmDHdl/dup
Video decompressor handle to be used with further video decompression functions as returned from XVcmDecompressorOpen.


XmmUtility

Enter topic text here.


JoystickCancelWait

Cancels all ongoing wait operations and returns the last joystick message.

A cancelled wait operation returns with the boolean parameter cancelled set to TRUE and a 'NONE' joystick message.

Connector Pane
joystickcancelwaitc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
inclst MsgInfo
Structure describing a joystick message.
ii32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2)
iu32 MsgTime
Time the message has been created, measured in ms since systemstart.
ienum JoyMsg
Type of joystick message.
NONE | No valid joystick message
ButtonDown | One of the joystick buttons was pressed
ButtonUp | One of the joystick buttons was released
Move | Joystick move in the X/Y-plane
ZMove | Z-axis move
Timer | Periodic message (with JoystickSetCapture 'Changed' set to false)
iu32 Buttons
Identifies the button that has changed state and the buttons that are pressed.
It can be one of the following:
x0001 | JOY_BUTTON1 | first joystick button is pressed.
x0002 | JOY_BUTTON2 | Second joystick button is pressed.
x0004 | JOY_BUTTON3 | Third joystick button is pressed.
x0008 | JOY_BUTTON4 | Fourth joystick button is pressed.

The following bits are set
for JoyMsg ButtonDown and ButtenUp ONLY

x0100 | JOY_BUTTON1CHG | First joystick button changed
x0200 | JOY_BUTTON2CHG | Second joystick button changed
x0400 | JOY_BUTTON3CHG | Third joystick button changed
x0800 | JOY_BUTTON4CHG | Fourth joystick button changed
ii32 XPos/ZPos
JoyMsg NOT ZMove
The X-axis coordinate of the joystick relative to the screen

JoyMsg is ZMove
The Z-axis coordinate
ii32 YPos
JoyMsg NOT ZMove
The Y-axis coordinate of the joystick relative to the screen.

JoyMsg is ZMove
Always zero.


JoystickCapabilities

Queries a joystick to determine its capabilities.

Returns JOYERR_NOERROR if successful or one of the following error values:

· MMSYSERR_NODRIVERThe joystick driver is not present.
· MMSYSERR_INVALPARAMAn invalid parameter was passed.

Connector Pane
joystickcapabilitiesc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst JoystickCaps
Contains information about the joystick capabilities.
iu16 ManID
Manufacturer identifier.
iu16 ProdID
Product identifier.
istr ProdName
String containing the joystick product name.
ii32 XMin
Min. X-Coordinate
ii32 XMax
Max. X-Coordinate
ii32 YMin
Min. Y-Coordinate
ii32 YMax
Max. Y-Coordinate
ii32 ZMin
Min. Z-Coordinate
ii32 ZMax
Max. Z-Coordinate
iu32 NumButtons
Nr. of jostick buttons.
iu32 PeriodMin
Smallest polling frequency supported when captured by the joySetCapture function.
iu32 PeriodMax
Largest polling frequency supported when captured by joySetCapture.
ii32 RMin
Minimum rudder value. The rudder is a fourth axis of movement.
ii32 RMax
Maximum rudder value. The rudder is a fourth axis of movement.
ii32 UMin
Minimum u-coordinate (fifth axis) value.
ii32 UMax
Maximum u-coordinate (fifth axis) value.
ii32 VMin
Minimum v-coordinate (sixth axis) value.
ii32 VMax
Maximum v-coordinate (sixth axis) value.
iu32 Caps
Joystick capabilities The following flags define individual capabilities that a joystick might have:
x0001 | JOYCAPS_HASZ | Joystick has z-coordinate information.
x0002 | JOYCAPS_HASR | Joystick has rudder (fourth axis) information.
x0004 | JOYCAPS_HASU | Joystick has u-coordinate (fifth axis) information.
x0008 | JOYCAPS_HASV | Joystick has v-coordinate (sixth axis) information.
x0010 | JOYCAPS_HASPOV | Joystick has point-of-view information.
x0020 | JOYCAPS_POV4DIR | Joystick point-of-view supports discrete values (centered, forward, backward, left, and right).
x0040 | JOYCAPS_POVCTS | Joystick point-of-view supports continuous degree bearings.
iu32 MaxAxes
Maximum number of axes supported by the joystick.
iu32 NumAxes
Number of axes currently in use by the joystick.
iu32 MaxButtons
Maximum number of buttons supported by the joystick.
istr RegKey
String containing the registry key for the joystick.
istr OEMVxD
String identifying the joystick driver OEM.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickChgScale

Change position scaling information from Factor/Offset form to Min/Max form (Type: '->Scale2') and vice versa (Type: '->Scale') .

The computation will be done with respect to the raw position range information returned by JoystickCapabilities.

Internally used by JoystickGetScaling2 and JoystickSetScaling2.

Connector Pane
joystickchgscalec

Controls and Indicators
ccclst JoyScale/in
Position scaling information in Factor/Offset form.

Positions will be scaled using following formula:

?Pos = ?PosRaw * ?Fact + ?Offs
cbool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl XFact
Scaling factor for this axis.
ci32 XOffs
Scaling offset for this axis.
cbool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl YFact
Scaling factor for this axis.
ci32 YOffs
Scaling offset for this axis.
cbool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl ZFact
Scaling factor for this axis.
ci32 ZOffs
Scaling offset for this axis.
cbool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl RFact
Scaling factor for this axis.
ci32 ROffs
Scaling offset for this axis.
cbool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl UFact
Scaling factor for this axis.
ci32 UOffs
Scaling offset for this axis.
cbool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl VFact
Scaling factor for this axis.
ci32 VOffs
Scaling offset for this axis.
ccclst JoyScale2/in
Position scaling information in Min/Max form.

Positions are mapped from the raw range into the given range.
cbool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 XMin
Min. range value to map the raw position range of this axis into.
ci32 XMax
Max. range value to map the raw position range of this axis into.
cbool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 YMin
Min. range value to map the raw position range of this axis into.
ci32 YMax
Max. range value to map the raw position range of this axis into.
cbool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 ZMin
Min. range value to map the raw position range of this axis into.
ci32 ZMax
Max. range value to map the raw position range of this axis into.
cbool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 RMin
Min. range value to map the raw position range of this axis into.
ci32 RMax
Max. range value to map the raw position range of this axis into.
cbool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 UMin
Min. range value to map the raw position range of this axis into.
ci32 UMax
Max. range value to map the raw position range of this axis into.
cbool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 VMin
Min. range value to map the raw position range of this axis into.
ci32 VMax
Max. range value to map the raw position range of this axis into.
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in (no error)
The error in cluster can accept error information wired from VIs previously called. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cbool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ci32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cstr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
cenum Type
icclst JoyScale2/out
Position scaling information in Min/Max form.

Positions are mapped from the raw range into the given range.
ibool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 XMin
Min. range value to map the raw position range of this axis into.
ii32 XMax
Max. range value to map the raw position range of this axis into.
ibool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 YMin
Min. range value to map the raw position range of this axis into.
ii32 YMax
Max. range value to map the raw position range of this axis into.
ibool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 ZMin
Min. range value to map the raw position range of this axis into.
ii32 ZMax
Max. range value to map the raw position range of this axis into.
ibool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 RMin
Min. range value to map the raw position range of this axis into.
ii32 RMax
Max. range value to map the raw position range of this axis into.
ibool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 UMin
Min. range value to map the raw position range of this axis into.
ii32 UMax
Max. range value to map the raw position range of this axis into.
ibool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 VMin
Min. range value to map the raw position range of this axis into.
ii32 VMax
Max. range value to map the raw position range of this axis into.
icclst JoyScale/out
Position scaling information in Factor/Offset form.

Positions will be scaled using following formula:

?Pos = ?PosRaw * ?Fact + ?Offs
ibool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl XFact
Scaling factor for this axis.
ii32 XOffs
Scaling offset for this axis.
ibool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl YFact
Scaling factor for this axis.
ii32 YOffs
Scaling offset for this axis.
ibool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl ZFact
Scaling factor for this axis.
ii32 ZOffs
Scaling offset for this axis.
ibool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl RFact
Scaling factor for this axis.
ii32 ROffs
Scaling offset for this axis.
ibool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl UFact
Scaling factor for this axis.
ii32 UOffs
Scaling offset for this axis.
ibool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl VFact
Scaling factor for this axis.
ii32 VOffs
Scaling offset for this axis.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
The error out cluster passes error or warning information out of a VI to be used by other VIs.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ibool status
The status boolean is either TRUE (X) for an error, or FALSE (checkmark) for no error or a warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
ii32 code
The code input identifies the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.
istr source
The source string describes the origin of the error or warning.

The pop-up option Explain Error (or Explain Warning) gives more information about the error displayed.


JoystickDevices

Queries the joystick driver for the number of joysticks it supports.

Returns the number of joysticks supported by the joystick driver or zero if no driver is present.

Use the joyGetPos function to determine whether a given joystick is physically attached to the system. If the specified joystick is not connected, joyGetPos returns a JOYERR_UNPLUGGED error value.

Connector Pane
joystickdevicesc

Controls and Indicators
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 Devices
Number of supported Joystick-Devices.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
iu32 Attached
Number of attached Joysticks.


JoystickGetMsgInfo

Returnes a captured joystick-message.

Connector Pane
joystickgetmsginfoc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
inclst MsgInfo
Structure describing a joystick message.
ii32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2)
iu32 MsgTime
Time the message has been created, measured in ms since systemstart.
ienum JoyMsg
Type of joystick message.

NONE | no valid joystick message
ButtonDown | one of the joystick buttons was pressed
ButtonUp | one of the joystick buttons was released
Move | Joystick move in the X/Y-plane
ZMove | Z-axis move
Timer | Periodic message (with JoystickSetCapture 'Changed' set to false)
iu32 Buttons
Identifies the button that has changed state and the buttons that are pressed.
It can be one of the following:
x0001 | JOY_BUTTON1 | first joystick button is pressed.
x0002 | JOY_BUTTON2 | Second joystick button is pressed.
x0004 | JOY_BUTTON3 | Third joystick button is pressed.
x0008 | JOY_BUTTON4 | Fourth joystick button is pressed.

The following bits are set
for JoyMsg ButtonDown and ButtenUp ONLY

x0100 | JOY_BUTTON1CHG | First joystick button changed
x0200 | JOY_BUTTON2CHG | Second joystick button changed
x0400 | JOY_BUTTON3CHG | Third joystick button changed
x0800 | JOY_BUTTON4CHG | Fourth joystick button changed
ii32 XPos/ZPos
JoyMsg NOT ZMove
The X-axis coordinate of the joystick relative to the screen

JoyMsg is ZMove
The Z-axis coordinate
ii32 YPos
JoyMsg NOT ZMove
The Y-axis coordinate of the joystick relative to the screen.

JoyMsg is ZMove
Always zero.


JoystickGetScale

Queries a joystick for its current axis scaling parameters.

The scaling parameters are returned in Factor/Offset form.

Connector Pane
joystickgetscalec

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
ibool UseScale
TRUE: Scaling is currently enabled.
FALSE: No scaling. Position informations are returned in raw format.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst JoyScale
Position scaling information in Factor/Offset form.

Positions will be scaled using following formula:

?Pos = ?PosRaw * ?Fact + ?Offs
ibool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl XFact
Scaling factor for this axis.
ii32 XOffs
Scaling offset for this axis.
ibool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl YFact
Scaling factor for this axis.
ii32 YOffs
Scaling offset for this axis.
ibool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl ZFact
Scaling factor for this axis.
ii32 ZOffs
Scaling offset for this axis.
ibool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl RFact
Scaling factor for this axis.
ii32 ROffs
Scaling offset for this axis.
ibool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl UFact
Scaling factor for this axis.
ii32 UOffs
Scaling offset for this axis.
ibool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
idbl VFact
Scaling factor for this axis.
ii32 VOffs
Scaling offset for this axis.


JoystickGetScale2

Queries a joystick for its current axis scaling parameters.

The scaling parameters are returned in Min/Max form.

Connector Pane
joystickgetscale2c

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
ibool UseScale
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
The 'code' returns one of the following multimedia-error codes:
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
icclst JoyScale
Position scaling information in Min/Max form.

Positions are mapped from the raw range into the given range.
ibool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 XMin
Min. range value to map the raw position range of this axis into.
ii32 XMax
Max. range value to map the raw position range of this axis into.
ibool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 YMin
Min. range value to map the raw position range of this axis into.
ii32 YMax
Max. range value to map the raw position range of this axis into.
ibool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 ZMin
Min. range value to map the raw position range of this axis into.
ii32 ZMax
Max. range value to map the raw position range of this axis into.
ibool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 RMin
Min. range value to map the raw position range of this axis into.
ii32 RMax
Max. range value to map the raw position range of this axis into.
ibool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 UMin
Min. range value to map the raw position range of this axis into.
ii32 UMax
Max. range value to map the raw position range of this axis into.
ibool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ii32 VMin
Min. range value to map the raw position range of this axis into.
ii32 VMax
Max. range value to map the raw position range of this axis into.


JoystickGetThreshold

Queries a joystick for its current movement threshold.

Returns JOYERR_NOERROR if successful or one of the following error values:
· MMSYSERR_NODRIVERThe joystick driver is not present.
· MMSYSERR_INVALPARAMAn invalid parameter was passed.

The movement threshold is the distance the joystick must be moved before a JOYMOVE message is sent to a window that has captured the device. The threshold is initially zero.

Connector Pane
joystickgetthresholdc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
iu32 Threshold
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickPosition

Queries a joystick for its position and button status.

Returns JOYERR_NOERROR if successful or one of the following

· MMSYSERR_NODRIVERThe joystick driver is not present.

· MMSYSERR_INVALPARAMAn invalid parameter was passed.

· JOYERR_UNPLUGGEDThe specified joystick is not connected to the system.

Connector Pane
joystickpositionc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
inclst JoystickInfo
Contains information about the joystick position and button state.
ii32 XPos
Current X-Coordinate.
ii32 YPos
Current Y-Coordinate.
ii32 ZPos
Current Z-Coordinate.
iu32 Buttons
Current state of joystick buttons described by one or more of the following values:
x0001 | JOY_BUTTON1 | First joystick button is pressed.
x0002 | JOY_BUTTON2 | Second joystick button is pressed.
x0004 | JOY_BUTTON3 | Third joystick button is pressed.
x0008 | JOY_BUTTON4 | Fourth joystick button is pressed.
x0100 | JOY_BUTTON1CHG | First joystick button changed
x0200 | JOY_BUTTON2CHG | Second joystick button changed
x0400 | JOY_BUTTON3CHG | Third joystick button changed
x0800 | JOY_BUTTON4CHG | Fourth joystick button changed

icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickPositionEx

Queries a joystick for its position and button status.

Returns JOYERR_NOERROR if successful or one of the following:
· MMSYSERR_NODRIVERThe joystick driver is not present.
· MMSYSERR_INVALPARAMAn invalid parameter was passed.
· JOYERR_UNPLUGGEDThe specified joystick is not connected to the system.
This function provides access to extended devices such as rudder pedals, point-of-view hats, devices with a large number of buttons, and coordinate systems using up to six axes. For joystick devices that use three axes or fewer and have fewer than four buttons, use the JoystickPosition function.

Connector Pane
joystickpositionexc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cu32 Flags
Flags indicating the information to return.
The following flags are defined:

x000000FF | JOY_RETURNALL | Equivalent to setting all of the JOY_RETURX to JOY_RETURNBUTTONS bits.
x00000001 | JOY_RETURNX | The dwXpos member contains valid data for the X-coordinate of the joystick.
x00000002 | JOY_RETURNY | The Ypos member contains valid data for the Y-coordinate of the joystick.
x00000004 | JOY_RETURNZ | The Zpos member contains valid data for the Z-coordinate of the joystick.
x00000008 | JOY_RETURNR | The Rpos member contains valid rudder pedal data. This information represents another (fourth) axis.
x00000010 | JOY_RETURNU | The Upos member contains valid data for a fifth axis of the joystick, if such an axis is available, or returns zero otherwise.
x00000020 | JOY_RETURNV | The Vpos member contains valid data for a sixth axis of the joystick, if such an axis is available, or returns zero otherwise.
x00000040 | JOY_RETURNPOV | The POV member contains valid information about the point-of-view control, expressed in discrete units.
x00000080 | JOY_RETURNBUTTONS | The dwButtons member contains valid information about the state of each joystick button.
x00000100 | JOY_RETURNRAWDATA | Data stored in this structure is uncalibrated joystick readings.
x00000200 | JOY_RETURNPOVCTS | The POV member contains valid information about the point-of-view control expressed in continuous, one-hundredth degree units.
x00000400 | JOY_RETURNCENTERED | Centers the joystick neutral position to the middle value of each axis of movement.
x00000800 | JOY_USEDEADZONE | Expands the range for the neutral position of the joystick and calls this range the dead zone. The joystick driver returns a constant value for all positions in the dead zone.

The following flags provide data to calibrate a joystick and are intended for custom calibration applications.

x00010000 | JOY_CAL_READALWAYS | Read the joystick port even if the driver does not detect a device.
x00020000 | JOY_CAL_READXYONLY | Reads the X- and Y-coordinates and place the raw values in Xpos and Ypos.
x00040000 | JOY_CAL_READ3 | Read the x-, y-, and z-coordinates and store the raw values in Xpos, Ypos, and Zpos.
x00080000 | JOY_CAL_READ4 | Read the rudder information and the X-, Y-, and Z-coordinates and store the raw values in Xpos, Ypos, Zpos, and Rpos.
x00100000 | JOY_CAL_READXONLY | Read the X-coordinate and store the raw (uncalibrated) value in Xpos.
x00200000 | JOY_CAL_READYONLY | Reads the y-coordinate and store the raw value in Ypos.
x00400000 | JOY_CAL_READ5 | Read the rudder information and the X-, Y-, Z-, and U-coordinates and store the raw values in Xpos, Ypos, Zpos, Rpos, and Upos.
x00800000 | JOY_CAL_READ6 | Read the raw V-axis data if a joystick mini driver is present that will provide the data. Returns zero otherwise.
x01000000 | JOY_CAL_READZONLY | Read the Z-coordinate and store the raw value in Zpos.
x02000000 | JOY_CAL_READRONLY | Read the rudder information if a joystick mini-driver is present that will provide the data and store the raw value in Rpos. Return zero otherwise.
x04000000 | JOY_CAL_READUONLY | Read the U-coordinate if a joystick mini-driver is present that will provide the data and store the raw value in Upos. Return zero otherwise.
x08000000 | JOY_CAL_READVONLY | Read the V-coordinate if a joystick mini-driver is present that will provide the data and store the raw value in Vpos. Return zero otherwise.

ii32 JoyID/dup
Duplicated Joystick-ID.
inclst JoystickInfoEx
Contains extended information about the joystick position, point-of-view position, and button state.
iu32 Flags
Flags indicating the valid information returned in this structure. Members that do not contain valid information are set to zero. The following flags are defined:

x000000FF | JOY_RETURNALL | Equivalent to setting all of the JOY_RETURX to JOY_RETURNBUTTONS bits.
x00000001 | JOY_RETURNX | The dwXpos member contains valid data for the X-coordinate of the joystick.
x00000002 | JOY_RETURNY | The Ypos member contains valid data for the Y-coordinate of the joystick.
x00000004 | JOY_RETURNZ | The Zpos member contains valid data for the Z-coordinate of the joystick.
x00000008 | JOY_RETURNR | The Rpos member contains valid rudder pedal data. This information represents another (fourth) axis.
x00000010 | JOY_RETURNU | The Upos member contains valid data for a fifth axis of the joystick, if such an axis is available, or returns zero otherwise.
x00000020 | JOY_RETURNV | The Vpos member contains valid data for a sixth axis of the joystick, if such an axis is available, or returns zero otherwise.
x00000040 | JOY_RETURNPOV | The POV member contains valid information about the point-of-view control, expressed in discrete units.
x00000080 | JOY_RETURNBUTTONS | The dwButtons member contains valid information about the state of each joystick button.
x00000100 | JOY_RETURNRAWDATA | Data stored in this structure is uncalibrated joystick readings.
x00000200 | JOY_RETURNPOVCTS | The POV member contains valid information about the point-of-view control expressed in continuous, one-hundredth degree units.
x00000400 | JOY_RETURNCENTERED | Centers the joystick neutral position to the middle value of each axis of movement.
x00000800 | JOY_USEDEADZONE | Expands the range for the neutral position of the joystick and calls this range the dead zone. The joystick driver returns a constant value for all positions in the dead zone.

The following flags provide data to calibrate a joystick and are intended for custom calibration applications.

x00010000 | JOY_CAL_READALWAYS | Read the joystick port even if the driver does not detect a device.
x00020000 | JOY_CAL_READXYONLY | Reads the X- and Y-coordinates and place the raw values in Xpos and Ypos.
x00040000 | JOY_CAL_READ3 | Read the x-, y-, and z-coordinates and store the raw values in Xpos, Ypos, and Zpos.
x00080000 | JOY_CAL_READ4 | Read the rudder information and the X-, Y-, and Z-coordinates and store the raw values in Xpos, Ypos, Zpos, and Rpos.
x00100000 | JOY_CAL_READXONLY | Read the X-coordinate and store the raw (uncalibrated) value in Xpos.
x00200000 | JOY_CAL_READYONLY | Reads the y-coordinate and store the raw value in Ypos.
x00400000 | JOY_CAL_READ5 | Read the rudder information and the X-, Y-, Z-, and U-coordinates and store the raw values in Xpos, Ypos, Zpos, Rpos, and Upos.
x00800000 | JOY_CAL_READ6 | Read the raw V-axis data if a joystick mini driver is present that will provide the data. Returns zero otherwise.
x01000000 | JOY_CAL_READZONLY | Read the Z-coordinate and store the raw value in Zpos.
x02000000 | JOY_CAL_READRONLY | Read the rudder information if a joystick mini-driver is present that will provide the data and store the raw value in Rpos. Return zero otherwise.
x04000000 | JOY_CAL_READUONLY | Read the U-coordinate if a joystick mini-driver is present that will provide the data and store the raw value in Upos. Return zero otherwise.
x08000000 | JOY_CAL_READVONLY | Read the V-coordinate if a joystick mini-driver is present that will provide the data and store the raw value in Vpos. Return zero otherwise.

ii32 XPos
Current X-Coordinate.
ii32 YPos
Current Y-Coordinate.
ii32 ZPos
Current Z-Coordinate.
ii32 RPos
Current position of the rudder or fourth joystick axis.
ii32 UPos
Current 5th axis position
ii32 VPos
Current 6th axis position
iu32 Buttons
Current state of the 32 joystick buttons. The value of this member can be set to any combination of JOY_BUTTONn flags, where n is a value in the range of 1 through 32 corresponding to the button that is pressed.

x00000001 | JOY_BUTTON1 | First joystick button is pressed.
x00000002 | JOY_BUTTON2 | Second joystick button is pressed.
x00000004 | JOY_BUTTON3 | Third joystick button is pressed.
x00000008 | JOY_BUTTON4 | Fourth joystick button is pressed.
...
...
x40000000 | JOY_BUTTON31 | 31th joystick button is pressed.
x80000000 | JOY_BUTTON32 | 32th joystick button is pressed.
iu32 ButtonNum
Current button number that is pressed.
ii32 POV
Current position of the point-of-view control. Values for this member are in the range 0 through 35,900. These values represent the angle, in degrees, of each view multiplied by 100.

Most devices with a point-of-view control have only five positions. When the JOY_RETURNPOV flag is set, these positions are reported by using the following constants:
-1 | JOY_POVCENTERED | Point-of-view hat is in the neutral position. The value -1 means the point-of-view hat has no angle to report.
0 | JOY_POVFORWARD | Point-of-view hat is pressed forward. The value 0 represents an orientation of 0.00 degrees (straight ahead).
9000 | JOY_POVRIGHT | Point-of-view hat is pressed to the right. The value 9,000 represents an orientation of 90.00 degrees (to the right).
18000 | OY_POVBACKWARD | oint-of-view hat is pressed backward. The value 8,000 represents an orientation of 180.00 degrees (to the rear)
27000 | OY_POVLEFT | oint-of-view hat is being pressed to the left. The value 27,000 represents an orientation of 270.00 degrees (90.00 degrees to the left).

The default Windows 95 joystick driver currently supports these five discrete directions. If an application can accept only the defined point-of-view values, it must use the JOY_RETURNPOV flag. If an application can accept other degree readings, it should use the JOY_RETURNPOVCTS flag to obtain continuous data if it is available. The JOY_RETURNPOVCTS flag also supports the JOY_POV constants used with the JOY_RETURNPOV flag.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickReleaseCapture

Releases the specified captured joystick.

Returns JOYERR_NOERROR if successful or one of the following error values:
· MMSYSERR_NODRIVERThe joystick driver is not present.
· JOYERR_PARMSThe specified joystick device identifier uJoyID is invalid.

Connector Pane
joystickreleasecapturec

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickSetCapture

Captures a joystick by causing its messages to be sent to LabVIEW.

Returns JOYERR_NOERROR if successful or one of the following error values:
· MMSYSERR_NODRIVERThe joystick driver is not present.
· JOYERR_NOCANDOCannot capture joystick input because a required service (such as a Windows timer) is unavailable.
· JOYERR_UNPLUGGEDThe specified joystick is not connected to the system.

This function fails if the specified joystick is currently captured. Call the JoystickReleaseCapture function to release the captured joystick.

Connector Pane
joysticksetcapturec

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
cu32 Period
Polling frequency, in milliseconds.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
cbool OnChange
Change position flag. Specify TRUE for this parameter to send messages only when the position changes by a value greater than the joystick movement threshold. Otherwise, messages are sent at the polling frequency specified in uPeriod.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickSetScale

Sets the joysticks current axis scaling parameters.

The scaling parameters are required in Factor/Offset form.

Connector Pane
joysticksetscalec

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
cbool UseScale
Set to TRUE: Position scaling is enabled.
Set to FALSE: Position scaling is disabled.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.

ccclst JoyScale
Position scaling information in Factor/Offset form.

Positions will be scaled using following formula:

?Pos = ?PosRaw * ?Fact + ?Offs
cbool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl XFact
Scaling factor for this axis.
ci32 XOffs
Scaling offset for this axis.
cbool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl YFact
Scaling factor for this axis.
ci32 YOffs
Scaling offset for this axis.
cbool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl ZFact
Scaling factor for this axis.
ci32 ZOffs
Scaling offset for this axis.
cbool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl RFact
Scaling factor for this axis.
ci32 ROffs
Scaling offset for this axis.
cbool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl UFact
Scaling factor for this axis.
ci32 UOffs
Scaling offset for this axis.
cbool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
cdbl VFact
Scaling factor for this axis.
ci32 VOffs
Scaling offset for this axis.

ii32 JoyID/dup
Duplicated Joystick-ID.

icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickSetScale2

Sets the joysticks current axis scaling parameters.

The scaling parameters are required in Min/Max form.

Connector Pane
joysticksetscale2c

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
cbool UseScale
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ccclst JoyScale
Position scaling information in Min/Max form.

Positions are mapped from the raw range into the given range.
cbool XScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 XMin
Min. range value to map the raw position range of this axis into.
ci32 XMax
Max. range value to map the raw position range of this axis into.
cbool YScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 YMin
Min. range value to map the raw position range of this axis into.
ci32 YMax
Max. range value to map the raw position range of this axis into.
cbool ZScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 ZMin
Min. range value to map the raw position range of this axis into.
ci32 ZMax
Max. range value to map the raw position range of this axis into.
cbool RScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 RMin
Min. range value to map the raw position range of this axis into.
ci32 RMax
Max. range value to map the raw position range of this axis into.
cbool UScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 UMin
Min. range value to map the raw position range of this axis into.
ci32 UMax
Max. range value to map the raw position range of this axis into.
cbool VScale
TRUE: Scaling on this axis is enabled
FALSE: Scaling for this axis is disabled
ci32 VMin
Min. range value to map the raw position range of this axis into.
ci32 VMax
Max. range value to map the raw position range of this axis into.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickSetThreshold

Sets the movement threshold of a joystick.

Returns JOYERR_NOERROR if successful or one of the following error values:
· MMSYSERR_NODRIVERThe joystick driver is not present.
· JOYERR_PARMSThe specified joystick device identifier JoyID is invalid.

The movement threshold is the distance the joystick must be moved before a JOYMOVE message is sent to a window that has captured the device. The threshold is initially zero.

Connector Pane
joysticksetthresholdc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
cu32 Threshold
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.


JoystickWaitMsg

Waits until a joystick message arrived or a timeout occures.

If no timeout occurred the message wil be returned.

Before using this function you have to capture the joystick via JoystickSetCapture.

Connector Pane
joystickwaitmsgc

Controls and Indicators
ci32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2) to be queried.
ccclst error in
error in is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.
cbool status
status is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ci32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
cstr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
ci32 ms timeout (-1)
If a signal does not occur within the specified timeout, measured in milliseconds, the function returns with timed out set to a value of TRUE. If ms timeout is -1, the function does not time out.
cbool ignore previous (F)
If ignore previous is TRUE and a signal occured before this function began executing, then the function ignores the previous signals and waits for another one.
ii32 JoyID/dup
Duplicated Joystick-ID.
icclst error out
error out is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. More see MMErrorCodes.
ibool status
status is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code.
ii32 code
code is the number identifying an error or warning. If status is TRUE, code is a non-zero error code. If status is FALSE, code can be zero or a warning code. Use the error handler VIs to look up the meaning of this code and to display the corresponding error message.
istr source
source is a string that indicates the origin of the error, if any. Usually source is the name of the VI in which the error occurred.
inclst MsgInfo
Structure describing a joystick message.
ii32 JoyID
Identifier of the joystick (0=JOYSTICKID1 or 1=JOYSTICKID2)
iu32 MsgTime
Time the message has been created, measured in ms since systemstart.
ienum JoyMsg
Type of joystick message.

NONE | No valid joystick message
ButtonDown | One of the joystick buttons was pressed
ButtonUp | One of the joystick buttons was released
Move | Joystick move in the X/Y-plane
ZMove | Z-axis move
Timer | Periodic message (with JoystickSetCapture 'Changed' set to false)

iu32 Buttons
Identifies the button that has changed state and the buttons that are pressed.
It can be one of the following:
x0001 | JOY_BUTTON1 | First joystick button is pressed.
x0002 | JOY_BUTTON2 | Second joystick button is pressed.
x0004 | JOY_BUTTON3 | Third joystick button is pressed.
x0008 | JOY_BUTTON4 | Fourth joystick button is pressed.

The following bits are set
for JoyMsg ButtonDown and ButtenUp ONLY

x0100 | JOY_BUTTON1CHG | First joystick button changed
x0200 | JOY_BUTTON2CHG | Second joystick button changed
x0400 | JOY_BUTTON3CHG | Third joystick button changed
x0800 | JOY_BUTTON4CHG | Fourth joystick button changed

ii32 XPos/ZPos
JoyMsg NOT ZMove
The X-axis coordinate of the joystick relative to the screen

JoyMsg is ZMove
The Z-axis coordinate
ii32 YPos
JoyMsg NOT ZMove
The Y-axis coordinate of the joystick relative to the screen.

JoyMsg is ZMove
Always zero.
ibool timed out
ibool cancelled


MMErrorCodes

Error
Code
Error Code

General error return values (MMSYSERR_BASE=0)
0 | MMSYSERR_NOERROR |  | no error
1 | MMSYSERR_ERROR | (MMSYSERR_BASE+ 1) | unspecified error
2 | MMSYSERR_BADDEVICEID | (MMSYSERR_BASE+ 2) | device ID out of range
3 | MMSYSERR_NOTENABLED | (MMSYSERR_BASE+ 3) | driver failed enable
4 | MMSYSERR_ALLOCATED | (MMSYSERR_BASE+ 4) | device already allocated
5 | MMSYSERR_INVALHANDLE | (MMSYSERR_BASE+ 5) | device handle is invalid
6 | MMSYSERR_NODRIVER | (MMSYSERR_BASE+ 6) | no device driver present
7 | MMSYSERR_NOMEM | (MMSYSERR_BASE+ 7) | memory allocation error
8 | MMSYSERR_NOTSUPPORTED | (MMSYSERR_BASE+ 8) | function isn't supported
9 | MMSYSERR_BADERRNUM | (MMSYSERR_BASE+ 9) | error value out of range
10 | MMSYSERR_INVALFLAG | (MMSYSERR_BASE+10) | invalid flag passed
11 | MMSYSERR_INVALPARAM | (MMSYSERR_BASE+11) | invalid parameter passed
12 | MMSYSERR_HANDLEBUSY | (MMSYSERR_BASE+12) | handle being used simultaneously on another thread (eg callback)
13 | MMSYSERR_INVALIDALIAS | (MMSYSERR_BASE+13) | specified alias not found
14 | MMSYSERR_BADDB | (MMSYSERR_BASE+14) | bad registry database
15 | MMSYSERR_KEYNOTFOUND | (MMSYSERR_BASE+15) | registry key not found
16 | MMSYSERR_READERROR | (MMSYSERR_BASE+16) | registry read error
17 | MMSYSERR_WRITEERROR | (MMSYSERR_BASE+17) | registry write error
18 | MMSYSERR_DELETEERROR | (MMSYSERR_BASE+18) | registry delete error
19 | MMSYSERR_VALNOTFOUND | (MMSYSERR_BASE+19) | registry value not found
20 | MMSYSERR_NODRIVERCB | (MMSYSERR_BASE+20) | driver does not call DriverCallback

Waveform audio error return values (WAVERR_BASE=32)
32 | WAVERR_BADFORMAT | (WAVERR_BASE+0) | unsupported wave format
33 | WAVERR_STILLPLAYING | (WAVERR_BASE+1) | still something playing
34 | WAVERR_UNPREPARED | (WAVERR_BASE+2) | header not prepared
35 | WAVERR_SYNC | (WAVERR_BASE+3) | device is synchronous

MIDI error return values (MIDIERR_BASE=64)
64 | MIDIERR_UNPREPARED | (MIDIERR_BASE+0) | header not prepared
65 | MIDIERR_STILLPLAYING | (MIDIERR_BASE+1) | still something playing
66 | MIDIERR_NOMAP | (MIDIERR_BASE+2) | no configured instruments
67 | MIDIERR_NOTREADY | (MIDIERR_BASE+3) | hardware is still busy
68 | MIDIERR_NODEVICE | (MIDIERR_BASE+4) | port no longer connected
69 | MIDIERR_INVALIDSETUP | (MIDIERR_BASE+5) | invalid MIF
70 | MIDIERR_BADOPENMODE | (MIDIERR_BASE+6) | operation unsupported w/ open mode
71 | MIDIERR_DONT_CONTINUE | (MIDIERR_BASE+7) | thru device 'eating' a message

Timer error return values (TIMERR_BASE=96)
97 | TIMERR_NOCANDO | (TIMERR_BASE+ 1) | request not completed
129 | TIMERR_STRUCT | (TIMERR_BASE+33) | time struct size

Joystick error return values (JOYERR_BASE=160)
165 | JOYERR_PARMS | (JOYERR_BASE+5) | bad parameters
166 | JOYERR_NOCANDO | (JOYERR_BASE+6) | request not completed
167 | JOYERR_UNPLUGGED | (JOYERR_BASE+7) | joystick is unplugged

MMIO error return values (MMIOERR_BASE=256)
257 | MMIOERR_FILENOTFOUND | (MMIOERR_BASE+1) | file not found
258 | MMIOERR_OUTOFMEMORY | (MMIOERR_BASE+2) | out of memory
259 | MMIOERR_CANNOTOPEN | (MMIOERR_BASE+3) | cannot open
261 | MMIOERR_CANNOTCLOSE | (MMIOERR_BASE+4) | cannot close
262 | MMIOERR_CANNOTREAD | (MMIOERR_BASE+5) | cannot read
263 | MMIOERR_CANNOTWRITE | (MMIOERR_BASE+6) | cannot write
264 | MMIOERR_CANNOTSEEK | (MMIOERR_BASE+7) | cannot seek
265 | MMIOERR_CANNOTEXPAND | (MMIOERR_BASE+8) | cannot expand file
266 | MMIOERR_CHUNKNOTFOUND | (MMIOERR_BASE+9) | chunk not found
267 | MMIOERR_UNBUFFERED | (MMIOERR_BASE+10) |
268 | MMIOERR_PATHNOTFOUND | (MMIOERR_BASE+11) | path incorrect
269 | MMIOERR_ACCESSDENIED | (MMIOERR_BASE+12) | file was protected
270 | MMIOERR_SHARINGVIOLATION | (MMIOERR_BASE+13) file in use |
271 | MMIOERR_NETWORKERROR | (MMIOERR_BASE+14) | network not responding
272 | MMIOERR_TOOMANYOPENFILES | (MMIOERR_BASE+15) no more file handles |
273 | MMIOERR_INVALIDFILE | (MMIOERR_BASE+16) | default error file error

MCI error return values (MCIERR_BASE=256)
257 | MCIERR_INVALID_DEVICE_ID | (MCIERR_BASE+ 1)
259 | MCIERR_UNRECOGNIZED_KEYWORD | (MCIERR_BASE+ 3)
261 | MCIERR_UNRECOGNIZED_COMMAND | (MCIERR_BASE+ 5)
262 | MCIERR_HARDWARE | (MCIERR_BASE+ 6)
263 | MCIERR_INVALID_DEVICE_NAME | (MCIERR_BASE+ 7)
264 | MCIERR_OUT_OF_MEMORY | (MCIERR_BASE+ 8)
265 | MCIERR_DEVICE_OPEN | (MCIERR_BASE+ 9)
266 | MCIERR_CANNOT_LOAD_DRIVER | (MCIERR_BASE+10)
267 | MCIERR_MISSING_COMMAND_STRING | (MCIERR_BASE+11)
268 | MCIERR_PARAM_OVERFLOW | (MCIERR_BASE+12)
269 | MCIERR_MISSING_STRING_ARGUMENT | (MCIERR_BASE+13)
270 | MCIERR_BAD_INTEGER | (MCIERR_BASE+14)
271 | MCIERR_PARSER_INTERNAL | (MCIERR_BASE+15)
272 | MCIERR_DRIVER_INTERNAL | (MCIERR_BASE+16)
273 | MCIERR_MISSING_PARAMETER | (MCIERR_BASE+17)
274 | MCIERR_UNSUPPORTED_FUNCTION | (MCIERR_BASE+18)
275 | MCIERR_FILE_NOT_FOUND | (MCIERR_BASE+19)
276 | MCIERR_DEVICE_NOT_READY | (MCIERR_BASE+20)
277 | MCIERR_INTERNAL | (MCIERR_BASE+21)
278 | MCIERR_DRIVER | (MCIERR_BASE+22)
279 | MCIERR_CANNOT_USE_ALL | (MCIERR_BASE+23)
280 | MCIERR_MULTIPLE | (MCIERR_BASE+24)
281 | MCIERR_EXTENSION_NOT_FOUND | (MCIERR_BASE+25)
282 | MCIERR_OUTOFRANGE | (MCIERR_BASE+26)
284 | MCIERR_FLAGS_NOT_COMPATIBLE | (MCIERR_BASE+28)
286 | MCIERR_FILE_NOT_SAVED | (MCIERR_BASE+30)
287 | MCIERR_DEVICE_TYPE_REQUIRED | (MCIERR_BASE+31)
288 | MCIERR_DEVICE_LOCKED | (MCIERR_BASE+32)
289 | MCIERR_DUPLICATE_ALIAS | (MCIERR_BASE+33)
290 | MCIERR_BAD_CONSTANT | (MCIERR_BASE+34)

Mixer API error return values (MIXERR_BASE=1024)
1024 | MIXERR_INVALLINE | (MIXERR_BASE+0)
1025 | MIXERR_INVALCONTROL | (MIXERR_BASE+1)
1026 | MIXERR_INVALVALUE | (MIXERR_BASE+2)


ACMDRVDETAILS

Structure that describes the features of an ACM (Audio-Compression-Manager) driver.

Connector Pane
acmdrvdetailsc


ACMDRVENUMRES

Type of XAcmDriverEnum result.

Connector Pane
acmdrvenumresc


ACMFMTDETAILS

Structuretype of the details of a waveform-audio format for a specific format tag for an ACM driver.

Connector Pane
acmfmtdetailsc


ACMFMTTAGDETAILS

Structure for the details of a waveform-audio format tag for an ACM driver.

Connector Pane
acmfmttagdetailsc


HACMDRV

Connector Pane
hacmdrvc


HACMDRVID

Connector Pane
hacmdrvidc


HACMOBJ

Connector Pane
hacmobjc


HACMSTRM

Connector Pane
hacmstrmc


AFILEINFO

Connector Pane
afileinfoc


AUDIOINCAPS

Type to return capabilities of an audio input (WaveIn) device.

Connector Pane
audioincapsc


AUDIOININFO

Type to return information on audio input devices.

Connector Pane
audioininfoc


AUDIOMIXINFO

Type describing some internal mixer informations.

Connector Pane
audiomixinfoc


CTRLTYPEENUM

Enumeration typedef for standard mixer controls.

Connector Pane
ctrltypeenumc


LINETYPEENUM

Enumeration type for standard mixer lines.

Connector Pane
linetypeenumc


MIXERCAPS

Connector Pane
mixercapsc


MIXERCONTROL

Connector Pane
mixercontrolc


MIXERCONTROLDETAILS_LISTTEXT

Type for item-Information of multiple-item controls.

Connector Pane


MIXERLINE

Connector Pane
mixerlinec


MIXOBJTYPE

Connector Pane
mixobjtypec


AUDIOOUTCAPS

Connector Pane
audiooutcapsc


AUDIOOUTINFO

Connector Pane
audiooutinfoc


WAVEFMTINFO

Connector Pane
wavefmtinfoc


JOYINFO

Connector Pane
joyinfoc


JOYINFOEX

Connector Pane
joyinfoexc


JOYMSGINFO

Type of structure describing a joystick message.

Connector Pane
joymsginfoc


JOYSCALEINFO

Type for position scaling information in Factor/Offset form.

Connector Pane
joyscaleinfoc


JOYSCALEINFO2

Type for position scaling information in Min/Max form.

Connector Pane
joyscaleinfo2c


JOYSTICKCAPS

Contains information about the joystick capabilities.

Connector Pane
joystickcapsc


AFILEFORMAT

Connector Pane
afileformatc


HAUDIOF

Connector Pane
haudiofc


HAUDIOIN

Handletype for Audio-Recording VI's.

Connector Pane
haudioinc


HAUDIOMIX

Connector Pane
haudiomixc


HAUDIOOUT

Connector Pane
haudiooutc


HMIXER

System-handle of a mixer device.

Connector Pane
hmixerc


WAVEFMTENUM

Waveformat to be used.

Following formats are currently available:

No. | Name | Resol. | Stereo | Chnls | Align | Rate [Hz] | Stdrd.
0 | 8BitMono8kHz | 8 BIT | NO | 1 | 1 | 8000 | NO
1 | 8BitMono11kHz | 8 BIT | NO | 1 | 1 | 11025 | YES
2 | 8BitMono22kHz | 8 BIT | NO | 1 | 1 | 22050 | YES
3 | 8BitMono44kHz | 8 BIT | NO | 1 | 1 | 44100 | YES
4 | 8BitMono48kHz | 8 BIT | NO | 1 | 1 | 48000 | NO
5 | 8BitStereo8kHz | 8 BIT | YES | 2 | 2 | 8000 | NO
6 | 8BitStereo11kHz | 8 BIT | YES | 2 | 2 | 11025 | YES
7 | 8BitStereo22kHz | 8 BIT | YES | 2 | 2 | 22050 | YES
8 | 8BitStereo44kHz | 8 BIT | YES | 2 | 2 | 44100 | YES
9 | 8BitStereo48kHz | 8 BIT | YES | 2 | 2 | 48000 | NO
10 | 16BitMono8kHz | 16 BIT | NO | 1 | 2 | 8000 | NO
11 | 16BitMono11kHz | 16 BIT | NO | 1 | 2 | 11025 | YES
12 | 16BitMono22kHz | 16 BIT | NO | 1 | 2 | 22050 | YES
13 | 16BitMono44kHz | 16 BIT | NO | 1 | 2 | 44100 | YES
14 | 16BitMono48kHz | 16 BIT | NO | 1 | 2 | 48000 | NO
15 | 16BitStereo8kHz | 16 BIT | YES | 2 | 4 | 8000 | NO
16 | 16BitStereo11kHz | 16 BIT | YES | 2 | 4 | 11025 | YES
17 | 16BitStereo22kHz | 16 BIT | YES | 2 | 4 | 22050 | YES
18 | 16BitStereo44kHz | 16 BIT | YES | 2 | 4 | 44100 | YES
19 | 16BitStereo48kHz | 16 BIT | YES | 2 | 4 | 48000 | NO

NOTE:
Not all soundcards allow all available formats. Especially 8 kHz and 48 kHz non standard formats are often not supported.

Connector Pane
wavefmtenumc


WAVEFMTEX

Structuretype for the extended format of waveform-audio data.

Connector Pane
wavefmtexc


HMIXOBJ

Connector Pane
hmixobjc


HVIDCAP

Connector Pane
hvidcapc


VIDEOFMT

Connector Pane
videofmtc


VCSTRMINFO

Cluster describing Information about a video streaming operation.

Connector Pane
vcstrminfoc


VCSTRMPAR

Type for set/get streaming parameters.

Connector Pane
vcstrmparc


VCSTRMSTATE

Connector Pane
vcstrmstatec


BITMAPINFO

Connector Pane
bitmapinfoc


BITMAPINFOHEADER

Connector Pane
bitmapinfoheaderc


WINDOWFRAMEATTR

This cluster contains the titlebar and windowframe attributes of the previewer window.

Connector Pane
windowframeattrc


WINDOWPLACEMENT

The WINDOWPLACEMENT cluster contains information about the placement of a window on the screen.

Connector Pane
windowplacementc


XOn_Audio_32bit_Format

Connector Pane
xon audio 32bit formatc


VCMCHDL

Type definition of a video compressor handle as returned from XVcmCompressorOpen.

Connector Pane
vcmchdlc


VCMCSTATE

Type definition for compress status information.

Connector Pane
vcmcstatec


RECT

Type definition of a rectangle used for decompression functions.

Connector Pane
rectc


VCMDHDL

Type definition for a video decompressor handle to be used with further video decompression functions.

Connector Pane
vcmdhdlc


VCMDSTATE

Typedefinition for decompress status information.

Connector Pane
vcmdstatec


VCMINFO

Type definition for informations on a specific compressor/decompressor or drawrenderer driver.

Connector Pane
vcminfoc


Contact
Top Previous

xon-logo
XOn Software GmbH
Luisenstraße 43
80333 München
Telefon: +49 (0)89/542716-0
Telefax: +49 (0)89/542716-78
E-mail: info@xon.de
Internet: http://www.xon.de

Your partner for ...
LabVIEW, LabWindows/CVI, Microsoft Visual C++, National Instruments Hardware, GPIB, CAN, Profibus, RS232, RS 485...