Canorus  0.0
musicxmlexport.h
Go to the documentation of this file.
1 
8 #ifndef MUSICXMLEXPORT_H_
9 #define MUSICXMLEXPORT_H_
10 
11 #include "export/export.h"
12 
13 class CAContext;
14 class CADocument;
15 class CAVoice;
16 class CASheet;
17 class CAClef;
18 class CAKeySignature;
19 class CATimeSignature;
20 class CANote;
21 class CARest;
22 
23 class CAMusicXmlExport : public CAExport {
24 public:
25  CAMusicXmlExport( QTextStream *stream=0 );
26  virtual ~CAMusicXmlExport();
27 
28  inline CAVoice *curVoice() { return _curVoice; }
29  inline CASheet *curSheet() { return _curSheet; }
30  inline CADocument *curDocument() { return _curDocument; }
31  inline CAContext *curContext() { return _curContext; }
32  inline int curContextIndex() { return _curContextIndex; }
33 
34 private:
35  void exportSheetImpl(CASheet *s);
36  void exportStaffImpl( CAStaff*, QDomElement& );
37  void exportMeasure( QList<CAVoice*>&, int*, QDomElement& );
38 
39  void exportClef(CAClef*, QDomElement&);
40  void exportTimeSig(CATimeSignature*, QDomElement&);
41  void exportKeySig(CAKeySignature*, QDomElement&);
42  void exportNote(CANote*, QDomElement&);
43  void exportRest(CARest*, QDomElement&);
44 
45  inline void setCurVoice(CAVoice *voice) { _curVoice = voice; }
46  inline void setCurSheet(CASheet *sheet) { _curSheet = sheet; }
47  inline void setCurContext(CAContext *context) { _curContext = context; }
48  inline void setCurContextIndex(int c) { _curContextIndex = c; }
49  inline void setCurDocument(CADocument *document) { _curDocument = document; }
50 
56 
57  QDomDocument *_xmlDoc;
58 };
59 
60 #endif /* MUSICXMLEXPORT_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:22
CAVoice * curVoice()
Definition: musicxmlexport.h:28
CADocument * _curDocument
Definition: musicxmlexport.h:54
Definition: clef.h:18
Represents a key signature sign in the staff.
Definition: keysignature.h:19
Definition: musicxmlexport.h:23
void setCurSheet(CASheet *sheet)
Definition: musicxmlexport.h:46
QTextStream * stream()
Definition: file.h:36
QDomDocument * _xmlDoc
Definition: musicxmlexport.h:57
Represents a rest in the score.
Definition: rest.h:15
Class which represents a voice in the staff.
Definition: voice.h:23
Represents a time signature in the staff.
Definition: timesignature.h:18
Class which represents the current document.
Definition: document.h:19
void exportClef(CAClef *, QDomElement &)
Definition: musicxmlexport.cpp:254
void exportMeasure(QList< CAVoice * > &, int *, QDomElement &)
Definition: musicxmlexport.cpp:153
CAMusicXmlExport(QTextStream *stream=0)
Definition: musicxmlexport.cpp:48
Represents a note in the score.
Definition: note.h:18
void exportKeySig(CAKeySignature *, QDomElement &)
Definition: musicxmlexport.cpp:300
Base class for export filters.
Definition: export.h:22
CAVoice * _curVoice
Definition: musicxmlexport.h:51
void setCurDocument(CADocument *document)
Definition: musicxmlexport.h:49
CAContext * curContext()
Definition: musicxmlexport.h:31
void setCurContext(CAContext *context)
Definition: musicxmlexport.h:47
void setCurVoice(CAVoice *voice)
Definition: musicxmlexport.h:45
int curContextIndex()
Definition: musicxmlexport.h:32
void setCurContextIndex(int c)
Definition: musicxmlexport.h:48
CAContext * _curContext
Definition: musicxmlexport.h:53
void exportSheetImpl(CASheet *s)
Definition: musicxmlexport.cpp:62
virtual ~CAMusicXmlExport()
Definition: musicxmlexport.cpp:53
Represents a staff in the sheet.
Definition: staff.h:25
void exportRest(CARest *, QDomElement &)
Definition: musicxmlexport.cpp:381
void exportTimeSig(CATimeSignature *, QDomElement &)
Definition: musicxmlexport.cpp:288
int _curContextIndex
Definition: musicxmlexport.h:55
CASheet * _curSheet
Definition: musicxmlexport.h:52
CASheet * curSheet()
Definition: musicxmlexport.h:29
void exportStaffImpl(CAStaff *, QDomElement &)
Definition: musicxmlexport.cpp:118
void exportNote(CANote *, QDomElement &)
Definition: musicxmlexport.cpp:321
Line of music elements in the sheet.
Definition: context.h:16
CADocument * curDocument()
Definition: musicxmlexport.h:30