Control Types
A version of this page is also available for
4/8/2010
The mixer services include the following classes of standard controls to associate with audio lines:
- Audio mixer custom controls
- Faders
- Lists
- Meters
- Numbers
- Sliders
- Switches
- Time controls
Audio Mixer Custom Controls
Custom controls are the most generic of the mixer controls. These controls allow a mixer driver to define the control's characteristics, and by implication, the visual representation of the control.
Faders
The fader controls are typically vertical controls that can be adjusted up or down. These controls have a linear scale and use the MIXERCONTROLDETAILS_UNSIGNED structure to retrieve and set control details.
The following table shows the types of faders.
Control | Description |
---|---|
Fader |
General fade control. The range of acceptable values is 0 through USHRT_MAX (65,535). |
Volume |
General volume fade control. The range of acceptable values is 0 through USHRT_MAX. For information about changing this range, see the documentation for your mixer device. |
Bass |
Bass volume fade control. The range of acceptable values is 0 through USHRT_MAX. The limits of the bass frequency band are hardware specific. For information about band limits, see the documentation for your mixer device. |
Treble |
Treble volume fade control. The range of acceptable values is 0 through USHRT_MAX. The limits of the treble frequency band are hardware specific. For information about the band limits, see the documentation for your mixer device. |
Equalizer |
Graphic equalizer control. The range of acceptable values for one band of the equalizer is 0 through USHRT_MAX. The number of equalizer bands and their limits are hardware specific. For information about the equalizer, see the documentation for your mixer device. You can use the MIXERCONTROLDETAILS_LISTTEXT structure to retrieve text labels for the equalizer. |
Lists
The list controls provide single-select or multiple-select states for complex audio lines.
These controls use the MIXERCONTROLDETAILS_BOOLEAN structure to retrieve and set control properties.
The MIXERCONTROLDETAILS_LISTTEXT structure is also used to retrieve all text descriptions of a multiple-item control.
The following table shows the types of list controls.
Control | Description |
---|---|
Single-select |
Restricts the control selection to one item at a time. Unlike the multiplexer control, this control can be used to control more than audio source lines. For example, you could use this control to select a low-pass filter from a list of filters supported by a mixer device. |
Multiplexer (MUX) |
Restricts the line selection to one source line at a time. |
Multiple-select |
Allows the user to select multiple items from a list simultaneously. Unlike the mixer control, the multiple-select control can be used to control more than audio source lines. |
Mixer |
Allows the user to select source lines from a list simultaneously. |
Meters
The meter controls measure data passing through an audio line.
These controls use the MIXERCONTROLDETAILS_BOOLEAN, MIXERCONTROLDETAILS_SIGNED, and MIXERCONTROLDETAILS_UNSIGNED structures to retrieve and set control properties.
The following table shows the types of meters.
Control | Description |
---|---|
Boolean |
Measures whether an integer value is FALSE/OFF (zero) or TRUE/ON (nonzero). |
Peak |
Measures the deflection from 0 in both the positive and negative directions. The range of integer values for the peak meter is SHRT_MIN (–32,768) through SHRT_MAX (32,767). |
Signed |
Measures integer values in the range of – 231 through (231 – 1). The mixer driver defines the limits of this meter. |
Unsigned |
Measures integer values in the range of 0 through (232 – 1). The mixer driver defines the limits of this meter. |
Numbers
The number controls allow the user to enter numerical data associated with a line.
The numerical data is expressed as signed integers, unsigned integers, or integer decibel values.
These controls use the MIXERCONTROLDETAILS_SIGNED and MIXERCONTROLDETAILS_UNSIGNED structures to retrieve and set control properties.
The following table shows the types of number controls.
Control | Description |
---|---|
Signed |
Allows integer values entered in the range of – 231 through (231 – 1). |
Unsigned |
Allows integer values entered in the range of 0 through (232 – 1). |
Decibel |
Allows integer decibel values to be entered, in tenths of decibels. The range of values for this control is SHRT_MIN through SHRT_MAX . |
Percent |
Allows values to be entered as percentages. |
Sliders
The slider controls are typically horizontal controls that can be adjusted to the left or right.
These controls use the MIXERCONTROLDETAILS_SIGNED structure to retrieve and set control properties.
The following table shows the types of sliders.
Control | Description |
---|---|
Slider |
Has a range of SHRT_MIN through SHRT_MAX. The mixer driver defines the limits of this control. |
Pan |
Has a range of SHRT_MIN through SHRT_MAX. The mixer driver defines the limits of this control, with 0 as the midrange value. |
QSound Pan |
Provides expanded sound control through QSound. This control has a range of –15 through 15. |
Switches
The switch controls are two-state switches. These controls use the MIXERCONTROLDETAILS_BOOLEAN structure to retrieve and set control properties. The following table shows the types of switches.
Control | Description |
---|---|
Boolean |
The generic switch. It can be set to TRUE or FALSE. |
Button |
Set to TRUE for all buttons that the driver should handle as though they had been pressed. If the value is FALSE, no action is taken. |
On/Off |
An alternative switch that is represented by a graphic other than the one used for the Boolean switch. It can be set to ON or OFF. |
Mute |
Mutes an audio line (suppressing the data flow of the line) or allows the audio data to play. This switch is frequently used to help control the lines feeding into the mixer. |
Mono |
Switches between mono and stereo output for a stereo audio line. Set to OFF to play stereo data as separate channels. Set to ON to combine data from both channels into a mono audio line. |
Loudness |
Boosts low-volume bass for an audio line. Set to ON to boost low-volume bass. Set to OFF to set volume levels to normal. The amount of boost is hardware specific. For more information, see the documentation for your mixer device. |
Stereo Enhanced |
Increases stereo separation. Set to ON to increase stereo separation. Set to OFF for no enhancement. |
Time Controls
The time controls allow the user to enter timing-related data, such as an echo delay or reverberation.
The time data is expressed as positive integers.
The following table shows the types of time controls.
Control | Description |
---|---|
Microsecond |
Supports timing data expressed in microseconds. The range of acceptable values is 0 through (232 –1). |
Millisecond |
Supports timing data expressed in milliseconds. The range of acceptable values is 0 through (232 –1). |