How does nGen Work?

nGen is a command-line program that is invoked from the operating system shell (UNIX, MS-DOS etc., -- the Mac version is launched with a GUI).  It parses a text file that contains a syntax that the program understands and expands the file into a new text file in the format of a Csound score file.  Optionally, a standard MIDI file may be created instead; this has lot of potential, especially for those interested in reading the data into a notation program or sequencer. nGen requires two parameters: an input-file and an output-file.  For example, the following invokes nGen taking input from "input.gen" and puts the expanded Csound score-file in "output.sco":
ngen input.gen output.sco

Csound can then use "output.sco" as its score file.

To use nGen all you need to do is to create a text file in the proper format and render it with nGen; the output is then ready to use with Csound (or MIDI if the -m switch is specified).

Additionally, there are several command-line options available:

Switch Required Arguments Comments
-m none Output file will be a MIDI file (format 1)
-l filename Make a log of the screen output and put it in filename (text file).
-x filename Put macro expansions in filename (text file)
-t none Print verbose tempo information to the console.
-s none Suppress warnings and non-fatal messages.

As an example:

ngen -m -l log.txt -x exp.txt ex1a.gen ex1a.mid
will run the program creating MIDI output in "ex1a.mid", screen output will be logged in "log.txt", and macro expansion can be viewed in "exp.txt".

If you are using the DOS command line version under Windows:
You must first create a generic DOS prompt shell window,  from there you will invoke nGen. You will need to do one of two things:

1) Put the directory where "ngen.exe" resides in your PATH environment variable.  The easiest way to do this is to launch a batch file when the shell starts.  This can CD to the directory where you will be keeping all of your input files and set up the path:  For example:


@echo off 
@echo Setting up the nGen environment 

set PATH=%PATH%;C:\kuehn\ngen;C:\kuehn\bat 
cd <the path where you want to work with the input files> 
doskey 

@echo All set to go! 
  

2) Keep the "ngen.exe" file with your input files (not a very robust solution).

Configuring the Win32 DOS window:
Make sure you have the DOS Prompt window configured in the following manner (you need to do this for it to run under "Win32"):  Click under "Properties" > "Advanced".  Be sure that "Suggest MS-DOS Mode as Necessary" is the only thing selected.  Now you should be able to run the program using the full 32-bit memory module.

Under Linux, IRIX, UNIX, and Mac OS X
All you need to do for various flavors of UNIX is to put the program in a directory where it can be seen in the path (i.e. ~/bin or /usr/local/bin). Next, you can open a shell and go to it!
N.B. You may need to do "chmod +x" as root after you have downloaded the binary. (This will make it "executable" by the shell.)