#include "../H/sfheader.h" #include #include #include #include #include #include static SFCODE ampcode = { SF_MAXAMP, sizeof(SFMAXAMP) + sizeof(SFCODE) }; main(argc,argv) int argc; char **argv; { int i,sf,result; struct stat sfst; long dur; SFHEADER sfh; char *sfname; double atof(),amount; long position,frame; char zero[16]; /* assuming a channel block contains 4*4bytes at most*/ if(argc != 3) { printf("format: sfextend amount_to_add_to_duration filename\n"); exit(-1); } amount = atof(*++argv); sfname = *++argv; rwopensf(sfname,sf,sfh,sfst,"sfprint",result,2) if(result < 0) exit(-1); dur = amount * sfsrate(&sfh) * sfclass(&sfh) * sfchans(&sfh); frame = sfclass(&sfh) * sfchans(&sfh); dur -= dur % frame; for(i=0; i