inheritance tree
Score.temporalElement
|
|
|
PitchClassCollection
|
|
|
Scale
class definition
Scale represents an analytical scale, i.e. a scale which is silent when the score is played but is used to constrain notes simultaneous with the scale. For example, Scale instances can be used to express a modulation.
For further information see doc of PitchClassCollection.
class Scale (Inheritance-free)
feat !PitchClassCollectionType !ScaleType label
attr dbFeatures index pitchClasses root transposition untransposedPitchClasses untransposedRoot
- degreeToPC(Degree Accidental PC)
Constraints PC (FD int) to Degree with Accidental (FD ints) in self.
NOTE: very weak propagation -- self must first be determined
- getDB(X)
The chord database is defined by DB.setDB. getDB returns the internal representation of this database (see the DB.setDB for more details).
- getDBFeature(X Feat)
Returns the value (FD int or FS) of the additional feature Feat.
- getDBFeatures(X)
Returns a record with the additional features defined in the database and 'announced' to self with the init argument dbFeatures.
- getIndex(X)
- getIndexParameter(X)
- getInitInfo($ ...)
The parameter 'index' is included if it is undetermined, but it is omitted in case the set of pitch classes, the transposition, and the index are determined. If the index is determined, then the set of pitch classes plus the transposition should be sufficient and the index can be derived from them. Omitting the index makes archived score solutions more stable. Even if the chord/scale database was edited later (e.g., chords were added) so that the indices changed, the archived score will still work as long as the set of pitch classes for the original chords did not change.
In principle, it is possible that there are two chords with the same pitchclasses and transposition but different additional db features. However, that should be considered a bug in the database. In case alternative db feature values for a single chord/scale are needed, then these should be defined as variable domain values for a single db entry, not as additional entries.
- getPitchClasses(X)
- getRoot(X)
- getRootParameter(X)
- getTransposition(X)
- getTranspositionParameter(X)
- getUntransposedPitchClasses(X)
- getUntransposedRoot(X)
- getUntransposedRootParameter(X)
- init(dbFeatures:DBFeats index:Index pitchClasses:PitchClasses root:Root transposition:Trans untransposedPitchClasses:UntransposedPitchClasses untransposedRoot:UntranspRoot ...)
- toPPrintRecord(X excluded:Excluded features:Features)
end