Editorial objects store comments and other meta-data associated with specific Note objects or other music21 objects.
Editorial comments and special effects that can be applied to notes Standard ones are stored as attributes. Non-standard/one-off effects are stored in the dict called “misc”:
>>> from music21 import *
>>> a = editorial.NoteEditorial()
>>> a.color = "blue" # a standard editorial effect
>>> a.misc['backgroundHighlight'] = 'yellow' # non-standard.
Every GeneralNote object already has a NoteEditorial object attached to it at object.editorial. Normally you will just change that object instead. For instance, take the case where a scribe wrote F in the score, knowing that a good singer would automatically sing F-sharp instead. We can store the editorial suggestion to sing F-sharp as a “musica ficta” accidental object:
>>> fictaSharp = pitch.Accidental("Sharp")
>>> n = note.Note("F")
>>> n.editorial.ficta = fictaSharp
>>> n.show('lily.png') # only Lilypond currently supports musica ficta
NoteEditorial attributes
- ficta¶
- a Accidental object that specifies musica ficta for the note. Will only be displayed in LilyPond and then only if there is no Accidental object on the note itself
- melodicInterval¶
- an Interval object that specifies the melodic interval to the next note in this part/voice/stream, etc.
- color¶
- the color of the note (x11 colors and extended x11colors are allowed), only displays properly in lilypond
- melodicIntervalOverRests¶
- same as melodicInterval but ignoring rests; MIGHT BE REMOVED SOON
- misc¶
- A dict to hold anything you might like to store.
- boolean value about whether to hide the note or not (only works in lilypond)
- melodicIntervals¶
- a list for storing more than one melodic interval
- harmonicIntervals¶
- a list for when you want to store more than one harmonicInterval
- harmonicInterval¶
- an Interval object that specifies the harmonic interval between this note and a single other note (useful for storing information post analysis
- melodicIntervalsOverRests¶
- same thing but a list
NoteEditorial methods
- colorLilyStart()¶
- returns \color “theColorName” – called out so it is more easily subclassed
- fictaLilyStart()¶
- returns \ficta – called out so it is more easily subclassed
- lilyAttached()¶
- returns any information that should be attached under the note, currently just returns self.comment.lily or “”
- lilyEnd()¶
- returns a string (not LilyString) of editorial lily instructions to come after the note. Currently it is just info to turn off hidding of notes.
- lilyStart()¶
A method that returns a string (not LilyString) containing the lilypond output that comes before the note.
>>> from music21 import * >>> n = note.Note() >>> n.editorial.lilyStart() '' >>> n.editorial.ficta = pitch.Accidental("Sharp") >>> n.editorial.color = "blue" >>> n.editorial.hidden = True >>> n.editorial.lilyStart() '\\ficta \\color "blue" \\hideNotes '
an object that adds text above or below a note:
>>> from music21 import *
>>> n = note.Note()
>>> n.editorial.comment.text = "hello"
>>> n.editorial.comment.position = "above"
>>> n.editorial.comment.lily
'^"hello"'
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Comment attributes
Attributes without Documentation: position, text
Comment properties
- lily¶
- No documentation.