Provide Note.tieBack & Note.tieForward properties and their
associated Tie objects in QML. Also provides Note.firstTiedNote
and lastTiedNote methods to locate a tie range.
- tick names a position on the time axis
- tick is always a Fraction()
- only Measure() and Segment() (and Tuplet?) have a tick value
- tick() for an generic element return only a sensible value if isMeasure() or isSegment() or isSegment(parent())
- "ticks" names a duration stored in a Fraction()
- the tick value for an Segment is relative to its measure
- rename "duration" to "ticks"
- rename afrac() to tick()
- rename rfrac() to rtick()
- rename some variables, changing "fraction" into "tick"
(example: actualFraction() into actualTicks())
- Lyrics ticks are written as Fraction, on read if xmlreader sees a "/" it reads a fraction
else midi ticks for backwards compatibility
All enumerations defined directly in Ms namespace had to be moved
to types.h due as Q_NAMESPACE cannot be used multiple times in one
namespace, see https://bugreports.qt.io/browse/QTBUG-68611
- Move Qml plugin engine out of libmscore
- Add Pid::TICK handling to Element class
- Make tick QML property correspond to absolute tick in all contexts
That is a temporary solution though, a proper solution would
require revising Pid::TICK handling
- Move plugins API to api directory
- Rename ElementW -> Element (PluginAPI namespace)
- Remove Qt meta-object macros from Score in libmscore
- Remove string-based access to properties from QML
- Remove unused functions from Note
- Rename QML properties names to camel case
Two reasons:
- They were named so in MuseScore 2.X.
- Using underscored_names is less consistent with MuseScore
coding style.
The problem is deep in the initialization of staff types in Staff.
This commit also tries to make handling of StaffType more "const correct" and adds some
assertions which may lead to crashes (and helps detecting bad code).
This commit adds:
- ScoreElement::propertyId for obtaining property ID by its XML name
within the context of the respective element
- ScoreElement::propertyUserValue to obtain values of the properties
in a human-readable representation
Added "Custom" item to noteheads combobox, removed "invalid" item, set selection at the first tree element when opening the drumset editor, added interaction between custom noteheads group and notehead group combobox, fixed tab order.
Fixed drawing custom noteheads in preview window: Set cachedSymbol from current quarter note combobox value and added slot to update preview on chaning quarter value.
Fixed shadow note drawing: Apply specific notehead from drumset data.