SOURCE FOR: cmusic MAKEFILE: makefile NOTE: The CARL version of cmusic makes use of the CARL soundfile system routines, called the "csound" system. Non-CARL installations may or may not have these routines, or may have their own versions of them. To compile cmusic without the csound routines, change the "-DCSOUND" flag in the makefile to "-UCSOUND". This will cause conditional non-compilation of the csound-dependent portions of cmusic. It will also be necessary (probably) to remove the reference to the soundfile routine library (-lsf). SPECIAL INCLUDE FILES NEEDED: #include <carl/carl.h> #include </carl/sndio.h> (csound-dependent) SPECIAL LIBRARIES NEEDED: -lcarl -lsf (the sf library is csound-dependent) COMMENTS: This directory contains source for cmusic. There is a makefile which recreates cmusic in this directory. Cmusic needs some routines from frmlib, which should exist before the "make" command is uttered (i.e., the makefile refers to "-lcarl"). The makefile names the main executable file "cmusic". The cmusic main program is in file "cmusic.c". The "submain" programs, where most of the work is done, and which generally correspond to commands in the cmusic score, are in files with names like "mm.*.c". (e.g., mm.gen.c, mm.play.c, mm.ins.c, etc.) Most function generating programs have names such as gen1.c, gen2.c, etc. These are executable programs which are popened by mm.gen.c. Sources for gen commands are in ../gens. Users may supply their own function generating programs, modelling them on gens 1 thru 6, and giving them arbitrary names (see "help" files). Unit generator programs are all on files with names of the form "ug.*.c". (cf. ug.osc.c, ug.out.c, etc.) The main data structures are described in file "m.structs.h". Global variables are defined on files with names of form "*.globs.h". (cf. m.globs.h, ug.globs.h) Externals variable references are on files with names of form "*.exts.h". (cf. m.exts.h) Definitions (such as macros) are on files with names of form "*.defs.h". (cf. m.defs.h, ug.defs.h, etc.) Scores are conventionally stored on file with names of form "*.sc". Cmusic expect that sprintf returns a string pointer to the generated string (not all UNIX versions work this way). Ints are assumed to be long, since this version was written on a VAX - if you are using a 16-bit machine you might want to either change all ints to longs, or decide case-by-case whether they need to be. Further documentation can be found by saying "man cmusic"; a number of help files explain unit generators, function generators, etc., in more and up-to-date detail.
7/29/92 The current version of cmusic contains the splice unit generator supplied by Abe Singer, as well as the space reverb timbre switch code added to mm.sndout.c by John Stevens. 11/18/92 Installed Dick's definitive soundfile unit generator as ug.sndfile.c. 3/17/93 sfl added code to update the soundfile header at completion of the cmusic process, so that the correct dataSize in bytes would be recorded in next soundfile headers . Changes to cmusic.c, mm.sndout.c, m.globs.h, and m.exts.h. 3/30/93 Change internal name of abs() function to Abs(), to avoid conflict with declaration in math.h. This required change to ug.globs.h. C compiler under NextOS 3.0 uncovered new errors and warnings in compilation of cmusic. 4/23/93 sfl added code in mm.merge.c to allow up to 52 unique merge file names. The 26 possible unique names allowed for previously were not enough.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.