Wraps a frame of shared_ptr<const EntryInfo> and an index for per entry access. This class manages ownership of the frame so that any instance of it keeps the frame alive without the need for circular references.
More...
|
| EntryInfoPtr () |
| Default constructor.
|
|
| EntryInfoPtr (const std::shared_ptr< const EntryFrame > &entryFrame, size_t index=0) |
| Constructor function.
|
|
const std::shared_ptr< const EntryInfo > | operator-> () const |
| Allows -> access to the underlying EntryInfo instance.
|
|
| operator bool () const |
| Provides a boolean conversion based on whether the frame is valid and contains entries.
|
|
bool | isSameEntry (const EntryInfoPtr &src) const |
| Returns whether the input and the current instance refer to the same entry.
|
|
std::shared_ptr< const EntryFrame > | getFrame () const |
| Returns the frame.
|
|
size_t | getIndexInFrame () const |
| Returns the index within the frame.
|
|
LayerIndex | getLayerIndex () const |
| Get the layer index (0..3) of the entry.
|
|
StaffCmper | getStaff () const |
| Get the staff cmper.
|
|
MusxInstance< others::StaffComposite > | createCurrentStaff (const std::optional< StaffCmper > &forStaffId=std::nullopt) const |
| Creates the current StaffComposite for the entry.
|
|
MeasCmper | getMeasure () const |
| Get the measure cmper.
|
|
MusxInstance< KeySignature > | getKeySignature () const |
| Get the key signature of the entry.
|
|
unsigned | calcReverseGraceIndex () const |
| Caclulates the grace index counting leftward (used by other standards such as MNX)
|
|
std::optional< size_t > | calcNextTupletIndex (std::optional< size_t > currentIndex) const |
| Returns the next higher tuplet index that this entry starts, or std::nullopt if none.
|
|
EntryInfoPtr | getNextInFrame () const |
| Get the next entry in the frame.
|
|
EntryInfoPtr | getNextInLayer () const |
| Get the next entry in the same layer and staff. This can be in the next measure.
|
|
EntryInfoPtr | getNextSameV () const |
| Get the next entry in the frame in the same voice.
|
|
EntryInfoPtr | getPreviousInLayer () const |
| Get the previous entry in the same layer and staff. This can be in the previous measure.
|
|
EntryInfoPtr | getPreviousInFrame () const |
| Get the previous entry in the frame.
|
|
EntryInfoPtr | getPreviousSameV () const |
| Get the previous entry in the frame in the same voice.
|
|
EntryInfoPtr | getNextInVoice (int voice) const |
| Returns the next entry in the frame in the specified v1/v2 or null if none.
|
|
EntryInfoPtr | getPreviousInVoice (int voice) const |
| Returns the previous entry in the frame in the specified v1/v2 or null if none.
|
|
EntryInfoPtr | getNextInBeamGroup (bool includeHiddenEntries=false) const |
| Gets the next entry in a beamed group or nullptr if the entry is not beamed or is the last in the group.
|
|
EntryInfoPtr | getPreviousInBeamGroup (bool includeHiddenEntries=false) const |
| Gets the previous entry in a beamed group or nullptr if the entry is not beamed or is the first in the group.
|
|
bool | calcDisplaysAsRest () const |
| Calculates if an entry displays as a rest.
|
|
bool | calcUnbeamed () const |
| Returns whether this is an unbeamed entry.
|
|
bool | calcIsBeamStart () const |
| Returns whether this is the start of a primary beam.
|
|
bool | calcIsFeatheredBeamStart (Evpu &outLeftY, Evpu &outRightY) const |
| Calculates if the entry starts a feathered beam and returns information about it if so.
|
|
EntryInfoPtr | findBeamStartOrCurrent () const |
| Finds the first entry of a beamed group or returns the current entry if it is not beams.
|
|
EntryInfoPtr | findBeamEnd () const |
| Finds the end entry of a beamed group.
|
|
unsigned | calcNumberOfBeams () const |
| Calculates the number of beams or flags on the entry.
|
|
unsigned | calcLowestBeamStart () const |
| Returns the lowest beam number starting at this entry, where 1 = 8th note beam, 2 = 16th note beam, etc.
|
|
unsigned | calcLowestBeamEnd () const |
| Returns the lowest beam number ending at this entry, where 1 = 8th note beam, 2 = 16th note beam, etc.
|
|
unsigned | calcLowestBeamStub () const |
| Returns the lowest beam stub at this entry, where 2 = 16th note stub, 3 = 32nd note stub, etc.
|
|
bool | calcBeamStubIsLeft () const |
| Calculates if a beam stub on this entry would go left or right. It does not check that an entry actually has a beam stub. Use calcLowestBeamStub to discover if the entry has a beam stub.
|
|
util::Fraction | calcGlobalElapsedDuration () const |
| Calculates the elapsed duration in global edu, removing any time stretch due to independent time signature.
|
|
util::Fraction | calcGlobalActualDuration () const |
| Calculates the actual duration in global edu, removing any time stretch due to independent time signature.
|
|
bool | canBeBeamed () const |
| Determines if this entry can be beamed.
|
|
int | calcEntrySize () const |
| Returns the entry size as a percentage, taking into account the beaming.
|
|
bool | calcIsCue (bool includeVisibleInScore=false) const |
| Calculates if this entry is part of a cue.
|
|
bool | calcIsFullMeasureRest () const |
| Returns whether this is a full measure rest.
|
|
bool | calcIsBeamedRestWorkaroud () const |
| A common workaround in Finale is to hide a rest in v1 and supply it in v2. Typicall it is used when a beam starts or ends with a 16th beam hook, has a 16th rest in the middle and an 8th note on the other end. This code detects that situation.
|
|
bool | operator< (const EntryInfoPtr &other) const |
| Explicit operator< for std::map.
|
|
Wraps a frame of shared_ptr<const EntryInfo> and an index for per entry access. This class manages ownership of the frame so that any instance of it keeps the frame alive without the need for circular references.