LibMusicXML 3.22
musicxmlquery.h
1//
2// musicxmlquery.hpp
3// GuidoKit
4//
5// Created by Arshia Cont on 23/12/16.
6// Copyright © 2016 Antescofo SAS. All rights reserved.
7//
8
9#ifndef musicxmlquery_hpp
10#define musicxmlquery_hpp
11
12#include <stdio.h>
13#include <map>
14#include <vector>
15#include <set>
16
17#include "exports.h"
18#include "typedefs.h"
19#include "transposevisitor.h"
20#include "partlistvisitor.h"
21#include "partsummary.h"
22#include "clefvisitor.h"
23
24namespace MusicXML2
25{
26
31
39 class EXP musicxmlQuery :
40 public transposevisitor,
41 public visitor<S_part>,
42 public visitor<S_staves>,
43 public partlistvisitor,
44 public clefvisitor
45 {
46 public:
47 musicxmlQuery();
48 virtual ~musicxmlQuery();
49
50 void init();
51
53
63 std::string getTransposeInstrumentName ();
64
65
70
74 std::vector<std::string> getAllClefsOfFirstPart();
75
80
81 protected:
82
83 virtual void visitStart ( S_part& elt);
84 virtual void visitStart ( S_staves& elt);
85
86 void visitEnd ( S_clef& elt );
87
88 std::map<std::string, int> stavesInPart;
89 std::map<std::string, std::set<std::string> > clefsInPart;
90 std::string currentPart;
91 };
92
93
94}
95
96
97#endif /* musicxmlquery_hpp */
Definition visitor.h:27
std::vector< std::string > getAllClefsOfFirstPart()
int getTransposeInstrumentChromatic()
Query methods.