Class REST
Prev | Chapter 4. Objects | Next

## Class REST

The `REST` objects should rarely be used. FOMUS handles rests automatically and only needs user-defined rests in special cases (such as when a fermata needs to appear in all parts). `REST` objects require nearly the same information as `NOTE` objects, except that there is no `NOTE` slot, the marks that can be assigned to it are limited, and voice information is treated differently

`REST` objects are passed to FOMUS by including them either in the `EVENTS` slot list of a `PART` object or in the global `EVENTS` list. The behavior in either case is exactly the same as with a `NOTE` object.

Constructor: `(MAKE-REST &key :ID `id` :PARTID `partid` :VOICE `voice` :OFF `off` :DUR `dur` :MARKS `marks`)`

Copy Function: `(COPY-REST `rest` &key :ID `id` :PARTID `partid` :VOICE `voice` :OFF `off` :DUR `dur` :MARKS `marks`)`

Predicate Function: `(RESTP `obj`)`

Accessors:

`OBJ-ID`

  This slot isn't used by FOMUS.

`EVENT-PARTID`

  This slot is equivalent to the `PARTID` slot in the `NOTE` class.

`EVENT-VOICE`

  This slot is analogous to but different than the `VOICE` slot in the `NOTE` class. The difference is that when set to a list of voices, the `REST` object is distributed to all the specified voices instead of one that is chosen by FOMUS.

`EVENT-OFF`

  This slot is equivalent to the `OFF` slot in the `NOTE` class.

`EVENT-DUR`

  This slot is equivalent to the `DUR` slot in the `NOTE` class with the exception that rests cannot be grace notes.

`EVENT-MARKS`

  This slot is equivalent to the `MARKS` slot in the `NOTE` class. However, the number of marks that can be used in the `REST` class is limited. See the `MARK` class for more information and Marks for a more detailed explanation of marks and their usage.

Prev | Up | Next
Class NOTE | Home | Class MARK