Next: , Previous: Usage, Up: Usage


3.1 Input

3.1.1 Command Line

The command for running fomus at the command prompt is fomus. To get help on command-line options, type:

     fomus -h

To process a .fms file, type:

     fomus path/to/file.fms

The .fms file might have its output file set to an unexpected location or may not output the type of file you're interested in. To override this, specify an output file also by typing:

     fomus -opath/to/output.ly path/to/file.fms

The -S option prints out a list of FOMUS's settings. Two useful additional options to add to this are -u, which changes the so-called “use level,” and -n, which specifies the number of settings to return if you are searching for a specific one. Use levels range from 0 (beginner) to 3 (guru). Levels 0 through 2 contain all of the settings that should be useful to most users while level 3 settings require some amount of technical knowledge to use.

For example, to view all of the documentation for “intermediate” (and “beginner”) level settings type:

     fomus -S -u1

To search for settings that might have something to do with double accidentals, type:

     fomus -S -u2 -n3 double-acc

This gives you the top three matches for settings (up to “advanced” level) that have names similar to ‘double-acc’. You can also add -d to the command line to search documentation strings instead (rather than names). The -h option lists all of the possibilities for searching and filtering lists of settings, marks and modules.

3.1.2 Emacs

An Emacs FOMUS mode is installed in the /install_prefix/shared/emacs/site-lisp directory (the exact location depends on the build prefix you specified in the ./configure line). It offers customizable syntax highlighting for .fms files and a few commands for processing them. To use it, put the following in your .emacs initialization file:

     (add-to-list 'load-path "/install_prefix/share/emacs/site-lisp") ; (if necessary)
     (require 'fomus)

3.1.3 Common Music and Grace

Grace contains a built-in graphical front-end for FOMUS, with several dialog boxes for editing settings and objects as well as .fms data files. To use the Grace front-end, create a new score and rename it to the output file you wish to generate (select the Rename Score menu option). Renaming a score is the same as specifying an output filename via -o on the command line or changing the value of the filename setting. Note events are entered using functions that are prefixed with a fms: package symbol. See the examples in SAL Examples or the Grace documentation for more information on how to use them.

3.1.4 Pure Data

If the appropriate Pd header files are installed on your system, make will also build a Pure Data fomus patch object. Rather than guessing the proper location to install this, it is instead placed in the /install_prefix/share/fomus directory. Either link/copy this to the appropriate directory or add the directory to Pd's search path. An example patch file fomus.pd is also installed to the same location.

3.1.5 Lisp

Two files, fomus.lisp and fomus.asd, are provided for using FOMUS in a Lisp environment such as SBCL, CLISP or Clozure CL. They are located in /install_prefix/share/fomus. The CFFI package is required for fomus.lisp to compile and load, so make sure this is installed on your system. If you use ASDF to compile and load Lisp packages, simply create a link to file.asd in your ASDF system directory or make sure /install_prefix/share/fomus/ is included in the asdf:*central-registry* variable. You can then type ‘(asdf:operate 'asdf:load-op :fomus)’ in Lisp to compile and load FOMUS. Evaluate ‘(fms:version)’ to test if the FOMUS library is loaded correctly (FOMUS should return a version string).

3.1.6 Importing Data

FOMUS supports importing type 0 or 1 MIDI files. Although FOMUS attempts to make correct decisions based on information contained in the file, you will most likely need to provide FOMUS with part and instrument definitions, measures, and also a time scale factor for this to work. See MIDI Import Examples for examples of how to do this.