Fomus
Accessors
obj-id
- this slot isn't used by fomus. the user may use it to store an id value or some miscellaneous data.
part-partid
- this is a symbol or number used as an index or
reference to identify the part. it doesn't need to be unique–parts
that share the same id symbol are treated as a group. when they appear
in or slots in
classes other than the
part
class they are treated as references to a particular part or group of parts. part-name
- this is a string value representing the part name that is to appear on the score.
part-abbrev
- this is a string value representing the abbreviated part name that is to appear on the score.
part-instr
this slot specifies an instrument for the part. all part must be associated with an instrument–if no instrument is given a generic default instrument will be chosen. instruments provide important data for many of fomus's algorithms and determine at least several major aspects of score layout, including the number of staves a part has and whether or not pitches are to be transposed.
instruments may be specified in one of several ways. if a symbol is provided, it is used to lookup an instrument in a user-defined list or fomus's own predefined list of instruments (see the
instr-groups
setting in the Settings chapter). the slot may also contain an instance of an instrument object. if a list is given, fomus expects the first element to be a lookup symbol for an instrument and the rest of the list to be keyword/argument pairs specifying slots that are to be modified in the original instrument (as if included in a call tocopy-instr
.'(:piano :staves 3 :simultlim 6)
if an integer from
0
to127
is provided instead of an identifying symbol, fomus interprets this as a midi program change number and will use the first instrument it finds that has this number in itsmidiprgch-im
slot.part-events
- this is a list of
note
,rest
ormark
objects.timesig
andkeysig
objects may also be included in this list. part-props
- part properties are specified in the same way that are specified. they are settings that affect only the part they are included in. see Part Properties for a list of these.
part-opts
- this is a keyword/argument pair list specifying options to be passed directly to the backend algorithms. each backend has its own set of options that may be specified alongside options for any other backend. see the Outputs for more information.