Fomus
Alphabetical Listing of Settings
:acc-caut-acc-dist- this number represents the maximum distance a cautionary accidental may be from the note that causes it.
:acc-throughout-meas- if set to
t, accidentals carry to the end of the measure. if set tonil, accidentals affect only the note they precede. :auto-accidentals- if set to
t, fomus automatically determines note spellings. if set tonil, a generic set of note spellings is used (all notes receive flats except for f sharp). the user may supply note spellings to override fomus's spellings. :auto-accs-module- designates which module is to be used for
determining note spellings. fomus's built-in values are
t,:acc1,trepresents the default module and is equivalent to:acc1. :auto-beam-module- designates which module is to be used for
beaming. fomus's built-in values are
tand:beams1.trepresents the default module and is equivalent to:beams1. :auto-beams- if set to
t, fomus determines beaming based on time signature information and decisions it makes regarding irregular measure divisions. if set tonil, beaming decisions are made by the backend notation program. :auto-cautionary-accs- if set to
t, fomus inserts several different kinds of cautionary accidentals. the user can supply her own cautionary accidentals with the:cautaccmark. :auto-distr-rests-module- designates which module is to be used
for determining how rests are distributed among staves. fomus's
built-in values are
tand:rests1.trepresents the default module and is equivalent to:rests1. :auto-dyn-nodup- if set to
t, indicates that fomus should eliminate all redundant dynamic markings. :auto-grace-slurs- if set to
t, fomus automatically puts slurs over all grace notes. if set tonil, the user must supply all grace note slurs with:startgraceslur-,:graceslur-and:endgraceslur-marks. :auto-multivoice-comb-module- designates which module is to be
used for determining how simultaneous notes from different voices are
combined into chords on the same staff. fomus's built-in values are
tand:comb1.trepresents the default module and is equivalent to:comb1. :auto-multivoice-notes- if set to
t, fomus combines simultaneous notes from different voices into chords. :auto-multivoice-rests- if set to
t, fomus combines equivalent simultaneous rests from different voices into single rests. :auto-ottavas- if set to
t, fomus automatically determines where to place ottava brackets. if set tonil, the user must supply all ottava brackets with:8up,:8downand related spanner marks. :auto-ottavas-module- designates which module is to be used for
determining where ottava brackets occur. fomus's built-in values are
tand:ottavas1.trepresents the default module and is equivalent to:ottavas1. :auto-override-timesigs- if set to
t, fomus extends or contracts measures within certain bounds, adding new time signatures as necessary to fit measures into the user-supplied time signatures given in theglobalorpartssettings. if set tonil, fomus simply cuts the last measure (also inserting a new time signature) before a new time signature change, resulting in measures of arbitrary sizes depending on where the cut occurs. :auto-percussion-durs- if set to
t, fomus determines the durations of all percussion instruments that have their slot set tot. percussion instruments that don't need to be notated precisely with respect to duration are then notated with durations that are simpler to read (without tying together groups of notes). :auto-pizz/arco- if set to
t, indicates that fomus should convert each consecutive group of:pizzmarks it finds to a single pair of:pizzand:arcomarks. this makes it easier to notate pizz. and arco changes by simply attaching:pizzmarks where they belong. :auto-timesig-comp- if set to
t, fomus automatically interprets time signatures such as 6/8, 9/4, etc. as compound meters. if set tonil, the user must indicate that a meter is compound by setting the slot in the appropriate object. :auto-quantize- if set to
t, fomus quantizes offsets and durations so that everything fits into the closest fitting tuplets and beat divisions possible. if set tonil, all offset and duration values must be precise ratios or integers– floating point numbers are treated with therationalizefunction in this case (this isn't recommended). if no quantizing is done and offsets and durations of events don't fit into anything that is "notatable" then fomus will complain with an error. :auto-quantize-module- designates which module is to be used for
quantizing. fomus's built-in values are
t,:quantize1-rmseand:quantize1-ave.:quantize1-msefinds the closest fit to notation by minimizing the root mean squared error between the user's values and possible notational values.:quantize1-avefinds the closets fit by minimizing average error.trepresents the default module and is equivalent to:quantize1-rmse. :auto-staff/clef-changes- if set to
t, fomus automatically determines staff and clef changes for voices. if set tonil, the user must supply all staff and clef changes with:staff,:clefand related marks. :auto-staff/clefs-module- designates which module is to be used to
determine automatic staff and clef changes. fomus's built-in values
are
tand:staves/clefs1.trepresents the default module and is equivalent to:staves/clefs1. :auto-voices-module- designates which module is to be used for
determining how notes are distributed into separate voices. fomus's
built-in values are
tand:voices1.trepresents the default module and is equivalent to:voices1. :auto-voicing- if set to
t, fomus automatically decides how to distribute notes among multiple voices, given the choices specified in thenote,restandmarkobjects. if set tonil, the user must specify explicitly which voice an event belongs to. :beat-divisionthe value of this setting is used by the quantizing algorithm to determine how to round offsets and durations. if only an integer is given, it represents the number of divisions per beat in a non-compound meter– the compound meter value is then calculated by multiplying the first number by 3/2. if specified as a list of two integers, the first integer represents the number of divisions per beat in a non-compound meter while the second represents the number of divisions in a compound meter. the first number must be a power of 2 while the second number 3/2 or 3/4 times a power of 2.
a
beat-divisionof 2, for example, tells fomus to quantize to eighth-note values (if the current beat is a quarter-note). in a compound 12/4 meter, this setting also tells fomus to quantize to an eighth-note value (2 multiplied by 3/2 is 3, and there are 3 eighth-notes per beat). in the same compound 12/4 meter, a setting of'(4 6)would cause durations to be quantized to sixteenth notes (there are 6 sixteenth notes per beat).beat-divisionspecifies only approximately how durations are quantized inside tuplets. it is completely predictable only when themax-tupletsetting is set tonilor the notation contains nothing that would generate any kind of tuplet. when tuplets are allowed and fomus tries to create them, it divides them into units that are as close as possible in duration to the non-tuplet divisional units. for example, ifbeat-divisionis set to16and it's allowable for fomus to try to divide one beat into a septuplet, then it's possible for notes to be quantized to either 16 or 14 divisions per beat (since a septuplet divides evenly into 14 units and 1/14 is the closest septuplet divisional duration to 1/16).:caut-acc-next-meas- when set to
nil, indicates that cautionary accidentals may occur only in the same measure as the note that causes them. when set to1, specifies that cautionary accidentals may occur only if they are in the measure immediately after the note that causes them. when set totor2, specifies that cautionary accidentals may occur in any measure after the note that causes them. :caut-acc-octaves- when set to
t, the cautionary accidental algorithm places cautionary accidentals at all octave transpositions from the note that causes them. when set to the integer1or greater, specifies the maximum number of octaves a cautionary accidental can be from the note that causes it. :caut-acc-ottavas- when set to
t, the cautionary accidental algorithm considers the presence of ottava brackets, placing cautionary accidentals where apparent octave transpositions might cause confusion. :check-ranges- when set to
t, activates a check that prints warnings if it finds notes out of range for their instruments. the minp and maxp slots in the appropriateinstrobject must be set for this to have any effect. :cm-scale- if set to
t, indicates that the value ofcm-scalewill be used to parse note symbols (as the value of the:inkeyword argument) if cm is present and being used. :cmn-view-exe- this is a string specifying the path and filename to the executable for the common music notation viewer application. the full pathname may or may not need to be specified depending on the lisp implementation. the default application depends on what is installed on the user's machine, and should be an application appropriate for viewing postscript or eps files.
:cmn-view-opts- this is a list of strings representing options to be passed to the cmn viewer application executable.
:comp-long-eighth-beam-count- this is set to an integer greater
than
0, specifying the number of eighth notes that need to be present to be beamed as groups of 6 in compound meters. this setting is only effective iflong-eighth-beamsis set tot. :composer- this is an optional string value containing the composer's name.
:debug-filename- if set to a string, represents the name of a file
to which debug information is dumped each time the
fomusfunction is called. if you wish to report a bug, please send the contents of this file. :default-beat- specifies a default value for the
slot of objects
that are not compound time signatures. this setting is
1/4by default, specifying that for non-compound meters a quarternote is equivalent to 1 beat. in compound time signatures the beat is always infered from the denominator (for example, in a 12/8 meter the beat is 3/8). :default-grace-dur- if fomus needs to convert a note into a grace note, this value is used as the grace note's duration.
:default-grace-num- if fomus needs to convert a note into a grace
note, this value is used as the grace note's default position number.
this value together with the grace note's context determines the
actual position (when necessary, fomus will increment or decrement
this value to determine the actual position number). see the
slot in class
notefor more information. :default-instr- this is a default
instrobject to be used in cases when another instrument isn't specified. :default-meas-divsthis list is a table containing possible ways of dividing measures into smaller segments or divisions. these segments affect how notes are split, tied and beamed. entries in this list replace entries in fomus's own default table if they exist. each member of this list is itself a list, containing an integer or ratio lookup value as the first element followed by one or more lists of integers/ratios that each add up to the first number.
:default-meas-divs '((3 (2 1) (1 2)) (4 (2 2)) (5 (3 2) (2 3)) (6 (4 2) (2 4)) (7 (4 3) (3 4)))the numbers in these lists correspond to the number of beats in a measure, multiplied or divided by 2 if necessary. in most cases, only specify integers should be necessary, though ratios may also be used. for example, if a 7/8 measure with a quarter-note beat is processed, fomus first tries to lookup a set of divisions using the index number 7/2, then 7, 14, etc.. this way the lookup value
7is sufficient for any meter with a numerator of 7, though it's possible to supply more specific entries such as7/2(for measures that contain 3 + 1/2 beats).:default-timesig- if no time signature is specified in the
globalorpartslists, this default one is used. :default-tuplet-divsthis list is a table containing possible ways of dividing tuplets into smaller segments or divisions. these segments affect how notes are split, tied and beamed. entries in this replace entries in fomus's own default table if they exist. each member of this list is itself a list, containing an integer lookup value as the first element followed by one or more lists of integers that each add up to the first number.
:default-meas-divs '((3 (2 1) (1 2)) (4 (2 2)) (5 (3 2) (2 3) (4 1) (1 4)) (6 (4 2) (2 4)) (7 (4 3) (3 4)))the numbers in this list correspond to numerators of tuplet ratios (or multiples or divisions of two). when fomus needs to find possible divisions for a triplet, for example, it uses the entries in the list corresponding to lookup value
3. if it needs to lookup divisions for a sextuplet, it will first try to lookup the number6and then use3if an entry for6doesn't exist.:default-tupletsthis list is a lookup table indicating what ratios fomus should use when deciding how to notate tuplets. each list element is itself a list of two integers specifying a tuplet ratio, or how many durational units should be used in place of another.
'(7 4)thus specifies that septuplet eighth notes are to be used in place of 4 eighth notes. fomus searches this table by finding a match for number of tuplet divisions (the first integer in each pair) and checking the second integer to see if it's appropriate for the context it is in (a power of 2 of the actual number of durational units). thus, several entries for septuplets might exist:'(7 4)for the majority of cases and'(7 5)for cases where, for example, 7 eighth notes might span an entire 5/8 measure or a section of a larger tuplet.:default-meas-divs '((3 2) (6 5) (5 4) (7 4) (7 5) (13 8) (13 10))the default value is
nil. if fomus doesn't find an entry for a tuplet division here, it determines its own depending on the value oftuplet-function.:dotted-note-level- indicates how dotted notes are allowed to
appear. possible values are
t,:all,:topand:sig.:allspecifies that they can appear anywhere,:topspecifies that they can appear only if they occupy an entire measure, and:sigspecifies that they can appear if they occupy durations larger than a beat.tis equivalent to:all. :double-dotted-notes- if set to
t, indicates that double-dotted notes are allowed. :effective-grace-dur-mul- if fomus needs to determine the effective duration of a grace note (for scoring or comparison purposes), it multiplies the value of this setting with the duration given in the grace note's slot.
:ensemble-typethis setting determines how parts are both ordered and grouped together with brackets and barlines in the score. setting this to a symbol specifies a lookup value for a ordering/grouping table entry specified in the
instr-groupssetting or fomus's own default table. it may also be set to an ordering/grouping data structure, in which case this specified ordering/grouping is used instead. an ordering/grouping data structure is a list of symbols or nested lists of symbols that specify both the groups and the layout order of parts. a symbol specifies an instrument while a list contains a group type (a symbol designating what type of bracket is to appear on the left-hand margin of the score and how barlines are to appear) followed by more instrument symbols or lists (see the example below). a group type is one of the symbols:group,:grandstaffor:choirgroup.a look at the following examples might make this clearer:
:ensemble-type :orchestra:ensemble-type '((:my-orchestra (:group (:group :piccolo :flute) (:group :oboe :english-horn) (:group :bf-clarinet :a-clarinet :bass-clarinet) (:group :bassoon :contra-bassoon)) (:group (:group :horn) (:group :c-trumpet :bf-trumpet) (:group :alto-trombone :tenor-trombone :bass-trombone) (:group :tuba)) :timpani :percussion (:grandstaff :piano) (:group (:group :violin) (:group :viola) (:group :violoncello) (:group :contrabass)))):events- this is a global list of events to be processed by fomus.
an event can be a
note,restormarkobject. anoteorrestobject must have a symbol or number in its [[note.partid]artid]] slot specifying which part it belongs to. amarkobject may have a default value ofnilto specify all parts or a symbol/number or list of symbols/numbers to specify only those parts. (note that specifying part id information isn't necessary when event objects are listed in the slot of apartobject. including these objects in the events list provides an alternative to listing them insidepartobjects.) see Objects for more detailed descriptions of these objects and their uses. :filenamethis string represents the path and filename to which fomus adds an appropriate extension when it saves output in various formats. this setting in combination with the
outputsetting determines the actual output filenames.:filename "path_to_output_directory/myoutput":global- this is a list of objects that have "global" influence
over other events in the
partsandeventssettings. only objects of typetimesigandkeysigare allowed here (keysigisn't implemented yet). when a global object's slot is set to the default value ofnilthe object affects all parts that don't already have atimesigorkeysigattached to them at that point. when its slot is set to symbol or list of symbols the object affects those parts only. this enables the specification of multiple simultaneous time signatures and polymeters (not implemented yet). :grandstaff-hide-rests- when set to
tor:some, indicates that fomus hides some rests when combining multiple voices in a grand staff. this makes the notation easier to read for multi-staff instruments by eliminating rests that aren't necessary. when set to:allindicates that all rests in all parts are hidden (this could be more useful in the future when proportional notation is supported). when set tonilindicates that no rests are hidden. :input-beat-value- when set to some real number greater than
0, indicates that this durational value is to be interpreted as one beat. fomus scales all input objects by dividing offsets and durations by this value before doing any other processing. a value ofnilis the default and is equivalent to1. :input-offset- when set to some real number, indicates that this
durational value is to be interpreted as one beat. fomus shifts all
input objects by adding this value to all offsets before doing any
other processing. a value of
nilis the default and is equivalent to0. :instr-groupsthe value of this setting is a table in the form of a list that provides a way of adding instrument orderings and groupings to fomus's own default table. these tables map symbol lookup values to ordering/grouping data structures which specify how parts are both ordered and grouped together with brackets and barlines in the score. the user may choose one of these groupings by setting
ensemble-typeto a symbol lookup value. the user-supplied list is searched first so user-supplied orderings/groupings can override fomus's default orderings/groupings.the setting is a list of lists, the first element in each inner list containing a symbol specifying a unique lookup name. these are followed by grouping/ordering definitions: symbols or nested lists of symbols that specify both the groups and the layout order of parts. in this data structure a symbol specifies an instrument while a list contains a group type (a symbol designating what type of bracket is to appear on the left-hand margin of the score and how barlines are to appear) followed by more instrument symbols or lists (see the example below). a group type is one of the symbols
:group,:grandstaffor:choirgroup.a look at the following example might make this clearer:
:instr-groups '((:orchestra (:group (:group :piccolo :flute) (:group :oboe :english-horn) (:group :bf-clarinet :a-clarinet :bass-clarinet) (:group :bassoon :contra-bassoon)) (:group (:group :horn) (:group :c-trumpet :bf-trumpet) (:group :alto-trombone :tenor-trombone :bass-trombone) (:group :tuba)) :timpani :percussion (:grandstaff :piano) (:group (:group :violin) (:group :viola) (:group :violoncello) (:group :contrabass))) (:ensemble :piccolo :flute :oboe :english-horn :bf-clarinet :a-clarinet :bassoon :contra-bassoon (:grandstaff :piano))):instrumentsthe user can use this setting to specify additional
instrobjects that are added to the default instrument list. fomus searches this list before its own default list when resolving symbols to instrument definitions, so they may be replacements or modifications of existing instruments. the contents are either instrument objects created withmake-instror lists specifying modifications to fomus's default instruments (or a combination of both). if a list is specified, it contains a symbol specifying a default instrument followed by keyword/argument pairs indicating slot values that replace existing default values (see the slot in thepartobject and for an example of this).:instrument (list (make-instr :recorder :clefs :treble) '(:piano :staves 3 :simultlim 6)):lilypond-exe- this is a string specifying the path and filename to the lilypond executable. the full pathname may or may not need to be specified depending on the lisp implementation.
:lilypond-filehead- this is a string or list of strings representing text to be inserted directly into a lilypond output file. each string in the list is followed by a carriage return. the text is inserted near the top of the file at a point before any score or part data appears.
:lilypond-opts- this is a list of strings representing options to
be passed to the lilypond executable. the default is currently
'("--ps")for linux or'("--pdf")for os x/windows, specifying that lilypond should generate either a postscript or pdf format file. :lilypond-out-ext- this is a string specifying the extension for
the output filename that is created when lilypond is run. the default
is
"ps"for linux and"pdf"for os x/windows. :lilypond-scorehead- this is a string or list of strings representing text to be inserted directly into a lilypond output file at the beginning of a score block. each string in the list is followed by a carriage return.
:lilypond-text-markup- this is a "wrapper" string specifying
lilypond markup instructions to be used when printing text above or
below the staff. the string must have an
~aor similar substring to indicate where to place the actual text (as if in a call toformat). the default value is"\markup{\italic{~a}}". :lilypond-textacc-markup- this is a "wrapper" string specifying
lilypond markup instructions to be used when engraving accidentals as
text. the string must have an
~aor similar substring to indicate where to place the actual text (as if in a call toformat). the default value is"\\markup{\\tiny{~a}}". :lilypond-textdyn-markup- this is a "wrapper" string specifying
lilypond markup instructions to be used when printing text in a
dynamic-type font. the string must have an
~aor similar substring to indicate where to place the actual text (as if in a call toformat). the default value is"\markup{\dynamic{\italic{\bold{~a}}}}". :lilypond-textnote-markup- this is a "wrapper" string specifying
lilypond markup instructions to be used when printing text above
single notes. the string must have an
~aor similar substring to indicate where to place the actual text (as if in a call toformat). the default value is"\markup{\italic{~a}}". :lilypond-texttempo-markup- this is a "wrapper" string specifying
lilypond markup instructions to be used when printing text in a heavy
"tempo" font. the string must have an
~aor similar substring to indicate where to place the actual text (as if in a call toformat). the default value is"\markup{\bold{\huge{~a}}}". :lilypond-version- if set to a string (for example,
"2.8"), forces fomus to output lilypond files for that version. :lilypond-view-exe- this is a string specifying the path and filename to the executable for the lilypond viewer application. the full pathname may or may not need to be specified depending on the lisp implementation. the default application depends on what is installed on the user's machine, and should be one appropriate for viewing postscript files.
:lilypond-view-opts- this is a list of strings representing options to be passed to the lilypond viewer application executable.
:long-eighth-beam-count- this is set to an integer greater than
0, specifying the number of eighth notes that need to be present to be beamed as a group of 4. this setting is only effective iflong-eighth-beamsis set tot. :long-eighth-beams- if set to
t, specifies that the beaming algorithm should beam eighth notes into groups of up to 4 under certain conditions (if enough of them are present). if set to:always, specifies that eighth notes are always beamed in groups of 4. if set tonil, specifies that eighth notes are never beamed in groups of 4. :max-ottava-rest-dist- this is a real number greater than
0, specifying the maximum distance an ottava bracket will span over a group of contiguous rests. :max-tuplet- if set to an integer, represents the largest tuplet
allowed. if set to a list of integers, represents the largest tuplets
allowed for each nested tuplet level (and also specifies how many
levels of tuplet nesting are allowed by the length of the list). a
value of
'(7 3), for example, specifies two levels of tuplet nesting with septuplets being the maximum allowed in the outer level and triplets being the maximum in the inner level. a value ofnilspecifies that no tuplets are to be used. :max-tuplet-dur- this is the largest duration in beats that a tuplet can span.
:min-auto-timesig-dur- if
auto-override-timesigsis set tot, fomus automatically generates new time signatures as necessary to fit measures into the time signatures specified in theglobalandpartslist. the value of this setting represents the smallest duration (in beats) of any such time signature that is generated. see and for more information. :min-grandstaff-hide-rests-dur- this is a real number greater than
0, specifying the minimum duration that a group of simultaneous rests must occupy in order for some of them to be hidden. this is applicable only when there are multiple voices on a staff, in cases where several simultaneous rests can be shown as one rest.auto-multivoice-restsmust also be set totfor this to have any effect. :min-multivoice-chords-dur- this is a real number greater than
0, specifying the minimum duration a group of simultaneous notes in separate voices must span to be combined into chords. this is applicable only when there are multiple voices on a staff, and ifauto-multivoice-notesis set tot. :min-split-all-parts-dur- this is the smallest duration that fomus will consider when deciding whether or not to "split" or divide all parts together or separately. (splitting means splitting and tying notes as necessary to properly notate a given rhythm in a given measure.) a unit of music must be larger than this value to be considered–units equal to or smaller than this duration are not considered. fomus splits measures in all parts together up to a certain point to insure that the notation is consistently divided in all parts. a 5/8 measure, for example, will be consistently divided as either 3 + 2 to 2 + 3 in all parts together (as long as the value of this setting is smaller than the duration of a 5/8 measure).
:min-tuplet-dur- this is the smallest duration in beats that a tuplet can span.
:parts- this is a list of
partobjects, each representing a stave or grand staff in the score. at least one part must be specified. :outputthis is either a list or a list of lists specifying one or more output files with optional keyword/argument pairs for tweaking their contents. fomus's built-in output symbols are
:dataor:fomus,:raw,:musicxml,:musicxml-sibelius,:musicxml-finale,:cmn,:lilypondand:midi. more information on these is given in Outputs. the following are examples of valid output specifications::output '(:data (:lilypond :view t)):output '(:lilypond :filename "myfile.ly" :view nil):output :cmn:percussionthis is a list of
percussionobjects serving as a lookup table for information pertaining to percussion notation.percussionobjects are listed ininstrobjects to define collections of percussion instruments that are notated together on a single staff. fomus searches this user setting list before its own default list when resolving symbols to percussion instrument definitions, so they may be replacements or modifications of fomus's predefined percussion instruments. The contents are either percussion objects created withmake-percor lists specifying modifications to fomus's default percussion objects (or a combination of both). If a list is specified, it contains a symbol specifying a default percussion instrument followed by keyword/argument pairs indicating slot values that replace existing default values (see the slot in theinstrobject for an example of this).:instrument (list (make-perc :anvil :note -3 :voice 2 :midinote-ex 79) '(:triangle :note 0 :voice 1))see the documentation for
percussionobjects for more information.:quality- this is a real number indicating how much fomus should
trade speed of computation for "quality" of output. setting it lower
increases speed while setting it higher gives better results. the
default is
1, which is reasonable for relatively uncomplicated scores with a small number of parts. the most effective values are between approximately-3and3, though complex scores might show a little improvement (better guesses within a larger context) with values of5or more. after a certain point increasing this value only makes the program run slower with no noticeable improvement in output. :quartertones- if set to
t, fomus rounds pitches to quartertone values and uses quartertone notation in the score. this only works if the algorithm specified by theauto-accs-modulesetting supports it. fomus's default module:nokey1supports quartertones. :shortlongshort-notes-level- indicates how "short-long-short" note
patterns are allowed to appear. an example of such a pattern is an
eighth note followed by a quarter note then an eighth note, and is
treated as an exception to insure that the middle note isn't split in
the middle and tied. possible values are
t,:all,:topand:sig.:allspecifies that this pattern can appear anywhere,:topspecifies that it can appear only if it occupies an entire measure, and:sigspecifies that it can appear if it occupies a duration larger than a beat.tis equivalent to:all. :split-module- designates which module is to be used for splitting
and tying notes. fomus's built-in values are
tand:split1.trepresents the default module and is equivalent to:split1. :subtitle- this is an optional string value containing the subtitle of the composition.
:syncopated-notes-level- when set to
t, indicates that a certain syncopated note pattern, a short note followed by any number of long notes then a short note, may appear. an example of such a pattern is an eighth note followed by several quarter notes then an eighth note. this can only occur if the pattern occupies the duration of an entire measure. :timesig-style- this indicates how time signature are printed. it
can be set to
:fractionor:common, specifying that either fractional or common time signatures are to be used in the backend (given the choice). the default value ofnilis equivalent to specifying:fraction. :title- this is an optional string value containing the title of the composition.
:transpose- when set to
t, activates a transposition function that automatically transposes note values. the slot of the appropriateinstrobjects must be set for this to have any effect. :tuplet-dotted-rests- if set to
t, specifies whether or not dotted rests are allowed inside tuplets of irregular (ie. not a power of 2) divisions. for example, a quintuplet might be divided into a dotted eight rest followed by an eighth note iftuplet-dotted-restsis true. :tuplet-function- designates which function is to be used for
determining tuplet ratios. fomus's built-in values are
t,:pow2and:dur.trepresents the default function and is equivalent to:pow2.:pow2determines tuplet ratios based on the rule that the number of tuplet divisions replace (in most cases) the number of durational units equaling the next lowest power of two. fomus thus notates 7 in the time of 4 and 13 in the time of 8.:durdetermines ratios by finding the closest number of durational units to the number of tuplet divisions. fomus then notates 7 in the time of 8 and 13 in the time of 16. :tuplet-style- specifies how tuplets are to be printed. the
possible values are
:ratioor:single. the default value ofnilis equivalent to:single. :use-cm- if set to
t, indicates that fomus should use common music functions if present. note symbols are then parsed by cm using the value ofcm-scaleas if it were passed as the:inargument to cm'skeynumfunction. also, durations specified as symbols indicate notational durations and are interpreted as such using cm'srhythmfunction. numbers are still interpreted by fomus in terms of beats. :use-double-accs- if set to
t, the note spelling algorithm considers double sharps and double flats in addition to single sharps and flats. :verbose- this must be set to a value from
0to2, indicating the amount of printed output. a value of0represents minimal output while a value of2represents maximal output.