ASetGain(3X)
NAME
ASetGain − set play volume or record gain of specified transaction
SYNOPSIS
#include <Alib.h> void
ASetGain (
Audio ∗ audio,
ATransID xid,
AGainDB gain,
long ∗ status_return );
DESCRIPTION
ASetGain() sets the play volume or record gain of the transaction specified in xid.
audio specifies the Audio structure associated with this connection.
xid specifies the ID of the transaction that was returned by the ACreateSBucket() or ALoadAFile() or stream calls.
gain specifies the new values for the play volume or record gain. 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.
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.
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 gain parameter contains an incorrect value.
15 AEBadTransactionID The xid parameter does not identify a valid transaction ID.
EXAMPLE
The following example sets the gain for the xid transaction to be AUnityGain (unchanged) and sets up status to receive an error status.
Audio ∗ audio; /∗ audio connection ∗/
ATransID xid; /∗ transaction ID ∗/
AGainDB gain; /∗ gain ∗/
long status; /∗ error status ∗/
.
.
.
/∗ set gain for xid returned from prior call ∗/
gain = AUnityGain;
ASetGain(audio, xid, gain, &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
ASetGain() 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), ASetChannelGain(3X), ASetSystemChannelGain(3X), ASimplePlayer(3X), ASimpleRecorder(3X).
Hewlett-Packard Company — Audio Library: February, 1995