Fomus
Accessors
obj-id
- this slot isn't used by fomus.
event-partid
- this is a reference to a particular part or group of
parts. if the value of this slot is
nil
, the event is included in whatever part contains it in its slot list, or to all parts if it is included in the globalevents
list. 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. events belonging to multiple parts are effectively copied into these parts. event-voice
- this is an integer or a list of integers specifying a
voice or selection of voices that this note should belong to. voice
numbers are limited to the integers 1 through 4. the default value
nil
specifies voice 1. if a list of choices is given, fomus's voice distribution algorithm will try to make an intelligent decision based on voice leading, pitch, balance and other factors. note thatrest
andmark
objects use this value slightly differently. event-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 values depending on what the current time signature is and what value is present in its slot. fomus's quantizing algorithm tries to fit all offsets and durations into values that make the best use of tuplets within given constraints while minimizing the amount of error. if this quantizing algorithm is switched off, then the user must insure that all offset and duration values are precise and "notatable" (floating point numbers are not recommended in this case).
event-dur
this is set to either a number to specify a regular duration or a list to specify a grace note. if it's a number (real, ratio or integer) it indicates the note's duration in beats (see
event-off
above). the comments inevent-off
on quantization also apply here. if common music is present anduse-cm
is set tot
, the value of this slot may also be a symbol, which is parsed by cm using itsrhythm
function. symbols in this case designate notational values and not beats, although numbers are still interpreted with respect to beats and not filtered through cm'srhythm
function.if a grace note is desired then a list of two elements must be specified, the first element being the duration value described above and the second element being an integer value describing the "position" that the grace note occupies. grace notes with the same offset are organized with respect to this position number. lower position grace notes occur earlier in the score than higher position notes. grace notes with the same position form chords, and notes with negative positions are notated with a slash. the duration value at the front of the list is still interpreted in terms of beats and notated as such even though the note does not take up time in the measure. specifying a duration of
'(1/4 -1)
, for example, specifies a grace sixteenth note with a slash if the current beat is 1/4 (a quarter note).event-note
this slot either designates a pitch (with an optional choice of spellings) or a percussion instrument if the part is a percussion part. if specifying a pitch, the value may be either a symbol or a number (real, ratio or integer). if a number is used, 60 represents middle c, as in a midi file. numbers are rounded depending on the whether semitones or quartertones are specified (see the
quartertones
setting). symbols are assembled by concatenating a note letter name (a
throughg
), a+
ors
for sharp or a-
orf
for flat, and an integer designating the register (4
is the octave above middle c). a few examples are given here:'c+4
'ef5
quartertones must be specified using numbers. if common music is present and
use-cm
is set tot
, symbols are filtered through cm'skeynum
function. in this case, the value ofcm-scale
will also be passed to the function if it is set to anything other thannil
.if a list of spelling choices is supplied, fomus will try to use the note spellings in this list. to specify one, the value of the slot must be a list, the first element of which is the note number or symbol described above and the rest of which is the list of spelling choices. a spelling choice is represented either by a number or symbol.
1
,+
ors
designates using a sharp while-1
,-
orf
designates a flat.0
,n
designates a natural while repeating one of the above symbols (for example,++
orss
) designates a double sharp or flat.2
or-2
also designates a double sharp or flat. quartertones spellings are specified using a list of two elements, the first element specifying the semitone alteration and the second element specifying the quartertone alteration (one of the numbers-1/2
,0
or1/2
). a few examples are given here:'(f4 + --)
'(61.5 (n -1/2))
if fomus's note spelling algorithm is switched off then all note spellings must be supplied by the user (so each slot must contain a list of two elements specifying the pitch and its spelling, unless it is spelled with a natural).
event-marks
- this slot is nearly equivalent to the
slot in the
mark
class described below. the contents of the slots ofmark
objects are actually dumped into the slots ofnote
andrest
objects once voices and staves have been decided. see themark
class for more information and Marks for a more detailed explanation of marks and their usage.