27#include "musx/dom/Entries.h"
63 [[nodiscard]]
bool isCue() const noexcept
83 explicit operator bool()
const
109 static FrameAnalysis
calcFrameAnalysis(
const std::shared_ptr<const dom::EntryFrame>& frame);
Wraps a frame of shared_ptr<const EntryInfo> and an index for per entry access. This class manages ow...
Definition Entries.h:534
A context wrapper for GFrameHold associated with a specific part and location.
Definition Entries.h:69
Stateless interpretation utilities for cue material and its visibility.
Definition Cue.h:33
static FrameAnalysis calcFrameAnalysis(const std::shared_ptr< const dom::EntryFrame > &frame)
Calculates cue classification and requested-context visibility for frame. Explicitly hidden source en...
Definition Cue.cpp:116
static StaffMeasureAnalysis calcStaffMeasureAnalysis(const dom::details::GFrameHoldContext &context)
Calculates semantic and requested-context-visible cue layers for one staff and measure....
Definition Cue.cpp:138
static EntryVisibility calcVisibility(const dom::EntryInfoPtr &entry, dom::Cmper targetPartId)
Calculates why entry is visible or hidden in targetPartId.
Definition Cue.cpp:49
static EntryAnalysis calcEntryAnalysis(const dom::EntryInfoPtr &entry)
Calculates source-level cue classification separately from visibility in relevant contexts.
Definition Cue.cpp:87
static bool calcIsVisibleInRequestedContext(const dom::EntryInfoPtr &entry)
Returns whether the entry is visible in its requested context.
Definition Cue.h:99
static EntryVisibility calcVisibilityInRequestedContext(const dom::EntryInfoPtr &entry)
Calculates visibility in the entry frame's requested score or linked-part context.
Definition Cue.cpp:82
EntryVisibility
Describes why an entry is or is not visible in a score or linked-part context.
Definition Cue.h:37
@ ExcludedByVoicing
The target part's voicing excludes this layer.
@ HiddenEntry
The stored dom::Entry::isHidden flag is set.
@ HiddenByAlternateNotation
Alternate notation hides entries in this layer.
@ Visible
The entry is visible in the target context.
@ HiddenStaff
The staff is absent from the context or is force-hidden.
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:57
Cue classification and visibility information for an entry.
Definition Cue.h:47
bool visibleInAnyLinkedPart
Whether the entry is visible in at least one linked part.
Definition Cue.h:60
bool visibleInScore
Whether the entry is visible in the score.
Definition Cue.h:59
Kind
Source-level cue classification for a reduced entry.
Definition Cue.h:50
@ None
The entry is not cue material.
@ PartOnly
The reduced entry is hidden in the score and visible in at least one linked part.
@ ScoreVisible
The reduced entry is visible in the score.
int entrySizePercent
Effective entry size in the requested context.
Definition Cue.h:57
Kind kind
Source-level cue classification.
Definition Cue.h:56
bool isCue() const noexcept
Returns whether the entry is classified as cue material.
Definition Cue.h:63
bool visibleInRequestedContext
Whether the entry is visible in its EntryFrame's requested context.
Definition Cue.h:58
Cue classification and requested-context visibility for an entry frame.
Definition Cue.h:69
std::vector< size_t > cueEntryIndices
Indices of entries classified as cue material.
Definition Cue.h:72
bool hasVisibleCueEntries
True if any cue entry is visible in the requested context.
Definition Cue.h:71
bool isCueFrame
True if every applicable source entry is cue material.
Definition Cue.h:70
Cue-layer analysis for one staff in one measure and its requested context.
Definition Cue.h:77
bool isCueOnly
True if all significant layers are cue frames and at least one exists.
Definition Cue.h:80
std::vector< dom::LayerIndex > visibleCueLayers
Cue-frame layers with visible cue entries in this context.
Definition Cue.h:79
std::vector< dom::LayerIndex > cueLayers
Layers whose frames are cue frames.
Definition Cue.h:78