Fomus
Accessors
obj-id
- this slot isn't used by fomus.
timesig-partids
- this is a reference to a particular part or group
of parts. if the value of this slot is
nil
, the time signature is applied to all parts that don't have some anothertimesig
object defined for them if thistimesig
object is included in theglobal
list. if thetimesig
object is in apart
object's slot, the time signature is applied to the part. if the value is a symbol, number, or list of symbols or numbers, these values are used to lookup which part or parts the event belongs to. timesig-off
- this is a number (real, ratio or integer) specifying the absolute position for the onset for this note. the offset is measured in "beats," which may indicate different notational positions depending on previous time signatures and what values are present in their slots. the number must be precise and "notatable" (floating point numbers are not recommended and values like 10/3 that don't occur on regular beat divisions are currently impossible for fomus to notate).
timesig-time
- this is a required list of two integers, specifying the numerator and denominator of the printed time signature.
timesig-comp
- if this slot is set to
t
, indicates that the measure is a compound meter. fomus then derives the beat value from the denominator of the time signature. setting this tot
ornil
always overrides whatever default action is specified in theauto-timesig-comp
setting. timesig-beat
- the slot value determines
how events are mapped from beat units to notational durations. it is a
ratio that specifies what notational duration is equivalent to 1 beat.
this duration is expressed as a fraction of a whole note (1/4, for
example, specifies a quarter note, 1/2 specifies a half note, and 3/8
specifies three eight notes). if the time signature is a compound time
signature, the value of this slot is ignored and the beat value is
calculated from the denominator (for example, the beat value of a 12/8
signature is 3/8). if the slot contains the default value of
nil
, the beat value is either the value ofdefault-beat
or it is calculated from the denominator (a non-compound 4/8 or 7/8 time signature would have a beat value of 1/8). the beat value of a measure effects how notes are are divided and laid out. timesig-div
this is a single list or list of lists containing ratios or integers that add up to the total number of beats in a measure (as specified by either the or slots). it represents all of the choices available for dividing up measures following this time signature. if the slot contains the default value of
nil
, fomus looks up divisions first in a user-supplied table if one exists (see thedefault-meas-divs
setting) then in fomus's default table. a value usually only needs to be specified here if the user wants to force fomus to divide measures in a specific way rather than choosing between several choices. the following example shows what might be specified for a 7/8 meter:'((4 3) (3 4))
as another example, setting the slot to
'(1 1 1)
in a 3/4 time signature forces fomus to beam measures in groups of 3 (the default is equivalent to a setting of'((2 1) (1 2))
)/timesig-repl
this is a list of
timesig
ortimesig-repl
objects that are chosen to replace thistimesig
object when fomus needs to change the length of a measure. this gives the user some control over how fomus fudges measures to make them fit. when fomus changes the length of a measure, it will look here first and then in the (not implemented yet) setting for a replacement that fits (has the correct number of beats). if none is found, fomus will create a newtimesig
object from the current one, modifying the slot by adding on extra beats if necessary.timesig-repl
objects are simplytimesig
objects with missing , and slots, all of them unnecessary in this context. the use of these is optional. iftimesig
objects are given, these slots are just ignored.timesig-props
- this slot behaves like the
slot in
note
orrest
objects. extra time signature or measure properties may be specified here. see fixme for more details and themark
class for an example of how to specify properties.