Canorus
0.7
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
import
musicxmlimport.h
Go to the documentation of this file.
1
8
#ifndef MUSICXMLIMPORT_H_
9
#define MUSICXMLIMPORT_H_
10
11
#include <QXmlStreamReader>
12
#include <QString>
13
#include <QStack>
14
#include <QHash>
15
#include <QMultiHash>
16
17
#include "
core/playablelength.h
"
18
#include "
core/diatonicpitch.h
"
19
#include "
import/import.h
"
20
21
class
CADocument
;
22
class
CASheet
;
23
class
CAStaff
;
24
class
CAClef
;
25
class
CAKeySignature
;
26
class
CATimeSignature
;
27
28
class
CAMusicXmlImport
:
public
CAImport
,
private
QXmlStreamReader
{
29
public
:
30
CAMusicXmlImport
( QTextStream *
stream
=0 );
31
CAMusicXmlImport
(
const
QString
stream
);
32
virtual
~CAMusicXmlImport
();
33
34
const
QString
readableStatus
();
35
36
private
:
37
void
initMusicXmlImport
();
38
CADocument
*
importDocumentImpl
();
39
40
void
readHeader
();
41
void
readScorePartwise
();
42
void
readScoreTimewise
();
43
void
readWork
();
44
void
readIdentification
();
45
void
readDefaults
();
46
void
readPartList
();
47
void
readPart
();
48
void
readMeasure
( QString partId );
49
void
readAttributes
( QString partId );
50
void
readNote
( QString partId,
int
);
51
void
readForward
( QString partId,
int
);
52
CAVoice
*
addVoiceIfNeeded
( QString partId,
int
staff,
int
voice );
53
54
QString
_musicXmlVersion
;
55
56
CADocument
*
_document
;
57
QHash<QString, QHash<int, CAVoice*> >
_partMapVoice
;
// part name -> map of voice number : voice
58
QHash<QString, QList<CAStaff*> >
_partMapStaff
;
// part name -> list of staffs
59
QHash<QString, QHash<int, CAClef*> >
_partMapClef
;
// part name -> map of staff number : last clef
60
QHash<QString, QHash<int, CAKeySignature*> >
_partMapKeySig
;
// part name -> map of staff number : last keysig
61
QHash<QString, QHash<int, CATimeSignature*> >
_partMapTimeSig
;
// part name -> map of staff number : last timesig
62
QHash<QString, int>
_midiChannel
;
63
QHash<QString, int>
_midiProgram
;
64
QHash<QString, QString>
_partName
;
65
QHash<QString, int>
_divisions
;
// part name -> divisions
66
};
67
68
#endif
/* MUSICXMLIMPORT_H_ */
Generated on Fri Jan 11 2013 14:40:12 for Canorus by
1.8.3