LibMusicXML  3.18
msrVoiceElements.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 ___msrVoiceElements___
14 #define ___msrVoiceElements___
15 
16 #include "msrElements.h"
17 
18 
19 namespace MusicXML2
20 {
21 
22 //______________________________________________________________________________
24 {
25  public:
26 
27  // creation from MusicXML
28  // ------------------------------------------------------
29 
30  // cloning
31  // ------------------------------------------------------
32 
33  protected:
34 
36  int inputLineNumber);
37 
38  virtual ~msrVoiceElement ();
39 
40  public:
41 
42 /* JMI
43  // set and get
44  // ------------------------------------------------------
45 
46  void setVoiceNumber (
47  string positionInVoice)
48  {
49  fVoiceNumber =
50  positionInVoice;
51  }
52 
53  string getVoiceNumber ()
54  { return fVoiceNumber; }
55 
56  void setPositionInVoice (
57  rational positionInVoice)
58  {
59  fPositionInVoice =
60  positionInVoice;
61  }
62 
63  rational getPositionInVoice ()
64  { return fPositionInVoice; }
65 
66  // services
67  // ------------------------------------------------------
68 
69  public:
70 
71  // visitors
72  // ------------------------------------------------------
73 
74  virtual void acceptIn (basevisitor* v);
75  virtual void acceptOut (basevisitor* v);
76 
77  virtual void browseData (basevisitor* v) = 0;
78 
79  public:
80 
81  // print
82  // ------------------------------------------------------
83 
84  virtual std::string asShortString () const;
85  virtual std::string asString () const;
86 
87  virtual void print (ostream& os) const;
88 
89  virtual void printSummary (ostream& os) {}
90 
91  protected:
92 
93  // fields
94  // ------------------------------------------------------
95 
96  string fVoiceNumber;
97  rational fPositionInVoice;
98  */
99 };
101 EXP ostream& operator<< (ostream& os, const S_msrVoiceElement& elt);
102 
103 
104 } // namespace MusicXML2
105 
106 
107 #endif
MusicXML2::SMARTP
the smart pointer implementation
Definition: smartpointer.h:58
MusicXML2::msrElement
Definition: msrElements.h:26
MusicXML2::msrVoiceElement
Definition: msrVoiceElements.h:24