MuseScore  3.4
Music composition and notation
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ms::MusicXMLParserNotations Class Reference

#include <importmxmlpass2.h>

Collaboration diagram for Ms::MusicXMLParserNotations:
Collaboration graph
[legend]

Public Member Functions

 MusicXMLParserNotations (QXmlStreamReader &e, Score *score, MxmlLogger *logger)
 
void parse ()
 
void addToScore (ChordRest *const cr, Note *const note, const int tick, SlurStack &slurs, Glissando *glissandi[MAX_NUMBER_LEVEL][2], MusicXmlSpannerMap &spanners, TrillStack &trills, Tie *&tie)
 Add the notations found to the score. More...
 
MusicXmlTupletDesc tupletDesc () const
 
QString tremoloType () const
 
int tremoloNr () const
 
bool mustStopGraceAFter () const
 

Private Member Functions

void addTechnical (Note *note)
 
void articulations ()
 Parse the /score-partwise/part/measure/note/notations/articulations node. More...
 
void dynamics ()
 Parse the /score-partwise/part/measure/note/notations/dynamics node. More...
 
void fermata ()
 Parse the /score-partwise/part/measure/note/notations/fermata node. More...
 
void glissandoSlide ()
 Parse the /score-partwise/part/measure/note/notations/glissando and /score-partwise/part/measure/note/notations/slide nodes. More...
 
void mordentNormalOrInverted ()
 Parse the /score-partwise/part/measure/note/notations/ornaments/mordent and /score-partwise/part/measure/note/notations/ornaments/inverted-mordent nodes. More...
 
void ornaments ()
 Parse the /score-partwise/part/measure/note/notations/ornaments node. More...
 
void slur ()
 Parse the /score-partwise/part/measure/note/notations/slur node. More...
 
void skipLogCurrElem ()
 Skip the current element, log debug as info. More...
 
void technical ()
 Parse the /score-partwise/part/measure/note/notations/technical node. More...
 
void tied ()
 Parse the /score-partwise/part/measure/note/notations/tied node. More...
 
void tuplet ()
 Parse the /score-partwise/part/measure/note/notations/tuplet node. More...
 

Private Attributes

QXmlStreamReader & _e
 
Score *const _score
 
MxmlLogger_logger
 
MusicXmlTupletDesc _tupletDesc
 
QString _tiedType
 
QString _tiedOrientation
 
QString _tiedLineType
 
QString _dynamicsPlacement
 
QStringList _dynamicsList
 
std::vector< SymId_articulationSymbols
 
SymId _breath { SymId::noSym }
 
std::vector< Notation_notations
 
QString _tremoloType
 
int _tremoloNr { 0 }
 
QString _wavyLineType
 
int _wavyLineNo { 0 }
 
QString _chordLineType
 
QString _fermataType
 
SymId _fermataSymbol { SymId::noSym }
 
QString _technicalFingering
 
QString _technicalFret
 
QString _technicalPluck
 
QString _technicalString
 
QString _strongAccentType
 
QString _arpeggioType
 
bool _slurStop { false }
 
bool _wavyLineStop { false }
 

Constructor & Destructor Documentation

◆ MusicXMLParserNotations()

Ms::MusicXMLParserNotations::MusicXMLParserNotations ( QXmlStreamReader &  e,
Score score,
MxmlLogger logger 
)

Member Function Documentation

◆ addTechnical()

void Ms::MusicXMLParserNotations::addTechnical ( Note note)
private

◆ addToScore()

void Ms::MusicXMLParserNotations::addToScore ( ChordRest *const  cr,
Note *const  note,
const int  tick,
SlurStack slurs,
Glissando glissandi[MAX_NUMBER_LEVEL][2],
MusicXmlSpannerMap spanners,
TrillStack trills,
Tie *&  tie 
)

Add the notations found to the score.

Note that some notations attach to notes only in MuseScore, which means trying to attach them to a rest will crash, as in that case note is a nullptr.

◆ articulations()

void Ms::MusicXMLParserNotations::articulations ( )
private

Parse the /score-partwise/part/measure/note/notations/articulations node.

Note that some notations attach to notes only in MuseScore, which means trying to attach them to a rest will crash, as in that case note is 0.

◆ dynamics()

void Ms::MusicXMLParserNotations::dynamics ( )
private

Parse the /score-partwise/part/measure/note/notations/dynamics node.

◆ fermata()

void Ms::MusicXMLParserNotations::fermata ( )
private

Parse the /score-partwise/part/measure/note/notations/fermata node.

Note: MusicXML common.mod: "An empty fermata element represents a normal fermata."

◆ glissandoSlide()

void Ms::MusicXMLParserNotations::glissandoSlide ( )
private

