LibMusicXML 3.18
msrIdentification.h
1/*
2 MusicXML Library
3 Copyright (C) Grame 2006-2013
4
5 This Source Code Form is subject to the terms of the Mozilla Public
6 License, v. 2.0. If a copy of the MPL was not distributed with this
7 file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9 Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10 research@grame.fr
11*/
12
13#ifndef ___msrIdentification___
14#define ___msrIdentification___
15
16#include "msrElements.h"
17
18#include "msrBasicTypes.h"
19
20#include "msrVarValAssocs.h"
21
22
23namespace MusicXML2
24{
25
26//______________________________________________________________________________
28{
29 public:
30
31 // creation from MusicXML
32 // ------------------------------------------------------
33
34 static SMARTP<msrIdentification> create (
35 int inputLineNumber);
36
37 protected:
38
39 // constructors/destructor
40 // ------------------------------------------------------
41
43 int inputLineNumber);
44
45 virtual ~msrIdentification ();
46
47 public:
48
49 // set and get
50 // ------------------------------------------------------
51
52 void setWorkNumber (
53 int inputLineNumber,
54 string val);
55
56 void setWorkTitle (
57 int inputLineNumber,
58 string val);
59
60 void setMovementNumber (
61 int inputLineNumber,
62 string val);
63
64 void setMovementTitle (
65 int inputLineNumber,
66 string val);
67
68 void setEncodingDate (
69 int inputLineNumber,
70 string val);
71
72 void setMiscellaneousField (
73 int inputLineNumber,
74 string val);
75
76 void setScoreInstrument (
77 int inputLineNumber,
78 string val);
79
80 S_msrVarValsListAssoc getRights () const
81 { return fRights; }
82
83 S_msrVarValAssoc getWorkNumber () const
84 { return fWorkNumber; }
85
86 S_msrVarValAssoc getWorkTitle () const
87 { return fWorkTitle; }
88
89 S_msrVarValAssoc getMovementNumber () const
90 { return fMovementNumber; }
91
92 S_msrVarValAssoc getMovementTitle () const
93 { return fMovementTitle; }
94
95 S_msrVarValsListAssoc getComposers () const
96 { return fComposers; }
97
98 S_msrVarValsListAssoc getArrangers () const
99 { return fArrangers; }
100
101 S_msrVarValsListAssoc getLyricists () const
102 { return fLyricists; }
103
104 S_msrVarValsListAssoc getPoets () const
105 { return fPoets; }
106
107 S_msrVarValsListAssoc getTranslators () const
108 { return fTranslators; }
109
110 S_msrVarValsListAssoc getSoftwares () const
111 { return fSoftwares; }
112
113 S_msrVarValAssoc getEncodingDate () const
114 { return fEncodingDate; }
115
116 S_msrVarValAssoc getScoreInstrumentAssoc () const
117 { return fScoreInstrumentAssoc; }
118
119 // services
120 // ------------------------------------------------------
121
122 void addRights (
123 int inputLineNumber,
124 string value);
125
126 void addComposer (
127 int inputLineNumber,
128 string value);
129
130 void addArranger (
131 int inputLineNumber,
132 string value);
133
134 void addLyricist (
135 int inputLineNumber,
136 string value);
137
138 void addPoet (
139 int inputLineNumber,
140 string value);
141
142 void addTranslator (
143 int inputLineNumber,
144 string value);
145
146 void addArtist (
147 int inputLineNumber,
148 string value);
149
150 void addSoftware (
151 int inputLineNumber,
152 string value);
153
154 public:
155
156 // visitors
157 // ------------------------------------------------------
158
159 virtual void acceptIn (basevisitor* v);
160 virtual void acceptOut (basevisitor* v);
161
162 virtual void browseData (basevisitor* v);
163
164 public:
165
166 // print
167 // ------------------------------------------------------
168
169 virtual void print (ostream& os) const;
170
171 private:
172
173 // fields
174 // ------------------------------------------------------
175
176 S_msrVarValsListAssoc fRights;
177
178 S_msrVarValAssoc fWorkNumber;
179 S_msrVarValAssoc fWorkTitle;
180
181 S_msrVarValAssoc fMovementNumber;
182 S_msrVarValAssoc fMovementTitle;
183
184 S_msrVarValsListAssoc fComposers;
185 S_msrVarValsListAssoc fArrangers;
186 S_msrVarValsListAssoc fLyricists;
188 S_msrVarValsListAssoc fTranslators;
189 S_msrVarValsListAssoc fArtists;
190
191 S_msrVarValsListAssoc fSoftwares;
192
193 S_msrVarValAssoc fEncodingDate;
194
195 S_msrVarValAssoc fScoreInstrumentAssoc;
196};
198EXP ostream& operator<< (ostream& os, const S_msrIdentification& elt);
199
200
201} // namespace MusicXML2
202
203
204#endif
Definition: basevisitor.h:25
Definition: msrElements.h:26
Definition: msrIdentification.h:28