| Description | Hierarchy | Fields | Methods | Properties | 
type unaMsMixerSystem = class(unaObject)
Mixer system. Use to get access to all mixer devices installed on a system.
![]()  | 
constructor create(enumOnCreate: bool = true); | 
![]()  | 
destructor Destroy(); override; | 
![]()  | 
function getDeviceId(isInDevice: bool; alsoCheckMapper: bool = false): int; | 
![]()  | 
function getLineConnectionByType(iline: unsigned; itype: unsigned; checkControlsNum: bool = true): int; | 
![]()  | 
function getLineConnectionCount(iline: unsigned): int; | 
![]()  | 
function getLineConnectionName(iline: unsigned; iconn: unsigned; shortName: bool = false): wString; | 
![]()  | 
function getLineConnectionType(iline: unsigned; iconn: int): unsigned; | 
![]()  | 
function getLineCount(): int; | 
![]()  | 
function getLineIndex(isOut: bool = true; recLevel: int = 0): int; | 
![]()  | 
function getLineName(iline: unsigned; shortName: bool = false): wString; | 
![]()  | 
function getMixerCount(): int; | 
![]()  | 
function getMixerId(deviceId: unsigned; isInDevice: bool): int; | 
![]()  | 
function getMixerIndex(mixerId: unsigned): int; | 
![]()  | 
function getMixerName(): wString; | 
![]()  | 
function getMuteControlID(iline: unsigned; iconn: int): int; | 
![]()  | 
function getRecSource(): int; | 
![]()  | 
function getVolume(iline: unsigned; iconn: int): int; | 
![]()  | 
function getVolumeControlID(iline: unsigned; iconn: int): int; | 
![]()  | 
function isMutedConnection(iline: unsigned; iconn: int): bool; | 
![]()  | 
function muteConnection(iline: unsigned; iconn: int; doMute: bool): bool; | 
![]()  | 
function selectMixer(deviceId: unsigned; isInDevice: bool; handle: unsigned = 0): bool; overload; | 
![]()  | 
function selectMixer(imixer: int; handle: unsigned = 0): bool; overload; | 
![]()  | 
function setRecSource(iconn: unsigned; ensureNotMuted: bool = true): bool; | 
![]()  | 
function setVolume(iline: unsigned; iconn: int; value: int): bool; | 
![]()  | 
procedure AfterConstruction(); override; | 
![]()  | 
procedure enumDevices(); | 
![]()  | 
procedure enumMixers(); virtual; | 
![]()  | 
property mixer[index:unsigned]: unaMsMixerDevice read getMixer; | 
![]()  | 
property selectedMixer: unaMsMixerDevice read f_selectedMixer; | 
![]()  | 
constructor create(enumOnCreate: bool = true); | 
![]()  | 
destructor Destroy(); override; | 
![]()  | 
function getDeviceId(isInDevice: bool; alsoCheckMapper: bool = false): int; | 
![]()  | 
function getLineConnectionByType(iline: unsigned; itype: unsigned; checkControlsNum: bool = true): int; | 
| 
 returns connection index for specified line with given type. If no connection with specified type exists, returns -1. Example: getLineConnectionByType(0, MIXERLINE_COMPONENTTYPE_DST_WAVEIN)  | |
![]()  | 
function getLineConnectionCount(iline: unsigned): int; | 
| 
 returns number of connections for specified line.  | |
![]()  | 
function getLineConnectionName(iline: unsigned; iconn: unsigned; shortName: bool = false): wString; | 
| 
 returns name of specified connection for specified line. Name can be short or full. Valid connection index is from 0 to number returned by getLineConnectionCount() - 1.  | |
![]()  | 
function getLineConnectionType(iline: unsigned; iconn: int): unsigned; | 
| 
 returns type of specified connection for specified line, or type of line itself when iconn is -1.  | |
![]()  | 
function getLineCount(): int; | 
| 
 returns number of lines for selected mixer. Usually mixer has only two lines: recording and playback.  | |
![]()  | 
function getLineIndex(isOut: bool = true; recLevel: int = 0): int; | 
| 
 returns index of output (playback) line when isOut is true, or input (recording) line when isOut is false. Returned value can be passed as iline parameter for other line-related methods. recLevel parameter is internal, do not change it.  | |
![]()  | 
function getLineName(iline: unsigned; shortName: bool = false): wString; | 
| 
 returns name of specified line. Name can be short of full.  | |
![]()  | 
function getMixerCount(): int; | 
| 
 returns number of mixers installed on a system.  | |
![]()  | 
function getMixerId(deviceId: unsigned; isInDevice: bool): int; | 
![]()  | 
function getMixerIndex(mixerId: unsigned): int; | 
![]()  | 
function getMixerName(): wString; | 
| 
 returns name of selected mixer.  | |
![]()  | 
function getMuteControlID(iline: unsigned; iconn: int): int; | 
| 
 returns control ID responsible for mute checkbox of specified connection or line (when iconn = -1). This ID is useful in window messages handler only.  | |
![]()  | 
function getRecSource(): int; | 
| 
 returns connection index selected as current recording source. If more than one connection can be selected, returns -1.  | |
![]()  | 
function getVolume(iline: unsigned; iconn: int): int; | 
| 
 returns volume level for specified connection or line (when iconn = -1). Returned value ranges from 0 (lowest) to 100 (highest).  | |
![]()  | 
function getVolumeControlID(iline: unsigned; iconn: int): int; | 
| 
 returns ID of a control responsible for volume level for specified connection or line (when iconn = -1). This ID is useful in window messages handler only.  | |
![]()  | 
function isMutedConnection(iline: unsigned; iconn: int): bool; | 
| 
 returns true if specified connection or line (when iconn = -1) is muted. Otherwise returns false.  | |
![]()  | 
function muteConnection(iline: unsigned; iconn: int; doMute: bool): bool; | 
| 
 mutes or unmutes specified connection or line (when iconn = -1). Returns true if operation was succesfull.  | |
![]()  | 
function selectMixer(deviceId: unsigned; isInDevice: bool; handle: unsigned = 0): bool; overload; | 
![]()  | 
function selectMixer(imixer: int; handle: unsigned = 0): bool; overload; | 
| 
 selects and initializes specified mixer. All other methods works with selected mixer only. Valid mixer index is from 0 to number of mixers installed - 1. You can also specify handle of window to receive mixer-related messages.  | |
![]()  | 
function setRecSource(iconn: unsigned; ensureNotMuted: bool = true): bool; | 
| 
 sets specified connection as current recording source and optionally ensures it is not muted if more than one connection can be selected.  | |
![]()  | 
function setVolume(iline: unsigned; iconn: int; value: int): bool; | 
| 
 sets volume level for specified control or line (when iconn = -1). Valid values for level are from 0 (lowest) to 100 (highest).  | |
![]()  | 
procedure AfterConstruction(); override; | 
![]()  | 
procedure enumDevices(); | 
![]()  | 
procedure enumMixers(); virtual; | 
![]()  | 
property mixer[index:unsigned]: unaMsMixerDevice read getMixer; | 
![]()  | 
property selectedMixer: unaMsMixerDevice read f_selectedMixer; | 
(c) 2012 Lake of Soft