25#include <unordered_map>
30#include "BaseClasses.h"
31#include "CommonClasses.h"
32#include "musx/util/EnigmaString.h"
62 :
TextsBase(document, partId, shareMode, textNumber)
65 throw std::invalid_argument(
"invalid text type value provided to FileInfoText constructor");
79 throw std::invalid_argument(
"invalid text type value provided to FileInfoText constructor");
107 throw std::logic_error(
"File Info text found with invalid text number " + std::to_string(textNumber));
127 std::vector<std::shared_ptr<const LyricsSyllableInfo>>
syllables;
141 std::vector<util::EnigmaStyles> m_syllableStyles;
151 using LyricsTextBase::LyricsTextBase;
166 using LyricsTextBase::LyricsTextBase;
181 using LyricsTextBase::LyricsTextBase;
ShareMode
Describes how this instance is shared between part and score.
Definition BaseClasses.h:91
Base class for all text blocks.
Definition BaseClasses.h:557
Cmper getTextNumber() const
Returns the raw text number.
Definition BaseClasses.h:577
TextsBase(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper textNumber)
Constructs a TextsBase object.
Definition BaseClasses.h:569
Contains block text (Finale Text Tool, both page- and measure-attached)
Definition Texts.h:194
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:201
Contains bookmark description text.
Definition Texts.h:241
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:248
Contains text blocks associated with text expressions.
Definition Texts.h:224
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:231
Contains File Info text (from Finale's Score Manager)
Definition Texts.h:51
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:115
TextType
Represents various text types for the file header.
Definition Texts.h:90
@ Subtitle
Subtitle of the piece.
@ Lyricist
Lyricist the piece.
@ Copyright
Copyright information for the piece.
@ Arranger
Arranger of the piece.
@ Description
Description of the piece.
@ Title
Title of the piece.
@ Composer
Composer of the piece.
FileInfoText(const DocumentWeakPtr &document, Cmper textNumber)
Constructs a FileInfoText object.
Definition Texts.h:75
TextType getTextType() const
Returns the TextType of the current instance.
Definition Texts.h:103
FileInfoText(const DocumentWeakPtr &document, Cmper partId, ShareMode shareMode, Cmper textNumber)
Constructs a FileInfoText object.
Definition Texts.h:61
Contains chorus text for lyrics.
Definition Texts.h:164
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:171
Contains section text for lyrics.
Definition Texts.h:179
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:186
Base class for lyrics text.
Definition Texts.h:123
std::vector< std::shared_ptr< const LyricsSyllableInfo > > syllables
the syllable info for the lyric text, constructed by the factory
Definition Texts.h:127
bool iterateStylesForSyllable(size_t syllableIndex, util::EnigmaString::TextChunkCallback callback) const
Parse a given syllable into chunks with EnigmaStyles for that chunk. In the most common case,...
Definition Texts.cpp:116
void createSyllableInfo(const MusxInstance< TextsBase > &ptrToThis)
Creates the syllables array. Used by the factory but available at any time.
Definition Texts.cpp:48
Contains verse text for lyrics.
Definition Texts.h:149
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:156
Contains text blocks associated with custom line smart shapes.
Definition Texts.h:209
static constexpr std::string_view XmlNodeName
The XML node name for this type.
Definition Texts.h:216
std::function< bool(const std::string &text, const EnigmaStyles &styles)> TextChunkCallback
Iteration function type that the parser calls back when the font has changed or when recursively pars...
Definition EnigmaString.h:331
std::shared_ptr< const T > MusxInstance
Defines the type of a musx instance stored in a pool.
Definition MusxInstance.h:35
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:55
std::weak_ptr< Document > DocumentWeakPtr
Shared weak Document pointer.
Definition BaseClasses.h:57
object model for musx file (enigmaxml)
Definition BaseClasses.h:36