MUSX Document Model
|
Provides run-time information about Staff Groups within a system or list of others::StaffUsed. More...
#include <Details.h>
Public Member Functions | |
StaffGroupInfo (const MusxInstance< StaffGroup > &staffGroup, const MusxInstanceList< others::StaffUsed > &inpSysStaves) | |
Constructs information about a specific StaffGroup as it relates the the systemStaves . | |
std::optional< size_t > | numStaves () const |
The number of staves in the group for the systemStaves. | |
void | iterateStaves (MeasCmper measId, Edu eduPosition, std::function< bool(const MusxInstance< others::StaffComposite > &)> iterator) const |
Iterates the staves in the group in order according to systemStaves. | |
Static Public Member Functions | |
static std::vector< StaffGroupInfo > | getGroupsAtMeasure (MeasCmper measureId, Cmper linkedPartId, const MusxInstanceList< others::StaffUsed > &systemStaves) |
Creates a vector of StaffGroupInfo instances for the measure, part, and system staves. | |
Public Attributes | |
std::optional< size_t > | startSlot |
the 0-based start slot (index) of the group in the system staves. | |
std::optional< size_t > | endSlot |
the 0-based end slot (index) of the group in the system staves. | |
MusxInstance< StaffGroup > | group |
the StaffGroup record for the group. | |
MusxInstanceList< others::StaffUsed > | systemStaves |
the system staves referred to by startSlot and endSlot | |
Provides run-time information about Staff Groups within a system or list of others::StaffUsed.
musx::dom::details::StaffGroupInfo::StaffGroupInfo | ( | const MusxInstance< StaffGroup > & | staffGroup, |
const MusxInstanceList< others::StaffUsed > & | inpSysStaves | ||
) |
Constructs information about a specific StaffGroup as it relates the the systemStaves
.
staffGroup | The staff group |
inpSysStaves | The others::StaffUsed list for a system or Scroll view. |
|
static |
Creates a vector of StaffGroupInfo instances for the measure, part, and system staves.
measureId | The measure to find. |
linkedPartId | The ID of the linked part in which to find the groups. |
systemStaves | The others::StaffUsed list for a system or Scroll view. |
void musx::dom::details::StaffGroupInfo::iterateStaves | ( | MeasCmper | measId, |
Edu | eduPosition, | ||
std::function< bool(const MusxInstance< others::StaffComposite > &)> | iterator | ||
) | const |
Iterates the staves in the group in order according to systemStaves.
measId | The measure for which to construct each others::StaffComposite instance. |
eduPosition | The Edu position for which to construct each others::StaffComposite instance. |
iterator | The iterator function. Returning false from this function terminates iteration. |