Index
Strasheela
Init
GUtils
LUtils
MUtils
Score
SMapping
SDistro
Out
Strasheela
FD_edited
Midi

inheritance tree

 NonType Reflection       FlagsMixin
    |        |                |
    `-----+--'                |
          |                   |
     ScoreObject    SMapping.mappingMixin
          |                   |
          `---------+---------'
                    |
                   Item
                    |
                    `+
                     |
                 Container
                     |
                    +'
                    |
                 Modifier

class definition

[semi abstract class] A Modifier contains one or more items and modifies them [their meaning? / modifies them when the score is output?] in some way. Conventional examples for modifiers in common music notation are the repetition sign, staccato sign, trill sign etc., which modify the music they belong to. Subclasses of Modifier can define all these signs of common music notation. The attribute items points to the music the modifier belong to.

However, even the modification itself the modifier applies to music (i.e. the meaning of the modifier) can be expressed directly in an instance of the class Modifier. The actual modification is defined as a unary function. When the score is output, the function will be called with the value bound to the attribute items. That way, arbitrary modifications can be defined. Examples include modifications of contained temporal attributes or other parameters by envelopes: ritardando, crescendo etc.

The attribute modifier binds the modification function.

!! NB: currently, the score output functions (see ./Output.oz) ignore the Modifier which is therefore without effect!

class Modifier (Inheritance-free)
   prop locking
   feat !ScoreObjectType label
   attr containers flags id info items modifier parameters
end