MUSX Document Model
Loading...
Searching...
No Matches
musx::util::Cue Class Reference

Stateless interpretation utilities for cue material and its visibility. More...

#include <Cue.h>

Classes

struct  EntryAnalysis
 Cue classification and visibility information for an entry. More...
 
struct  FrameAnalysis
 Cue classification and requested-context visibility for an entry frame. More...
 
struct  StaffMeasureAnalysis
 Cue-layer analysis for one staff in one measure and its requested context. More...
 

Public Types

enum class  EntryVisibility {
  Visible , HiddenEntry , HiddenStaff , HiddenByAlternateNotation ,
  ExcludedByVoicing
}
 Describes why an entry is or is not visible in a score or linked-part context. More...
 

Static Public Member Functions

static EntryVisibility calcVisibility (const dom::EntryInfoPtr &entry, dom::Cmper targetPartId)
 Calculates why entry is visible or hidden in targetPartId.
 
static EntryVisibility calcVisibilityInRequestedContext (const dom::EntryInfoPtr &entry)
 Calculates visibility in the entry frame's requested score or linked-part context.
 
static bool calcIsVisibleInRequestedContext (const dom::EntryInfoPtr &entry)
 Returns whether the entry is visible in its requested context.
 
static EntryAnalysis calcEntryAnalysis (const dom::EntryInfoPtr &entry)
 Calculates source-level cue classification separately from visibility in relevant contexts.
 
static FrameAnalysis calcFrameAnalysis (const std::shared_ptr< const dom::EntryFrame > &frame)
 Calculates cue classification and requested-context visibility for frame. Explicitly hidden source entries do not disqualify the frame.
 
static StaffMeasureAnalysis calcStaffMeasureAnalysis (const dom::details::GFrameHoldContext &context)
 Calculates semantic and requested-context-visible cue layers for one staff and measure. Layers containing only a possible full-measure rest and layers excluded by part-voicing policy are ignored.
 

Detailed Description

Stateless interpretation utilities for cue material and its visibility.

Member Enumeration Documentation

◆ EntryVisibility

Describes why an entry is or is not visible in a score or linked-part context.

Enumerator
Visible 

The entry is visible in the target context.

HiddenEntry 

The stored dom::Entry::isHidden flag is set.

HiddenStaff 

The staff is absent from the context or is force-hidden.

HiddenByAlternateNotation 

Alternate notation hides entries in this layer.

ExcludedByVoicing 

The target part's voicing excludes this layer.

Member Function Documentation

◆ calcVisibility()

Cue::EntryVisibility musx::util::Cue::calcVisibility ( const dom::EntryInfoPtr entry,
dom::Cmper  targetPartId 
)
static

Calculates why entry is visible or hidden in targetPartId.

Note
This checks the stored dom::Entry::isHidden flag. It does not apply iterator-specific effective-hidden workarounds from dom::EntryInfoPtr::InterpretedIterator::getEffectiveHidden.