ftp.nice.ch/pub/next/unix/audio/cmix.s.tar.gz#/cmix/head/wheader.c

This is wheader.c in view mode; [Download] [Up]

#include "../H/NeXTsfheader.h"
#include "../H/ugens.h"
#include <stdio.h>
#include <sys/file.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <errno.h>


Nwheader(sf,header)
SFHEADER  *header;
int sf;
{
	(header)->sfinfo.NeXTheader.magic = SND_MAGIC;
	(header)->sfinfo.NeXTheader.offset = SIZEOF_HEADER;
	if((header)->sfinfo.sf_packmode == SF_FLOAT) 
		(header)->sfinfo.NeXTheader.format = SND_FORMAT_UNSPECIFIED;
	else	(header)->sfinfo.NeXTheader.format = SND_FORMAT_LINEAR_16;
	(header)->sfinfo.NeXTheader.rate = (header)->sfinfo.sf_srate;
	(header)->sfinfo.NeXTheader.channels = (header)->sfinfo.sf_chans;
	if(write(sf,header,SIZEOF_HEADER) != SIZEOF_HEADER) return(1);
	else return(0);
}

putlength(sfname,sf,header)
SFHEADER *header;
char *sfname;
{
	struct stat st;
	if(stat(sfname,&st))  {
		printf("Couldn't stat file\n");
		return(-1);
	}
	lseek(sf,0,0);
	(header)->sfinfo.NeXTheader.size = (int)st.st_size - SIZEOF_HEADER;
	if(write(sf,header,SIZEOF_HEADER) != SIZEOF_HEADER) {
		printf("Bad header write on file\n");
	}
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.