afGetLoopStartFrame(3dm) afGetLoopStartFrame(3dm)
afGetLoopStartFrame, afGetLoopEndFrame, afGetLoopCount - get the
start/end frame and loop count from an AFfilehandle structure for a
specified loop.
#include <dmedia/audiofile.h>
AFframecount afGetLoopStartFrame(AFfilehandle file, int instid,
int loopid)
AFframecount afGetLoopEndFrame(AFfilehandle file, int instid,
int loopid)
int afGetLoopCount(AFfilehandle file, int instid,
int loopid)
file is an AFfilehandle structure, previously created by a call to
afOpenFile(3dm).
instid is a positive integer value which identifies an instrument
configuration in file. instid should be an element from an
array of IDs retrieved via a call to afGetInstIDs(3dm).
loopid is a positive integer value which identifies a loop structure in
an instrument parameter chunk. You obtain loopid's by calling
afGetLoopIDs(3dm).
afGetLoopStartFrame() returns a non-negative AFframecount type
representing the frame number for the loop start point, or -1 if there is
an error.
afGetLoopEndFrame() returns a non-negative AFframecount type representing
the frame number for the loop end point, or -1 if there is an error.
afGetLoopCount() returns a non-negative integer indicating the number of
times a loop should be repeated. This information is only available
and/or storable in certain file formats (see WAVE(4)). For all formats
which do not store this information, afGetLoopEndFrame() will return 0.
Each takes a loopid argument which provides a handle to a set of loop
parameters.
You can obtain a list of loop ID's for an audio track by calling
afGetLoopIDs(3dm). Logically, an audio file contains chunks of
instrument parameters (specified by instid handles), and each chunk of
instrument parameters may contain several loops.
AIFF(4) (and AIFF-C) files contain at most one instrument configuration,
but other file formats may contain multiple configurations, so it is now
recommended that afGetInstIDs(3dm) be used to retrieve an array of IDs.
Page 1
afGetLoopStartFrame(3dm) afGetLoopStartFrame(3dm)
afQuery(3dm) may be used to determine in advance whether a particular
format supports multiple inst chunks.
These routines allow you to obtain direct information about loops in an
audio file without the added overhead of looking up associated markers
(see afGetLoopStart(3dm)). This is necessary because several file
formats now supported by the Audio File Library contain loop information
(i.e., start and end points) which is completely independent of marker
information. In other words, the markers (if any) stored in the file
header may and usually will refer to locations in the file other than the
loop start and end points.
afGetLoopStartFrame() returns the value 125000. This is the frame number
in the audio track for the beginning of the specified loop.
These functions may return any configurations of loops within an inst,
not just the value 2 found in AIFF/AIFF-C files. Other file formats have
different loop configurations than AIFF/AIFF-C. As mentioned above,
afQuery(3dm) can be used to determine the possible loop configurations
for a given file format. Programs should be written to expect and ignore
loop configurations it does not understand.
afOpenFile(3dm), afGetInstIDs(3dm), afGetInstParamLong(3dm),
afGetLoopIDs(3dm), afGetLoopStart(3dm), aiff(4), avr(4), wave(4), sd2(4)
PPPPaaaaggggeeee 2222 [ Back ]
|