ASetChannelGain(3X)
NAME
ASetChannelGain − set transaction channel gain
SYNOPSIS
#include <Alib.h> void
ASetChannelGain (
Audio ∗ audio,
ATransID xid,
AChType channel,
AGainDB gain,
long ∗ status_return );
DESCRIPTION
ASetChannelGain() sets the transaction gain to the value in gain.
Each audio controller has its own support limit for maximum and minimum input and output gain. If the application specifies a gain greater than the maximum supported value, the maximum supported value is used. If the application specifies a gain less than the minimum supported value, a value of AZeroGain (no sound) is used.
audio the Audio structure associated with this connection.
xid the transaction ID.
channel the type of channel: ACTMono, ACTLeft, or ACTRight.
gain specifies the channel volume. One of the following values:
AUnityGain − no change to gain setting (same as 0 decibels).
AZeroGain − turn off sound
decibels − A decimal value specifying the number of decibels to use.
status_return receives the returned status of the operation, unless this parameter is passed in as a NULL pointer. If status_return is set to NULL, Alib will do the error handling.
STRUCTURES
The following is defined in /opt/audio/include/Alib.h:
typedef long ATransID; /* Type for transaction ID. */
ERRORS
If status_return is not set to NULL, it can return one of the following values:
0 AENoError No error - the call completed successfully.
2 AEBadAudio The audio structure is invalid. A pointer to a valid audio structure may be missing (use AOpenAudio() to get a valid pointer).
3 AEBadValue The channel parameter contains an incorrect value.
15 AEBadTransactionID The xid parameter does not identify a valid transaction ID.
EXAMPLE
The following example sets the transaction right channel gain to -6.
Audio ∗ audio; /∗ audio connection ∗/
AChType ∗ chtype; /∗ type of channel ∗/
AGainDB chgain; /∗ gain specification∗/
long status; /∗ error status ∗/
.
.
.
/∗ set xid right channel gain to -6 ∗/
chtype = ACTRight;
chgain = −6;
ASetChannelGain(audio, xid, chtype, chgain, &status);
NOTE
In order to ensure that the compiler finds the Audio Library (libAlib.sl) and the Alib.h header file, you must add the following switches:
-L /opt/audio/lib
-I/opt/audio/include
DEPENDENCIES
This function belongs to the Audio Library of functions that manage connections to an audio server. The audio server must run on a system that has audio hardware. To find out whether or not your system has audio hardware, refer to Using the Audio Developer’s Kit or the online help for the Audio control panel. For information about the audio capabilities of a particular system use the online example audioinfo.c.
AUTHOR
ASetChannelGain() was developed by HP.
SEE ALSO
AGetChannelGain(3X) AGetGain(3X), AGetSystemChannelGain(3X), AGMGainRestricted(3X), AInputChannels(3X), AInputSources(3X), AMaxInputGain(3X), AMaxOutputGain(3X), AMinInputGain(3X), AMinOutputGain(3X), AOutputChannels(3X), AOutputDestinations(3X), ASetGain(3X), ASetSystemChannelGain(3X), ASimplePlayer(3X), ASimpleRecorder(3X).
Hewlett-Packard Company — Audio Library: February, 1995