27#include "musx/dom/Details.h"
28#include "musx/dom/Entries.h"
29#include "musx/dom/Others.h"
34enum class ArpeggioDirection
42enum class ArpeggioArrow
51enum class ArpeggioSpanType
60 ArpeggioSpanType
type{ArpeggioSpanType::Normal};
64 ArpeggioDirection
direction{ArpeggioDirection::Auto};
65 ArpeggioArrow
arrow{ArpeggioArrow::Auto};
78std::optional<ArpeggioSpanCandidate> calcArpeggioSpanForAssignment(
81 const ArpeggioSpanOptions& options = {},
82 std::function<bool(
const dom::details::ArticulationAssign::SelectedSymbolContext&)> symbolContextFilter = {});
85std::optional<ArpeggioSpanCandidate> calcNonArpeggioSpanForAssignment(
86 const dom::EntryInfoPtr& sourceEntry,
87 const dom::MusxInstance<dom::details::ArticulationAssign>& assign,
88 const ArpeggioSpanOptions& options = {});
91std::optional<ArpeggioSpanCandidate> calcNonArpeggioSpanForAssignment(
92 const dom::MusxInstance<dom::others::MeasureExprAssign>& assign,
93 const ArpeggioSpanOptions& options = {});
96std::optional<ArpeggioSpanCandidate> calcNonArpeggioSpanForSmartShape(
97 const dom::MusxInstance<dom::others::SmartShape>& smartShape,
98 const ArpeggioSpanOptions& options = {});
Wraps a frame of shared_ptr<const EntryInfo> and an index for per entry access. This class manages ow...
Definition Entries.h:513
@ Down
contour is curved downward (tips face up)
@ Up
contour is curved upward (tips face down)
std::shared_ptr< const T > MusxInstance
Defines the type of a musx instance stored in a pool.
Definition MusxInstance.h:40
@ None
Do not override the existing enharmonic state. (Default)
Resolved arpeggio span for one articulation assignment.
Definition Arpeggio.h:59
ArpeggioSpanType type
Connector type for the resolved span.
Definition Arpeggio.h:60
dom::EntryInfoPtr bottomEntry
Chosen bottom entry for the arpeggio span.
Definition Arpeggio.h:63
ArpeggioDirection direction
Roll direction when known.
Definition Arpeggio.h:64
ArpeggioArrow arrow
Arrowhead state when known.
Definition Arpeggio.h:65
dom::EntryInfoPtr topEntry
Chosen top entry for the arpeggio span.
Definition Arpeggio.h:62
dom::EntryInfoPtr sourceEntry
Entry that owns the articulation assignment.
Definition Arpeggio.h:61
Options controlling arpeggio span resolution.
Definition Arpeggio.h:70
bool constrainToSourceStaffOnly
Restrict matching to entries on the source staff only.
Definition Arpeggio.h:73
bool skipGraceEntries
Skip grace-note source entries and grace-note candidates.
Definition Arpeggio.h:72
bool includeHiddenEntries
Include hidden entries in candidate matching.
Definition Arpeggio.h:71