LibMusicXML 3.18
msrSingleTremolos.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 ___msrTremolos___
14#define ___msrTremolos___
15
16#include "msrElements.h"
17
18#include "msrBasicTypes.h"
19
20
21namespace MusicXML2
22{
23
24//______________________________________________________________________________
26{
27 public:
28
29 // creation from MusicXML
30 // ------------------------------------------------------
31
32 static SMARTP<msrSingleTremolo> create (
33 int inputLineNumber,
34 int singleTremoloMarksNumber,
35 msrPlacementKind singleTremoloPlacementKind);
36
37 protected:
38
39 // constructors/destructor
40 // ------------------------------------------------------
41
43 int inputLineNumber,
44 int singleTremoloMarksNumber,
45 msrPlacementKind singleTremoloPlacementKind);
46
47 virtual ~msrSingleTremolo ();
48
49 public:
50
51 // set and get
52 // ------------------------------------------------------
53
54 void setSingleTremoloPlacementKind (
55 msrPlacementKind
56 SingleTremoloPlacementKind)
57 {
58 fSingleTremoloPlacementKind =
59 SingleTremoloPlacementKind;
60 }
61
62 int getSingleTremoloMarksNumber () const
63 { return fSingleTremoloMarksNumber; }
64
65 msrPlacementKind getSingleTremoloPlacementKind () const
66 { return fSingleTremoloPlacementKind; }
67
68 void setSingleTremoloGraphicDurationKind (
69 msrDurationKind durationKind)
70 {
71 fSingleTremoloGraphicDurationKind =
72 durationKind;
73 }
74
75 msrDurationKind getSingleTremoloGraphicDurationKind () const
76 {
77 return fSingleTremoloGraphicDurationKind;
78 }
79
80 // services
81 // ------------------------------------------------------
82
83 public:
84
85 // visitors
86 // ------------------------------------------------------
87
88 virtual void acceptIn (basevisitor* v);
89 virtual void acceptOut (basevisitor* v);
90
91 virtual void browseData (basevisitor* v);
92
93 public:
94
95 // print
96 // ------------------------------------------------------
97
98 string singleTremoloPlacementKindAsString () const;
99
100 string asString () const;
101
102 virtual void print (ostream& os) const;
103
104 private:
105
106 // fields
107 // ------------------------------------------------------
108
109 int fSingleTremoloMarksNumber;
110
111 msrPlacementKind fSingleTremoloPlacementKind;
112
113 msrDurationKind fSingleTremoloGraphicDurationKind;
114};
116EXP ostream& operator<< (ostream& os, const S_msrSingleTremolo& elt);
117
118
119} // namespace MusicXML2
120
121
122#endif
Definition: basevisitor.h:25
Definition: msrElements.h:26
Definition: msrSingleTremolos.h:26