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 //______________________________________________________________________________
7 class 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 
38  msrOrnament (
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 };
120 typedef SMARTP<msrOrnament> S_msrOrnament;
121 EXP ostream& operator<< (ostream& os, const S_msrOrnament& elt);
122 
msrOrnament
Definition: msrOrnaments_MUT_DEP.h:8