libcm/cmAudLabelFile.h

55 rader
1.2 KiB
C

#ifndef cmAudLabelFile_h
#define cmAudLabelFile_h
#ifdef __cplusplus
extern "C" {
#endif
//( { file_desc:"Read and write Audacity label files." kw:[audio file] }
enum
{
kOkAlfRC = cmOkRC,
kLHeapFailAlfRC,
kFileFailAlfRC,
kSyntaxErrAlfRC,
kAlfFileFailPuRC
};
typedef cmRC_t cmAlfRC_t;
typedef cmHandle_t cmAlfH_t;
extern cmAlfH_t cmAlfNullHandle;
typedef struct
{
cmReal_t begSecs;
cmReal_t endSecs;
const cmChar_t* label;
} cmAlfLabel_t;
cmAlfRC_t cmAudLabelFileAlloc( cmCtx_t* ctx, cmAlfH_t* hp );
cmAlfRC_t cmAudLabelFileAllocOpen( cmCtx_t* ctx, cmAlfH_t* hp, const cmChar_t* fn );
cmAlfRC_t cmAudLabelFileFree( cmAlfH_t* hp );
bool cmAudLabelFileIsValid( cmAlfH_t h );
cmAlfRC_t cmAudLabelFileOpen( cmAlfH_t h, const cmChar_t* fn );
cmAlfRC_t cmAudLabelFileInsert( cmAlfH_t h, cmReal_t begSecs, cmReal_t endSecs, const cmChar_t* label );
unsigned cmAudLabelFileCount( cmAlfH_t h );
const cmAlfLabel_t* cmAudLabelFileLabel( cmAlfH_t h, unsigned idx );
cmAlfRC_t cmAudLabelFileWrite( cmAlfH_t h, const cmChar_t* fn );
void cmAudLabelFileTest( cmCtx_t* ctx );
//)
#ifdef __cplusplus
}
#endif
#endif