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 
23 namespace 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;
187  S_msrVarValsListAssoc fPoets;
188  S_msrVarValsListAssoc fTranslators;
189  S_msrVarValsListAssoc fArtists;
190 
191  S_msrVarValsListAssoc fSoftwares;
192 
193  S_msrVarValAssoc fEncodingDate;
194 
195  S_msrVarValAssoc fScoreInstrumentAssoc;
196 };
198 EXP 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