Parse the /score-partwise/part/measure/note/notations/glissando and /score-partwise/part/measure/note/notations/slide nodes.

◆ mordentNormalOrInverted()

void Ms::MusicXMLParserNotations::mordentNormalOrInverted ( )
private

Parse the /score-partwise/part/measure/note/notations/ornaments/mordent and /score-partwise/part/measure/note/notations/ornaments/inverted-mordent nodes.

◆ mustStopGraceAFter()

bool Ms::MusicXMLParserNotations::mustStopGraceAFter ( ) const
inline

◆ ornaments()

void Ms::MusicXMLParserNotations::ornaments ( )
private

Parse the /score-partwise/part/measure/note/notations/ornaments node.

◆ parse()

void Ms::MusicXMLParserNotations::parse ( )

◆ skipLogCurrElem()

void Ms::MusicXMLParserNotations::skipLogCurrElem ( )
private

Skip the current element, log debug as info.

◆ slur()

void Ms::MusicXMLParserNotations::slur ( )
private

Parse the /score-partwise/part/measure/note/notations/slur node.

◆ technical()

void Ms::MusicXMLParserNotations::technical ( )
private

Parse the /score-partwise/part/measure/note/notations/technical node.

◆ tied()

void Ms::MusicXMLParserNotations::tied ( )
private

Parse the /score-partwise/part/measure/note/notations/tied node.

◆ tremoloNr()

int Ms::MusicXMLParserNotations::tremoloNr ( ) const
inline

◆ tremoloType()

QString Ms::MusicXMLParserNotations::tremoloType ( ) const
inline

◆ tuplet()

void Ms::MusicXMLParserNotations::tuplet ( )
private

Parse the /score-partwise/part/measure/note/notations/tuplet node.

◆ tupletDesc()

MusicXmlTupletDesc Ms::MusicXMLParserNotations::tupletDesc ( ) const
inline

Member Data Documentation

◆ _arpeggioType

QString Ms::MusicXMLParserNotations::_arpeggioType
private

◆ _articulationSymbols

std::vector<SymId> Ms::MusicXMLParserNotations::_articulationSymbols
private

◆ _breath

SymId Ms::MusicXMLParserNotations::_breath { SymId::noSym }
private

◆ _chordLineType

QString Ms::MusicXMLParserNotations::_chordLineType
private

◆ _dynamicsList

QStringList Ms::MusicXMLParserNotations::_dynamicsList
private

◆ _dynamicsPlacement

QString Ms::MusicXMLParserNotations::_dynamicsPlacement
private

◆ _e

QXmlStreamReader& Ms::MusicXMLParserNotations::_e
private

◆ _fermataSymbol

SymId Ms::MusicXMLParserNotations::_fermataSymbol { SymId::noSym }
private

◆ _fermataType

QString Ms::MusicXMLParserNotations::_fermataType
private

◆ _logger

MxmlLogger* Ms::MusicXMLParserNotations::_logger
private

◆ _notations

std::vector<Notation> Ms::MusicXMLParserNotations::_notations
private

◆ _score

Score* const Ms::MusicXMLParserNotations::_score
private

◆ _slurStop

bool Ms::MusicXMLParserNotations::_slurStop { false }
private

◆ _strongAccentType

QString Ms::MusicXMLParserNotations::_strongAccentType
private

◆ _technicalFingering

QString Ms::MusicXMLParserNotations::_technicalFingering
private

◆ _technicalFret

QString Ms::MusicXMLParserNotations::_technicalFret
private

◆ _technicalPluck

QString Ms::MusicXMLParserNotations::_technicalPluck
private

◆ _technicalString

QString Ms::MusicXMLParserNotations::_technicalString
private

◆ _tiedLineType

QString Ms::MusicXMLParserNotations::_tiedLineType
private

◆ _tiedOrientation

QString Ms::MusicXMLParserNotations::_tiedOrientation
private

◆ _tiedType

QString Ms::MusicXMLParserNotations::_tiedType
private

◆ _tremoloNr

int Ms::MusicXMLParserNotations::_tremoloNr { 0 }
private

◆ _tremoloType

QString Ms::MusicXMLParserNotations::_tremoloType
private

◆ _tupletDesc

MusicXmlTupletDesc Ms::MusicXMLParserNotations::_tupletDesc
private

◆ _wavyLineNo

int Ms::MusicXMLParserNotations::_wavyLineNo { 0 }
private

◆ _wavyLineStop

bool Ms::MusicXMLParserNotations::_wavyLineStop { false }
private

◆ _wavyLineType

QString Ms::MusicXMLParserNotations::_wavyLineType
private

The documentation for this class was generated from the following files: