Canorus 0.0
canorusmlimport.h
Go to the documentation of this file.
1
8#ifndef CANORUSMLIMPORT_H_
9#define CANORUSMLIMPORT_H_
10
11#include <QStack>
12#include <QHash>
13#include <QXmlDefaultHandler>
14#include <QColor>
15
16#include "import/import.h"
17
18#include "score/diatonicpitch.h"
20#include "score/diatonickey.h"
21
22class CAContext;
23class CAKeySignature;
24class CATimeSignature;
25class CAClef;
26class CABarline;
27class CANote;
28class CARest;
29class CASlur;
30class CASyllable;
31class CAMusElement;
32class CAMark;
33class CATuplet;
34
36public:
37 CACanorusMLImport( QTextStream *stream=0 );
38 CACanorusMLImport( const QString stream );
39 virtual ~CACanorusMLImport();
40
42
44
45 bool startElement(const QString& namespaceURI, const QString& localName, const QString& qName,
46 const QXmlAttributes& attributes);
47 bool endElement(const QString& namespaceURI, const QString& localName,
48 const QString& qName);
49 bool fatalError(const QXmlParseException& exception);
50 bool characters(const QString& ch);
51
52private:
53 void importMark( const QXmlAttributes& attributes );
54 void importResource( const QXmlAttributes& attributes );
55
56 inline CADocument *document() { return _document; }
58
59 QString _version;
60 QString _errorMsg;
61 QStack<QString> _depth;
62
63 // Pointers to the current elements when reading the XML file
74 CAMusElement *_prevMusElt; // previous musElt by depth
84 QHash<CALyricsContext*, int> _lcMap; // lyrics context associated voice indices
85 QHash<CASyllable*, int> _syllableMap; // syllable associated voice indices
86 QColor _color; // foreground color of elements
87
89 // Temporary properties for each XML stanza //
91 QString _cha;
92};
93
94#endif /* CANORUSMLIMPORT_H_ */
Music element which represents a barline in the score.
Definition: barline.h:17
Class for opening the Canorus documents.
Definition: canorusmlimport.h:35
CADocument * document()
Definition: canorusmlimport.h:56
CAVoice * _curVoice
Definition: canorusmlimport.h:66
CACanorusMLImport(QTextStream *stream=0)
Definition: canorusmlimport.cpp:63
CADiatonicPitch _curDiatonicPitch
Definition: canorusmlimport.h:80
virtual ~CACanorusMLImport()
Definition: canorusmlimport.cpp:73
CATuplet * _curTuplet
Definition: canorusmlimport.h:78
CAClef * _curClef
Definition: canorusmlimport.h:69
QHash< CALyricsContext *, int > _lcMap
Definition: canorusmlimport.h:84
void initCanorusMLImport()
Definition: canorusmlimport.cpp:76
CAPlayableLength _curPlayableLength
Definition: canorusmlimport.h:82
CAMusElement * _curMusElt
Definition: canorusmlimport.h:73
CASlur * _curTie
Definition: canorusmlimport.h:76
CADocument * _document
Definition: canorusmlimport.h:57
QString _errorMsg
Definition: canorusmlimport.h:60
CASlur * _curSlur
Definition: canorusmlimport.h:77
QStack< QString > _depth
Definition: canorusmlimport.h:61
void importMark(const QXmlAttributes &attributes)
Definition: canorusmlimport.cpp:747
CABarline * _curBarline
Definition: canorusmlimport.h:70
CAContext * _curContext
Definition: canorusmlimport.h:65
bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attributes)
Definition: canorusmlimport.cpp:144
bool fatalError(const QXmlParseException &exception)
Definition: canorusmlimport.cpp:126
CADocument * importDocumentImpl()
Definition: canorusmlimport.cpp:97
CAMark * _curMark
Definition: canorusmlimport.h:75
QString _cha
Definition: canorusmlimport.h:91
CATimeSignature * _curTimeSig
Definition: canorusmlimport.h:68
CADiatonicKey _curDiatonicKey
Definition: canorusmlimport.h:81
QString _version
Definition: canorusmlimport.h:59
CASheet * _curSheet
Definition: canorusmlimport.h:64
bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
Definition: canorusmlimport.cpp:525
QColor _color
Definition: canorusmlimport.h:86
bool characters(const QString &ch)
Definition: canorusmlimport.cpp:741
CASlur * _curPhrasingSlur
Definition: canorusmlimport.h:79
CANote * _curNote
Definition: canorusmlimport.h:71
CARest * _curRest
Definition: canorusmlimport.h:72
CAKeySignature * _curKeySig
Definition: canorusmlimport.h:67
CAPlayableLength _curTempoPlayableLength
Definition: canorusmlimport.h:83
void importResource(const QXmlAttributes &attributes)
Definition: canorusmlimport.cpp:885
QHash< CASyllable *, int > _syllableMap
Definition: canorusmlimport.h:85
CAMusElement * _prevMusElt
Definition: canorusmlimport.h:74
Definition: clef.h:18
Line of music elements in the sheet.
Definition: context.h:16
Musical key.
Definition: diatonickey.h:15
Musical note pitch.
Definition: diatonicpitch.h:16
Class which represents the current document.
Definition: document.h:19
QTextStream * stream()
Definition: file.h:36
Base class for import filters.
Definition: import.h:20
Represents a key signature sign in the staff.
Definition: keysignature.h:19
Marks that depend on other music elements.
Definition: mark.h:15
An abstract class which represents every music element in the score.
Definition: muselement.h:21
Represents a note in the score.
Definition: note.h:18
Musical length of notes and rests.
Definition: playablelength.h:16
Represents a rest in the score.
Definition: rest.h:15
Represents a single sheet of paper in the document.
Definition: sheet.h:22
Slur, Tie, Phrasing slur and Laissez vibrer tie This class represents any type of slur....
Definition: slur.h:18
Lyrics under the note.
Definition: syllable.h:19
Represents a time signature in the staff.
Definition: timesignature.h:18
Class used for tuplets (triplets, duols etc.)
Definition: tuplet.h:17
Class which represents a voice in the staff.
Definition: voice.h:23