SETFM(1)

NAME
setfm - load voice libraries into the sound driver

SYNOPSIS
setfm
setfm voicelib
setfm voicelib drumlib

DESCRIPTION
Setfm loads fm voices to the sound driver for use by playing programs. It is not necessary to use it for the programs ad and mp because they load the patches themselves (unless this loading was was disabled when they were compiled).

Voicelib and drumlib are glib-format libraries of SoundBlaster (two operator) patches or opl3 (4 operator) patches, for example "std.sb" and "drums.sb" or "std.o3" and "drums.o3". Setfm loads the patches in each library to the driver. The first voicelib patches are loaded as programs 0-127. These are patches for the 128 General Midi melodic voices. The second drumlib patches are loaded as programs 128-174. These are patches for the 47 General Midi percussion set.

The first form, without arguments, looks first for "/etc/std.o3" or, if that is not found, for "/etc/std.sb", for the melodic patches, and similarly then for "/etc/drums.o3" or "/etc/drums.sb".

A file with the ".sb" suffix is assumed to have 2-operator patches, and one with the ".o3" suffix is assumed to have 4-operator patches. However, each patch in a 4-operator library is examined to see whether operators 3 and 4 are active (non-zero volume), and if not, the first two operators are loaded to the driver as a 2-operator patch (since this increases the number of polyphonic notes available).

The two libraries ought to be kept in /etc, or else in some alternative standard location given by the "-DSBDIR" compiler option when setfm, mp, and ad were compiled, and they ought to have the default names. This is because the playing programs need either to load them or at leasti to consult the patch libraries to determine the type of patches that were loaded to the driver and also to recover other information from the patches (e.g., the durations of percussion notes).

If the patch libraries and setfm are kept in /etc, the command "setfm" can be added to /etc/rc.local to make loading the patches automatic upon booting the system.

SEE ALSO
mp(1), ad(1), xgl(1), glib(1)

BUGS
It's not clear that there is any need for this program.

AUTHOR
Greg Lee, lee@uhunix.uhcc.hawaii.edu