Home   Index   About
Ultimate Pack


Custom Search
Overview
Group
Quick Info

MIXERCONTROL

The MIXERCONTROL structure describes the state and metrics of a single control for an audio line.

typedef struct {

DWORD cbStruct;

DWORD dwControlID;

DWORD dwControlType;

DWORD fdwControl;

DWORD cMultipleItems;

CHAR szShortName[MIXER_SHORT_NAME_CHARS];

CHAR szName[MIXER_LONG_NAME_CHARS];

union {

struct {

LONG lMinimum;

LONG lMaximum;

};

struct {

DWORD dwMinimum;

DWORD dwMaximum;

};

DWORD dwReserved[6];

} Bounds;

union {

DWORD cSteps;

DWORD cbCustomData;

DWORD dwReserved[6];

} Metrics;

} MIXERCONTROL, *PMIXERCONTROL, FAR *LPMIXERCONTROL;

Members

cbStruct

Size, in bytes, of the MIXERCONTROL structure.

dwControlID

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.

dwControlType

Class of the control for which the identifier is specified in dwControlID. 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_CT_CLASS_CUSTOM

MIXERCONTROL_CONTROLTYPE_CUSTOM

MIXERCONTROL_CT_CLASS_FADER

MIXERCONTROL_CONTROLTYPE_BASS
MIXERCONTROL_CONTROLTYPE_EQUALIZER
MIXERCONTROL_CONTROLTYPE_FADER
MIXERCONTROL_CONTROLTYPE_TREBLE
MIXERCONTROL_CONTROLTYPE_VOLUME

MIXERCONTROL_CT_CLASS_LIST

MIXERCONTROL_CONTROLTYPE_MIXER
MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT
MIXERCONTROL_CONTROLTYPE_MUX
MIXERCONTROL_CONTROLTYPE_SINGLESELECT

MIXERCONTROL_CT_CLASS_METER

MIXERCONTROL_CONTROLTYPE_BOOLEANMETER
MIXERCONTROL_CONTROLTYPE_PEAKMETER
MIXERCONTROL_CONTROLTYPE_SIGNEDMETER
MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER

MIXERCONTROL_CT_CLASS_NUMBER

MIXERCONTROL_CONTROLTYPE_DECIBELS
MIXERCONTROL_CONTROLTYPE_PERCENT
MIXERCONTROL_CONTROLTYPE_SIGNED
MIXERCONTROL_CONTROLTYPE_UNSIGNED

MIXERCONTROL_CT_CLASS_SLIDER

MIXERCONTROL_CONTROLTYPE_PAN
MIXERCONTROL_CONTROLTYPE_QSOUNDPAN
MIXERCONTROL_CONTROLTYPE_SLIDER

MIXERCONTROL_CT_CLASS_SWITCH

MIXERCONTROL_CONTROLTYPE_BOOLEAN
MIXERCONTROL_CONTROLTYPE_BUTTON
MIXERCONTROL_CONTROLTYPE_LOUDNESS
MIXERCONTROL_CONTROLTYPE_MONO
MIXERCONTROL_CONTROLTYPE_MUTE
MIXERCONTROL_CONTROLTYPE_ONOFF
MIXERCONTROL_CONTROLTYPE_STEREOENH

MIXERCONTROL_CT_CLASS_TIME

MIXERCONTROL_CONTROLTYPE_MICROTIME
MIXERCONTROL_CONTROLTYPE_MILLITIME

fdwControl

Status and support flags for the audio line control. The following values are defined:

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.

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.

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.

cMultipleItems

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.

szShortName

Short string that describes the audio line control specified by dwControlID. This description should be appropriate to use as a concise label for the control.

szName

String that describes the audio line control specified by dwControlID. This description should be appropriate to use as a complete description for the control.

Bounds

Union of boundary types.

lMinimum

Minimum signed value for a control that has a signed boundary nature. This member cannot be used in conjunction with dwMinimun.

lMaximum

Maximum signed value for a control that has a signed boundary nature. This member cannot be used in conjunction with dwMaximun.

dwMinimum

Minimum unsigned value for a control that has an unsigned boundary nature. This member cannot be used in conjunction with lMinimun.

dwMaximum

Maximum unsigned value for a control that has an unsigned boundary nature. This member cannot be used in conjunction with lMaximum.

Metrics

Union of boundary metrics.

cSteps

Number of discrete ranges within the union specified for a control specified by the Bounds member. This member overlaps with the other members of the Metrics structure member and cannot be used in conjunction with those members.

cbCustomData

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.

To determine if the dwMinimum, dwMaximum, lMinimum, lMaximum, cSteps, and cbCustomData members are appropriate for a control class, see Control Types.

The calling application does not need to initialize any members of this structure because the MIXERCONTROL structure is passed to the mixerGetLineControls function as a receiving buffer that is referenced and described by the MIXERLINECONTROLS structure. When mixerGetLineControls returns, the cbStruct member contains the actual size of the information returned by the mixer device. The returned information will not exceed the requested size, nor will it be smaller than the MIXERCONTROL structure.

dwReserved

Reserved; do not use.

See Also

mixerGetLineControls
, MIXERLINECONTROLS


Last news from Greatis Software

Nostalgia .Net     Nostalgia .Net     .Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes.  More »

Recommended software for developers

Ultimate Pack for Delphi and C++ Builder     Ultimate Pack     Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price.  More »

Form Designer .Net     Form Designer .Net     Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro!  More »

Print Suite .Net     Print Suite .Net     Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available  More »

Gradient Controls .Net     Gradient Controls .Net     Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available  More »

iGrid     Greatis iGrid     iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors.  More »


All the contacts and projects

Dmitry Vasiliev (just.dmitry)

Related Links

Software for Visual Studio .NET developers
Software for Delphi and C++ Builder developers
Software for Visual Basic 6 developers
Delphi Tips&Tricks
MegaDetailed.NET

More Online Helps

Win32 Programmer's Reference
Win32 Multimedia Programmer's Reference
OLE Programmer's Reference
Microsoft Windows Pen API Programmer's Reference
Microsoft Windows Sockets 2 Reference
Microsoft Windows Telephony API (TAPI) Programmer's Reference
Unix Manual Pages

Free Tech Secrets ;) Copyright © 2008-2011 Free Tech Secrets ;) greatis just4fun network just4fun