Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ aucreaterec(3X) — HP-UX 9.10

Media Vault

Software Library

Restoration Projects

Artifacts Sought

AuCreateRecord(3X)  —  Series 700 Only

NAME

AuCreateRecord − create an audio record widget

SYNOPSIS

#include <audio/Record.h>

extern Widget AuCreateRecord(

Widget parent,

String *name,

ArgList *arglist,

Cardinal argcount

);

DESCRIPTION

AuCreateRecord() creates a record widget. 

If the record operation is file-based, the AuNdataAvailable event is returned when all of the data has been saved in the file.  To use this information, add a callback routine for AuNdataAvailable using AtAddCallback(). 

If you use the streams facility, the toolkit creates a file descriptor in connectFd during AuInvokeRecord().  After calling AuInvokeRecord(), retrieve the file descriptor by calling

XtSetArg(args[0], AuNconnectFd, &stream_fd);

and then call

XtGetValue(recordWidget,args,1);. 

Then, use the select(), read(), and write() system calls. 

After calling AStopAudio() to stop the transaction, the application program must retrieve all the data in the buffer and close() the file descriptor.  A callback routine for AuNStopped can include all of these operations. 

Note that for a record streams operation to work, a callback routine for AuNdataAvailable must be added using AtAddCallback(). 

To enable an application to use a widget after it is created, bind the widget library with the application as follows:

ld my_file.o...  -lAt -lAlib

Arguments

parent Name of the parent widget

name Name for this widget

arglist The argument list for the widget

argcount The number of arguments in arglist.

arglist can contain the following:

gain Volume, in per cent of total gain.  Acceptable values are from 0 through 100.  Default is system-dependent. 

fileFormat Audio file format.  Acceptable values are:

AuFMulaw       AuFSun         AuFLinear8Offset
AuFAlaw        AuFLinear8     AuFUnknown
AuFLinear16    AuFRiff

Default is AuFUnknown. 

dataFormat Audio data format.  Acceptable values are:

AuDMulaw    AuDLinear16     AuDLinear8Offset
AuDAlaw     AuDLinear8      AuDUnknown

Default is AuDUnknown. 

durationType Duration units.  Acceptable values are:

AuSamples     AuMilliseconds     AuFullLength

Default is AuFullLength. 

duration Number of units to record.  Acceptable values are -1 to MAX_INT.  Default is ~0 (-1, record until notified). 

fileName Name of the file to receive the data (must be set prior to invocation of the record widget).  There is no default value. 

startTimeType Type of start time unit.  Acceptable values are AuSamples and AuMilliseconds.  Default is AuMilliseconds. 

startTime Number of units into the file to begin writing (when the recorded file is saved).  Acceptable values are 0 to MAX_INT.  Default value is 0 (BOF). 

pause Start in paused state.  Acceptable values are ON or OFF.  Default is OFF. 

stop Stop mode.  Acceptable values are:

AuStopLinkTrans    AuStopEndLoopTrans
AuStopThisTrans    AuStopNone

Default is AuStopNone. 

audioConnection Pointer to Audio structure for this connection, returned by AOpenAUdio().  Specifying a valid pointer for this argument is mandatory; the default value is NULL, which causes the program to fail. 

streamOrFile Source of audio data.  Acceptable values are AuStream or AuFile.  Default is AuFile. 

SStream Pointer to SStream structure for this AuStream-type widget.  Specifying a valid pointer for this argument is mandatory; the default value is NULL, which causes the program to fail. 

connectFd File descriptor of the non-blocking connection made for the stream by the toolkit; created during AuInvokeRecord(). 

reserved

writeMode Mode for saving data.  Acceptable values are:

AuOverWrite     AuInsert
AuTruncAppend

Default is AuOverWrite. 

channels Number of channels.  Acceptable values are 1 or 2.  Default is 1. 

samplingRate Number of cycles per second.  Most Series 700 systems support the following values:

5512     11025      22050      44100
8000     16000      32000      48000

Default is 8000. 

To double check on the values that your system supports, use ASamplingRates(). 

Values between 0.995 and 1.0125 times any of the supported values are handled at the supported rate.  Rates outside these tolerances are converted by sound bucket transactions to the nearest supported rate, but cause streams transactions to fail and return AEBadSamplingRate. 

leftChannel Gain, in %.  Acceptable values are 1 through 100.  Default is system-dependent. 

rightChannel Gain, in %.  Acceptable values are 1 through 100.  Default is system-dependent. 

audioIn Line in or monaural microphone.  Acceptable values are AuMicrophone or AuLineIn.  Default is AuMicrophone. 

RETURN VALUE

Upon successful completion, AuCreateRecord() returns the widget ID. 

ERRORS

AuCreateRecord() does not return an error status. 

DEPENDENCIES

This function belongs to the Audio Application Program Interface widget library.  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 the hardware manual that accompanies your system. 

AUTHOR

AuCreateRecord() was developed by HP. 

SEE ALSO

AtAddCallback(), AtInitialize(), AtRemoveCallback(), AuCreatePlay(), AuInvokePlay(), AuInvokeRecord() AuPlayWidget, AuRecordWidget, AuSaveFile(). 

Using the Audio Application Program Interface.

Hewlett-Packard Company  —  HP-UX Release 9.10: April 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026