13d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/*
23d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	Audio File Library
33d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	Copyright (C) 1998-2000, Michael Pruett <michael@68k.org>
43d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
53d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	This library is free software; you can redistribute it and/or
63d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	modify it under the terms of the GNU Library General Public
73d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	License as published by the Free Software Foundation; either
83d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	version 2 of the License, or (at your option) any later version.
93d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
103d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	This library is distributed in the hope that it will be useful,
113d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	but WITHOUT ANY WARRANTY; without even the implied warranty of
123d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
133d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	Library General Public License for more details.
143d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
153d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	You should have received a copy of the GNU Library General Public
163d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	License along with this library; if not, write to the
173d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	Free Software Foundation, Inc., 59 Temple Place - Suite 330,
183d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	Boston, MA  02111-1307  USA.
193d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project*/
203d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
213d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/*
223d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	audiofile.h
233d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
243d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	This file contains the public interfaces to the Audio File Library.
253d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project*/
263d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
273d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#ifndef AUDIOFILE_H
283d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define AUDIOFILE_H
293d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
303d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#include <sys/types.h>
313d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#include <aupvlist.h>
323d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
333d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define LIBAUDIOFILE_MAJOR_VERSION 0
343d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define LIBAUDIOFILE_MINOR_VERSION 2
353d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define LIBAUDIOFILE_MICRO_VERSION 4
363d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
373d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#ifdef __cplusplus
383d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectextern "C"
393d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
403d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif /* __cplusplus */
413d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
423d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projecttypedef struct _AFvirtualfile AFvirtualfile;
433d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
443d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projecttypedef struct _AFfilesetup *AFfilesetup;
453d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projecttypedef struct _AFfilehandle *AFfilehandle;
463d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projecttypedef void (*AFerrfunc)(long, const char *);
473d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
483d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projecttypedef off_t AFframecount;
493d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projecttypedef off_t AFfileoffset;
503d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
513d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define AF_NULL_FILESETUP	((struct _AFfilesetup *) 0)
523d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define AF_NULL_FILEHANDLE	((struct _AFfilehandle *) 0)
533d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
543d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#define AF_ERR_BASE 3000
553d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
563d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
573d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
583d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_DEFAULT_TRACK = 1001
593d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
603d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
613d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
623d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
633d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_DEFAULT_INST = 2001
643d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
653d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
663d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
673d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
683d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_NUM_UNLIMITED = 99999
693d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
703d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
713d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
723d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
733d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BYTEORDER_BIGENDIAN = 501,
743d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BYTEORDER_LITTLEENDIAN = 502
753d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
763d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
773d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
783d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
793d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_UNKNOWN = -1,
803d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_RAWDATA = 0,
813d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_AIFFC = 1,
823d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_AIFF = 2,
833d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_NEXTSND = 3,
843d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_WAVE = 4,
853d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_BICSF = 5,
863d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_IRCAM = AF_FILE_BICSF,
873d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_MPEG1BITSTREAM = 6,	/* not implemented */
883d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_SOUNDDESIGNER1 = 7,	/* not implemented */
893d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_SOUNDDESIGNER2 = 8,	/* not implemented */
903d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_AVR = 9,
913d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_IFF_8SVX = 10,
923d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_SAMPLEVISION = 11,	/* not implemented */
933d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_VOC = 12,		/* not implemented */
943d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_NIST_SPHERE = 13,
953d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_FILE_SOUNDFONT2 = 14		/* not implemented */
963d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
973d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
983d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
993d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1003d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_LOOP_MODE_NOLOOP = 0,
1013d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_LOOP_MODE_FORW = 1,
1023d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_LOOP_MODE_FORWBAKW = 2
1033d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1043d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1053d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
1063d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1073d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_SAMPFMT_TWOSCOMP = 401, /* linear two's complement */
1083d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_SAMPFMT_UNSIGNED = 402, /* unsigned integer */
1093d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_SAMPFMT_FLOAT = 403, /* 32-bit IEEE floating-point */
1103d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_SAMPFMT_DOUBLE = 404 /* 64-bit IEEE double-precision floating-point */
1113d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1123d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1133d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
1143d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1153d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_LOOP_OFF = 0,			/* no looping */
1163d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_LOOP_CONTINUOUS = 1,	/* loop continuously through decay */
1173d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_LOOP_SUSTAIN = 3		/* loop during sustain, then continue */
1183d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1193d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1203d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
1213d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1223d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_MIDI_BASENOTE = 301,
1233d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_NUMCENTS_DETUNE = 302,
1243d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_MIDI_LONOTE = 303,
1253d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_MIDI_HINOTE = 304,
1263d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_MIDI_LOVELOCITY = 305,
1273d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_MIDI_HIVELOCITY = 306,
1283d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_NUMDBS_GAIN = 307,
1293d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_SUSLOOPID = 308,		/* loop id for AIFF sustain loop */
1303d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_RELLOOPID = 309,		/* loop id for AIFF release loop */
1313d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_SAMP_STARTFRAME = 310,	/* start sample for this inst */
1323d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_SAMP_ENDFRAME = 311,	/* end sample for this inst */
1333d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_SAMP_MODE = 312,		/* looping mode for this inst */
1343d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_TRACKID = 313,
1353d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_NAME = 314,				/* name of this inst */
1363d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_SAMP_RATE = 315,		/* sample rate of this inst's sample */
1373d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_PRESETID = 316,			/* ID of preset containing this inst */
1383d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_INST_PRESET_NAME = 317		/* name of preset containing this inst */
1393d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1403d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1413d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
1423d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1433d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_UNRECOGNIZED = 0,	/* unrecognized data chunk */
1443d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_COPY = 201,	/* copyright string */
1453d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_AUTH = 202,	/* author string */
1463d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_NAME = 203,	/* name string */
1473d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_ANNO = 204,	/* annotation string */
1483d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_APPL = 205,	/* application-specific data */
1493d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_MIDI = 206,	/* MIDI exclusive data */
1503d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_PCMMAP = 207,	/* PCM mapping information (future use) */
1513d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_NeXT = 208,	/* misc binary data appended to NeXT header */
1523d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_IRCAM_PEAKAMP = 209,	/* peak amplitude information */
1533d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_IRCAM_COMMENT = 210,	/* BICSF text comment */
1543d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_COMMENT = 210,	/* general text comment */
1553d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1563d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_ICMT = AF_MISC_COMMENT,	/* comments chunk (WAVE format) */
1573d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_ICRD = 211,  /* creation date (WAVE format) */
1583d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_MISC_ISFT = 212  /* software name (WAVE format) */
1593d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1603d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1613d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
1623d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1633d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	/* supported compression schemes */
1643d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_UNKNOWN = -1,
1653d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_NONE = 0,
1663d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_G722 = 501,
1673d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_G711_ULAW = 502,
1683d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_G711_ALAW = 503,
1693d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1703d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	/* Apple proprietary AIFF-C compression schemes (not supported) */
1713d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_APPLE_ACE2 = 504,
1723d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_APPLE_ACE8 = 505,
1733d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_APPLE_MAC3 = 506,
1743d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_APPLE_MAC6 = 507,
1753d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1763d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_G726 = 517,
1773d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_G728 = 518,
1783d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_DVI_AUDIO = 519,
1793d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_IMA = AF_COMPRESSION_DVI_AUDIO,
1803d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_GSM = 520,
1813d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_FS1016 = 521,
1823d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_DV = 522,
1833d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_COMPRESSION_MS_ADPCM = 523
1843d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1853d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
1863d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* tokens for afQuery() -- see the man page for instructions */
1873d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* level 1 selectors */
1883d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
1893d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
1903d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_INSTPARAM = 500,
1913d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_FILEFMT = 501,
1923d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_COMPRESSION = 502,
1933d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_COMPRESSIONPARAM = 503,
1943d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_MISC = 504,
1953d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_INST = 505,
1963d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_MARK = 506,
1973d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERYTYPE_LOOP = 507
1983d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
1993d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2003d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* level 2 selectors */
2013d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
2023d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
2033d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_NAME = 600,	/* get name (1-3 words) */
2043d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_DESC = 601,	/* get description */
2053d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_LABEL = 602,	/* get 4- or 5-char label */
2063d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_TYPE = 603,	/* get type token */
2073d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_DEFAULT = 604,	/* dflt. value for param */
2083d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_ID_COUNT = 605,	/* get number of ids avail. */
2093d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_IDS = 606,	/* get array of id tokens */
2103d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_IMPLEMENTED = 613,	/* boolean */
2113d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_TYPE_COUNT = 607,	/* get number of types av. */
2123d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_TYPES = 608,	/* get array of types */
2133d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_NATIVE_SAMPFMT = 609,	/* for compression */
2143d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_NATIVE_SAMPWIDTH = 610,
2153d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_SQUISHFAC = 611,	/* 1.0 means variable */
2163d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_MAX_NUMBER = 612,	/* max allowed in file */
2173d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_SUPPORTED = 613	/* insts, loops, etc., supported? */
2183d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
2193d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2203d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* level 2 selectors which have sub-selectors */
2213d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
2223d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
2233d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_TRACKS = 620,
2243d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_CHANNELS = 621,
2253d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_SAMPLE_SIZES = 622,
2263d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_SAMPLE_FORMATS = 623,
2273d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_COMPRESSION_TYPES = 624
2283d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
2293d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2303d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* level 3 sub-selectors */
2313d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
2323d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
2333d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_VALUE_COUNT = 650,	/* number of values of the above */
2343d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_QUERY_VALUES = 651	/* array of those values */
2353d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
2363d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2373d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2383d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/*
2393d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	Old Audio File Library error codes. These are still returned by the
2403d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AFerrorhandler calls, but are not used by the new digital media library
2413d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	error reporting routines. See the bottom of this file for the new error
2423d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	tokens.
2433d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project*/
2443d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2453d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
2463d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
2473d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NOT_IMPLEMENTED = 0,	/* not implemented yet */
2483d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_FILEHANDLE = 1,	/* tried to use invalid filehandle */
2493d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_OPEN = 3,	/* unix open failed */
2503d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_CLOSE = 4,	/* unix close failed */
2513d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_READ = 5,	/* unix read failed */
2523d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_WRITE = 6,	/* unix write failed */
2533d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_LSEEK = 7,	/* unix lseek failed */
2543d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NO_FILEHANDLE = 8,	/* failed to allocate a filehandle struct */
2553d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_ACCMODE = 10,	/* unrecognized audio file access mode */
2563d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NOWRITEACC = 11,	/* file not open for writing */
2573d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NOREADACC = 12,	/* file not open for reading */
2583d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_FILEFMT = 13,	/* unrecognized audio file format */
2593d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_RATE = 14,	/* invalid sample rate */
2603d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_CHANNELS = 15,	/* invalid number of channels*/
2613d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_SAMPCNT = 16,	/* invalid sample count */
2623d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_WIDTH = 17,	/* invalid sample width */
2633d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_SEEKMODE = 18,	/* invalid seek mode */
2643d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NO_LOOPDATA = 19,	/* failed to allocate loop struct */
2653d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MALLOC = 20,	/* malloc failed somewhere */
2663d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_LOOPID = 21,
2673d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_SAMPFMT = 22,	/* bad sample format */
2683d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_FILESETUP = 23,	/* bad file setup structure*/
2693d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_TRACKID = 24,	/* no track corresponding to id */
2703d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NUMTRACKS = 25,	/* wrong number of tracks for file format */
2713d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NO_FILESETUP = 26,	/* failed to allocate a filesetup struct*/
2723d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_LOOPMODE = 27,	/* unrecognized loop mode value */
2733d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_INSTID = 28,	/* invalid instrument id */
2743d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NUMLOOPS = 29,	/* bad number of loops */
2753d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NUMMARKS = 30,	/* bad number of markers */
2763d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MARKID = 31,	/* bad marker id */
2773d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MARKPOS = 32,	/* invalid marker position value */
2783d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NUMINSTS = 33,	/* invalid number of instruments */
2793d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NOAESDATA = 34,
2803d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MISCID = 35,
2813d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_NUMMISC = 36,
2823d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MISCSIZE = 37,
2833d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MISCTYPE = 38,
2843d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_MISCSEEK = 39,
2853d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_STRLEN = 40,	/* invalid string length */
2863d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_RATECONV = 45,
2873d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_SYNCFILE = 46,
2883d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_CODEC_CONFIG = 47,	/* improperly configured codec */
2893d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_CODEC_STATE = 48,	/* invalid codec state: can't recover */
2903d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_CODEC_LICENSE = 49,	/* no license available for codec */
2913d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_CODEC_TYPE = 50,	/* unsupported codec type */
2923d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_COMPRESSION = AF_BAD_CODEC_CONFIG,	/* for back compat */
2933d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_COMPTYPE = AF_BAD_CODEC_TYPE,	/* for back compat */
2943d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
2953d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_INSTPTYPE = 51,	/* invalid instrument parameter type */
2963d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_INSTPID = 52,	/* invalid instrument parameter id */
2973d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_BYTEORDER = 53,
2983d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_FILEFMT_PARAM = 54,	/* unrecognized file format parameter */
2993d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_COMP_PARAM = 55,	/* unrecognized compression parameter */
3003d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_DATAOFFSET = 56,	/* bad data offset */
3013d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_FRAMECNT = 57,	/* bad frame count */
3023d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_QUERYTYPE = 58,	/* bad query type */
3033d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_QUERY = 59,	/* bad argument to afQuery() */
3043d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_WARNING_CODEC_RATE = 60,	/* using 8k instead of codec rate 8012 */
3053d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_WARNING_RATECVT = 61,	/* warning about rate conversion used */
3063d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3073d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_HEADER = 62,	/* failed to parse header */
3083d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_FRAME = 63,	/* bad frame number */
3093d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_LOOPCOUNT = 64,	/* bad loop count */
3103d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_DMEDIA_CALL = 65,	/* error in dmedia subsystem call */
3113d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3123d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	/* AIFF/AIFF-C specific errors when parsing file header */
3133d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_HEADER = 108,	/* failed to parse chunk header */
3143d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_FORM = 109,	/* failed to parse FORM chunk */
3153d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_SSND = 110,	/* failed to parse SSND chunk */
3163d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_CHUNKID = 111,	/* unrecognized AIFF/AIFF-C chunk id */
3173d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_COMM = 112,	/* failed to parse COMM chunk */
3183d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_INST = 113,	/* failed to parse INST chunk */
3193d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_MARK = 114,	/* failed to parse MARK chunk */
3203d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_SKIP = 115,	/* failed to skip unsupported chunk */
3213d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_BAD_AIFF_LOOPMODE = 116	/* unrecognized loop mode (forw, etc)*/
3223d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
3233d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3243d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* new error codes which may be retrieved via dmGetError() */
3253d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* The old error tokens continue to be retrievable via the AFerrorhandler */
3263d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* AF_ERR_BASE is #defined in dmedia/dmedia.h */
3273d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3283d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectenum
3293d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project{
3303d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_NOT_IMPLEMENTED = 0+AF_ERR_BASE,	/* not implemented yet */
3313d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_FILEHANDLE = 1+AF_ERR_BASE,	/* invalid filehandle */
3323d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_READ = 5+AF_ERR_BASE,	/* unix read failed */
3333d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_WRITE = 6+AF_ERR_BASE,	/* unix write failed */
3343d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_LSEEK = 7+AF_ERR_BASE,	/* unix lseek failed */
3353d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_ACCMODE = 10+AF_ERR_BASE,	/* unrecognized audio file access mode */
3363d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_NO_WRITEACC = 11+AF_ERR_BASE,	/* file not open for writing */
3373d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_NO_READACC = 12+AF_ERR_BASE,	/* file not open for reading */
3383d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_FILEFMT = 13+AF_ERR_BASE,	/* unrecognized audio file format */
3393d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_RATE = 14+AF_ERR_BASE,	/* invalid sample rate */
3403d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_CHANNELS = 15+AF_ERR_BASE,	/* invalid # channels*/
3413d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_SAMPCNT = 16+AF_ERR_BASE,	/* invalid sample count */
3423d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_WIDTH = 17+AF_ERR_BASE,	/* invalid sample width */
3433d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_SEEKMODE = 18+AF_ERR_BASE,	/* invalid seek mode */
3443d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_LOOPID = 21+AF_ERR_BASE,	/* invalid loop id */
3453d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_SAMPFMT = 22+AF_ERR_BASE,	/* bad sample format */
3463d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_FILESETUP = 23+AF_ERR_BASE,	/* bad file setup structure*/
3473d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_TRACKID = 24+AF_ERR_BASE,	/* no track corresponding to id */
3483d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_NUMTRACKS = 25+AF_ERR_BASE,	/* wrong number of tracks for file format */
3493d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_LOOPMODE = 27+AF_ERR_BASE,	/* unrecognized loop mode symbol */
3503d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_INSTID = 28+AF_ERR_BASE,	/* invalid instrument id */
3513d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_NUMLOOPS = 29+AF_ERR_BASE,	/* bad number of loops */
3523d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_NUMMARKS = 30+AF_ERR_BASE,	/* bad number of markers */
3533d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_MARKID = 31+AF_ERR_BASE,	/* bad marker id */
3543d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_MARKPOS = 32+AF_ERR_BASE,	/* invalid marker position value */
3553d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_NUMINSTS = 33+AF_ERR_BASE,	/* invalid number of instruments */
3563d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_NOAESDATA = 34+AF_ERR_BASE,
3573d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_MISCID = 35+AF_ERR_BASE,
3583d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_NUMMISC = 36+AF_ERR_BASE,
3593d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_MISCSIZE = 37+AF_ERR_BASE,
3603d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_MISCTYPE = 38+AF_ERR_BASE,
3613d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_MISCSEEK = 39+AF_ERR_BASE,
3623d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_STRLEN = 40+AF_ERR_BASE,	/* invalid string length */
3633d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_RATECONV = 45+AF_ERR_BASE,
3643d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_SYNCFILE = 46+AF_ERR_BASE,
3653d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_CODEC_CONFIG = 47+AF_ERR_BASE,	/* improperly configured codec */
3663d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_CODEC_TYPE = 50+AF_ERR_BASE,	/* unsupported codec type */
3673d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_INSTPTYPE = 51+AF_ERR_BASE,	/* invalid instrument parameter type */
3683d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_INSTPID = 52+AF_ERR_BASE,	/* invalid instrument parameter id */
3693d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3703d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_BYTEORDER = 53+AF_ERR_BASE,
3713d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_FILEFMT_PARAM = 54+AF_ERR_BASE,	/* unrecognized file format parameter */
3723d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_COMP_PARAM = 55+AF_ERR_BASE,	/* unrecognized compression parameter */
3733d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_DATAOFFSET = 56+AF_ERR_BASE,	/* bad data offset */
3743d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_FRAMECNT = 57+AF_ERR_BASE,	/* bad frame count */
3753d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3763d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_QUERYTYPE = 58+AF_ERR_BASE,	/* bad query type */
3773d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_QUERY = 59+AF_ERR_BASE,	/* bad argument to afQuery() */
3783d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_HEADER = 62+AF_ERR_BASE,	/* failed to parse header */
3793d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_FRAME = 63+AF_ERR_BASE,	/* bad frame number */
3803d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_LOOPCOUNT = 64+AF_ERR_BASE,	/* bad loop count */
3813d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3823d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	/* AIFF/AIFF-C specific errors when parsing file header */
3833d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3843d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_HEADER = 66+AF_ERR_BASE,	/* failed to parse chunk header */
3853d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_FORM = 67+AF_ERR_BASE,	/* failed to parse FORM chunk */
3863d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_SSND = 68+AF_ERR_BASE,	/* failed to parse SSND chunk */
3873d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_CHUNKID = 69+AF_ERR_BASE,	/* unrecognized AIFF/AIFF-C chunk id */
3883d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_COMM = 70+AF_ERR_BASE,	/* failed to parse COMM chunk */
3893d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_INST = 71+AF_ERR_BASE,	/* failed to parse INST chunk */
3903d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_MARK = 72+AF_ERR_BASE,	/* failed to parse MARK chunk */
3913d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_SKIP = 73+AF_ERR_BASE,	/* failed to skip unsupported chunk */
3923d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AF_ERR_BAD_AIFF_LOOPMODE = 74+AF_ERR_BASE	/* unrecognized loop mode (forw, etc) */
3933d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project};
3943d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3953d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3963d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* global routines */
3973d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFerrfunc afSetErrorHandler (AFerrfunc efunc);
3983d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
3993d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* query routines */
4003d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAUpvlist afQuery (int querytype, int arg1, int arg2, int arg3, int arg4);
4013d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectlong afQueryLong (int querytype, int arg1, int arg2, int arg3, int arg4);
4023d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectdouble afQueryDouble (int querytype, int arg1, int arg2, int arg3, int arg4);
4033d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid *afQueryPointer (int querytype, int arg1, int arg2, int arg3, int arg4);
4043d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4053d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* basic operations on file handles and file setups */
4063d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfilesetup afNewFileSetup (void);
4073d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afFreeFileSetup (AFfilesetup);
4083d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afIdentifyFD (int);
4093d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afIdentifyNamedFD (int, const char *filename, int *implemented);
4103d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4113d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfilehandle afOpenFile (const char *filename, const char *mode,
4123d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AFfilesetup setup);
4133d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfilehandle afOpenVirtualFile (AFvirtualfile *vfile, const char *mode,
4143d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AFfilesetup setup);
4153d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfilehandle afOpenFD (int fd, const char *mode, AFfilesetup setup);
4163d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfilehandle afOpenNamedFD (int fd, const char *mode, AFfilesetup setup,
4173d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	const char *filename);
4183d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4193d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSaveFilePosition (AFfilehandle file);
4203d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afRestoreFilePosition (AFfilehandle file);
4213d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSyncFile (AFfilehandle file);
4223d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afCloseFile (AFfilehandle file);
4233d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4243d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitFileFormat (AFfilesetup, int format);
4253d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetFileFormat (AFfilehandle, int *version);
4263d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4273d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track */
4283d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitTrackIDs (AFfilesetup, int *trackids, int trackCount);
4293d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetTrackIDs (AFfilehandle, int *trackids);
4303d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4313d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: reading, writng, seeking, sizing frames */
4323d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afReadFrames (AFfilehandle, int track, void *buffer, int frameCount);
4333d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afWriteFrames (AFfilehandle, int track, const void *buffer, int frameCount);
4343d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFframecount afSeekFrame (AFfilehandle, int track, AFframecount frameoffset);
4353d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFframecount afTellFrame (AFfilehandle, int track);
4363d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfileoffset afGetTrackBytes (AFfilehandle, int track);
4373d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectfloat afGetFrameSize (AFfilehandle, int track, int expand3to4);
4383d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectfloat afGetVirtualFrameSize (AFfilehandle, int track, int expand3to4);
4393d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4403d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: AES data */
4413d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* afInitAESChannelData is obsolete -- use afInitAESChannelDataTo() */
4423d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitAESChannelData (AFfilesetup, int track); /* obsolete */
4433d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitAESChannelDataTo (AFfilesetup, int track, int willBeData);
4443d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetAESChannelData (AFfilehandle, int track, unsigned char buf[24]);
4453d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetAESChannelData (AFfilehandle, int track, unsigned char buf[24]);
4463d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4473d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#if 0
4483d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track setup format initialized via DMparams */
4493d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track format retrieved via DMparams */
4503d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectDMstatus afInitFormatParams (AFfilesetup, int track, DMparams *params);
4513d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* virtual format set via DMparams */
4523d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectDMstatus afGetFormatParams (AFfilehandle, int track, DMparams *params);
4533d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* virtual format retrieved via DMparams */
4543d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectDMstatus afSetVirtualFormatParams (AFfilehandle, int track, DMparams *params);
4553d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectDMstatus afGetVirtualFormatParams (AFfilehandle, int track, DMparams *params);
4563d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* conversion/compression params set via DMparams */
4573d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectDMstatus afSetConversionParams (AFfilehandle, int track, DMparams *params);
4583d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* conversion/compression params retrieved via DMparams */
4593d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectDMstatus afGetConversionParams (AFfilehandle, int track, DMparams *params);
4603d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif
4613d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4623d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: byte order */
4633d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitByteOrder (AFfilesetup, int track, int byteOrder);
4643d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetByteOrder (AFfilehandle, int track);
4653d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetVirtualByteOrder (AFfilehandle, int track, int byteOrder);
4663d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetVirtualByteOrder (AFfilehandle, int track);
4673d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4683d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: number of channels */
4693d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitChannels (AFfilesetup, int track, int nchannels);
4703d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetChannels (AFfilehandle, int track);
4713d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetVirtualChannels (AFfilehandle, int track, int channelCount);
4723d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetVirtualChannels (AFfilehandle, int track);
4733d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetChannelMatrix (AFfilehandle, int track, double *matrix);
4743d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4753d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: sample format and sample width */
4763d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitSampleFormat (AFfilesetup, int track, int sampleFormat,
4773d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int sampleWidth);
4783d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetSampleFormat (AFfilehandle file, int track, int *sampfmt,
4793d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int *sampwidth);
4803d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetVirtualSampleFormat (AFfilehandle file, int track, int *sampfmt,
4813d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int *sampwidth);
4823d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetVirtualSampleFormat (AFfilehandle, int track,
4833d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int sampleFormat, int sampleWidth);
4843d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetVirtualSampleFormat (AFfilehandle, int track,
4853d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int *sampleFormat, int *sampleWidth);
4863d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4873d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: sampling rate */
4883d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitRate (AFfilesetup, int track, double rate);
4893d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectdouble afGetRate (AFfilehandle, int track);
4903d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4913d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#if 0
4923d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetVirtualRate (AFfilehandle, int track, double rate);
4933d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectdouble afGetVirtualRate (AFfilehandle, int track);
4943d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif
4953d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
4963d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: compression */
4973d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitCompression (AFfilesetup, int track, int compression);
4983d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#if 0
4993d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitCompressionParams (AFfilesetup, int track, int compression
5003d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AUpvlist params, int parameterCount);
5013d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif
5023d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5033d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetCompression (AFfilehandle, int track);
5043d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#if 0
5053d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetCompressionParams (AFfilehandle, int track, int *compression,
5063d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AUpvlist params, int parameterCount);
5073d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5083d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetVirtualCompression (AFfilesetup, int track, int compression);
5093d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetVirtualCompressionParams (AFfilehandle, int track, int compression,
5103d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AUpvlist params, int parameterCount);
5113d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5123d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetVirtualCompression (AFfilesetup, int track, int compression);
5133d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetVirtualCompressionParams (AFfilehandle, int track, int *compression,
5143d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AUpvlist params, int parameterCount);
5153d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif
5163d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5173d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: pcm mapping */
5183d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitPCMMapping (AFfilesetup filesetup, int track,
5193d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	double slope, double intercept, double minClip, double maxClip);
5203d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetPCMMapping (AFfilehandle file, int track,
5213d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	double *slope, double *intercept, double *minClip, double *maxClip);
5223d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* NOTE: afSetTrackPCMMapping() is special--it does not set the virtual  */
5233d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* format; it changes what the AF thinks the track format is! Be careful. */
5243d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetTrackPCMMapping (AFfilehandle file, int track,
5253d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	double slope, double intercept, double minClip, double maxClip);
5263d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* NOTE: afSetVirtualPCMMapping() is different from afSetTrackPCMMapping(): */
5273d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* see comment for afSetTrackPCMMapping(). */
5283d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetVirtualPCMMapping (AFfilehandle file, int track,
5293d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	double slope, double intercept, double minClip, double maxClip);
5303d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetVirtualPCMMapping (AFfilehandle file, int track,
5313d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	double *slope, double *intercept, double *minClip, double *maxClip);
5323d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5333d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: data offset within the file */
5343d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* initialize for raw reading only */
5353d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitDataOffset(AFfilesetup, int track, AFfileoffset offset);
5363d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFfileoffset afGetDataOffset (AFfilehandle, int track);
5373d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5383d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* track data: count of frames in file */
5393d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitFrameCount (AFfilesetup, int track, AFframecount frameCount);
5403d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFframecount afGetFrameCount (AFfilehandle file, int track);
5413d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5423d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* loop operations */
5433d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitLoopIDs (AFfilesetup, int instid, int ids[], int nids);
5443d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetLoopIDs (AFfilehandle, int instid, int loopids[]);
5453d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetLoopMode (AFfilehandle, int instid, int loop, int mode);
5463d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetLoopMode (AFfilehandle, int instid, int loopid);
5473d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetLoopCount (AFfilehandle, int instid, int loop, int count);
5483d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetLoopCount (AFfilehandle, int instid, int loopid);
5493d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetLoopStart (AFfilehandle, int instid, int loopid, int markerid);
5503d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetLoopStart (AFfilehandle, int instid, int loopid);
5513d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetLoopEnd (AFfilehandle, int instid, int loopid, int markerid);
5523d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetLoopEnd (AFfilehandle, int instid, int loopid);
5533d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5543d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetLoopStartFrame (AFfilehandle, int instid, int loop,
5553d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AFframecount startFrame);
5563d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFframecount afGetLoopStartFrame (AFfilehandle, int instid, int loop);
5573d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSetLoopEndFrame (AFfilehandle, int instid, int loop,
5583d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AFframecount startFrame);
5593d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFframecount afGetLoopEndFrame (AFfilehandle, int instid, int loop);
5603d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5613d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetLoopTrack (AFfilehandle, int instid, int loopid, int trackid);
5623d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetLoopTrack (AFfilehandle, int instid, int loopid);
5633d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5643d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* marker operations */
5653d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitMarkIDs (AFfilesetup, int trackid, int *ids, int nids);
5663d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetMarkIDs (AFfilehandle file, int trackid, int markids[]);
5673d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetMarkPosition (AFfilehandle file, int trackid, int markid,
5683d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	AFframecount markpos);
5693d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source ProjectAFframecount afGetMarkPosition (AFfilehandle file, int trackid, int markid);
5703d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitMarkName (AFfilesetup, int trackid, int marker, const char *name);
5713d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitMarkComment (AFfilesetup, int trackid, int marker,
5723d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	const char *comment);
5733d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectchar *afGetMarkName (AFfilehandle file, int trackid, int markid);
5743d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectchar *afGetMarkComment (AFfilehandle file, int trackid, int markid);
5753d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5763d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* instrument operations */
5773d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitInstIDs (AFfilesetup, int *ids, int nids);
5783d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetInstIDs (AFfilehandle file, int *instids);
5793d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afGetInstParams (AFfilehandle file, int instid, AUpvlist pvlist,
5803d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int nparams);
5813d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetInstParams (AFfilehandle file, int instid, AUpvlist pvlist,
5823d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project	int nparams);
5833d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectlong afGetInstParamLong (AFfilehandle file, int instid, int param);
5843d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afSetInstParamLong (AFfilehandle file, int instid, int param, long value);
5853d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5863d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project/* miscellaneous data operations */
5873d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitMiscIDs (AFfilesetup, int *ids, int nids);
5883d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetMiscIDs (AFfilehandle, int *ids);
5893d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitMiscType (AFfilesetup, int miscellaneousid, int type);
5903d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetMiscType (AFfilehandle, int miscellaneousid);
5913d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectvoid afInitMiscSize (AFfilesetup, int miscellaneousid, int size);
5923d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afGetMiscSize (AFfilehandle, int miscellaneousid);
5933d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afWriteMisc (AFfilehandle, int miscellaneousid, void *buf, int bytes);
5943d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afReadMisc (AFfilehandle, int miscellaneousid, void *buf, int bytes);
5953d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Projectint afSeekMisc (AFfilehandle, int miscellaneousid, int offset);
5963d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
5973d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#ifdef __cplusplus
5983d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project}
5993d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif /* __cplusplus */
6003d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project
6013d6e527c4c430c23f6838f8f6436e75c20a1a6abThe Android Open Source Project#endif /* AUDIOFILE_H */
602