afQuery 2.08 KB
afQuery queries the capabilities of the Audio File Library.

SYNOPSIS
#include <audiofile.h>

AUpvlist afQuery (int querytype, int arg1, int arg2, int arg3, int arg4);
long afQueryLong (int querytype, int arg1, int arg2, int arg3, int arg4);
double afQueryDouble (int querytype, int arg1, int arg2, int arg3, int arg4);
void *afQueryPointer (int querytype, int arg1, int arg2, int arg3, int arg4);

PARAMETERS
querytype can be one of the following:
AF_QUERYTYPE_FILEFMT
AF_QUERYTYPE_INST
AF_QUERYTYPE_INSTPARAM
AF_QUERYTYPE_COMPRESSION
AF_QUERYTYPE_COMPRESSIONPARAM
AF_QUERYTYPE_MISC
AF_QUERYTYPE_MARK
AF_QUERYTYPE_LOOP

For AF_QUERYTYPE_FILEFMT, the following selectors are valid values for arg1:

AF_QUERY_LABEL - Request a short label string for the format (e.g., "aiff").

AF_QUERY_NAME - Request a short name for the format (e.g., "MS RIFF WAVE").

AF_QUERY_DESC - Request a descriptive name for the format (e.g., "Audio
Interchange File Format").

AF_QUERY_IMPLEMENTED - Request a boolean value indicating whether the
format is implemented for reading and writing in the Audio File Library.

AF_QUERY_ID_COUNT - Request the total number of formats implemented.

AF_QUERY_IDS - Request an integer array of the id token values of all
implemented file formats.

AF_QUERY_COMPRESSION_TYPES - Used with the selector AF_QUERY_VALUE_COUNT
in arg2, this will return a long integer containing the number of
compression schemes available for use within the format specified in arg3.
Used with selector AF_QUERY_VALUES, it returns a pointer to an integer
array containing the compression id values of the compression schemes
supported by the format specified in arg3.

AF_QUERY_SAMPLE_FORMATS - Used with the selector AF_QUERY_DEFAULT in arg2,
this will return the default sample format for the file format specified in
arg3.

AF_QUERY_SAMPLE_SIZES - Used with selector AF_QUERY_DEFAULT in arg2, this
will return the default sample width for the file format specified in arg3.


ERRORS
afQuery can produce the following errors:
* AF_BAD_QUERYTYPE - The query type is unsupported.
* AF_BAD_QUERY - The arguments to the query are bad.