LibMusicXML 3.18
msrOrnaments_MUT_DEP.h
1/*
2 This file is to be included only by msrMutualDependencies.h,
3 to satisfy declarations mutual dependencies.
4*/
5
6//______________________________________________________________________________
7class msrOrnament : public msrElement
8{
9 public:
10
11 // data types
12 // ------------------------------------------------------
13
14 enum msrOrnamentKind {
15 kOrnamentTrill, kOrnamentDashes,
16 kOrnamentTurn, kOrnamentInvertedTurn, kOrnamentDelayedTurn,
17 kOrnamentDelayedInvertedTurn, kOrnamentVerticalTurn,
18 kOrnamentMordent, kOrnamentInvertedMordent,
19 kOrnamentSchleifer, kOrnamentShake,
20 kOrnamentAccidentalMark };
21
22 static string ornamentKindAsString (
23 msrOrnamentKind ornamentKind);
24
25 // creation from MusicXML
26 // ------------------------------------------------------
27
28 static SMARTP<msrOrnament> create (
29 int inputLineNumber,
30 msrOrnamentKind ornamentKind,
31 msrPlacementKind ornamentPlacementKind);
32
33 protected:
34
35 // constructors/destructor
36 // ------------------------------------------------------
37
39 int inputLineNumber,
40 msrOrnamentKind ornamentKind,
41 msrPlacementKind ornamentPlacementKind);
42
43 virtual ~msrOrnament ();
44
45 public:
46
47 // set and get
48 // ------------------------------------------------------
49
50 void setOrnamentNoteUpLink (S_msrNote note)
51 { fOrnamentNoteUpLink = note; }
52
53 S_msrNote getOrnamentNoteUpLink () const
54 { return fOrnamentNoteUpLink; }
55
56 msrOrnamentKind getOrnamentKind () const
57 { return fOrnamentKind; }
58
59 void setOrnamentPlacementKind (
60 msrPlacementKind
61 ornamentPlacementKind)
62 {
63 fOrnamentPlacementKind =
64 ornamentPlacementKind;
65 }
66
67 msrPlacementKind getOrnamentPlacementKind () const
68 { return fOrnamentPlacementKind; }
69
70 void setOrnamentAccidentalMarkKind (
71 msrAlterationKind
72 ornamentAccidentalMark)
73 {
74 fOrnamentAccidentalMark =
75 ornamentAccidentalMark;
76 }
77
78 msrAlterationKind getOrnamentAccidentalMark () const
79 { return fOrnamentAccidentalMark; }
80
81 // services
82 // ------------------------------------------------------
83
84 string ornamentKindAsString () const;
85
86 string ornamentPlacementKindAsString () const;
87
88 string ornamentAccidentalMarkAsString () const;
89
90 public:
91
92 // visitors
93 // ------------------------------------------------------
94
95 virtual void acceptIn (basevisitor* v);
96 virtual void acceptOut (basevisitor* v);
97
98 virtual void browseData (basevisitor* v);
99
100 public:
101
102 // print
103 // ------------------------------------------------------
104
105 virtual void print (ostream& os) const;
106
107 private:
108
109 // fields
110 // ------------------------------------------------------
111
112 S_msrNote fOrnamentNoteUpLink;
113
114 msrOrnamentKind fOrnamentKind;
115
116 msrPlacementKind fOrnamentPlacementKind;
117
118 msrAlterationKind fOrnamentAccidentalMark;
119};
120typedef SMARTP<msrOrnament> S_msrOrnament;
121EXP ostream& operator<< (ostream& os, const S_msrOrnament& elt);
122
Definition: msrOrnaments_MUT_DEP.h:8