Fomus
Chunks
FOMUS can "splice" together the outputs of two or more runs of the
fomus
command. This allows sections or parts ("chunks") to be produced
separately and put together later into a complete score. This allows the
user to use different arguments and settings values with different
sections of the score.
This feature is "experimental" at the moment (it will be fully
functional soon). FOMUS outputs a chunk object automatically on each
successful run of the fomus
command. If no outputs are specified, then
:CHUNK
or :NONE
must be given as a backend. A chunk is actually all
of the measures in the processed output that contain anything other than
a measure rest (ie. all of the measures that contain notation). So it
can include either a part, several parts in a range of measures, every
other measure over a certain range, etc.. Chunks can only be merged
together if there are no notational overlaps. (At the moment, they can't
be "relocated" or given an offset–this will be added soon.) FOMUS
considers parts with matching [[note.partid][PARTID] values to be the
same and will match them accordingly. New (or non-matching) parts may
also be merged tegether into one score–FOMUS matches, adds, and
reorders all of them automatically.
There are several ways to tell FOMUS to merge chunks. Some examples are given here in both Lisp and command-line syntax:
(fomus (list (fomus ...fomus_args_chunk1...) (fomus ...fomus_args_chunk2...)) :filename "path_to/myoutputfile" :output :musicxml-finale)
(fomus (list "path_to/myfomuschunk1.fms" (fomus ...fomus_args_chunk2...) "path_to/myfomuschunk3.fms") :filename "path_to/myoutputfile" :output :cmn)
fomus -lw path_to/myfomuschunk1.fms path_to/myfomuschunk2.fms path_to/myfomuschunk3.fms
In each case, two or three chunks are either created from another
fomus
command or read in from an input file. The chunks are then
combined together and output as one file.