LibMusicXML  3.18
msrAfterGraceNotes_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 msrAfterGraceNotesGroupContents : public msrElement
8 {
9  public:
10 
11  // creation from MusicXML
12  // ------------------------------------------------------
13 
14  static SMARTP<msrAfterGraceNotesGroupContents> create (
15  int inputLineNumber,
16  S_msrVoice afterGraceNotesGroupContentsVoiceUpLink);
17 
18  SMARTP<msrAfterGraceNotesGroupContents> createAfterGraceNotesGroupContentsNewbornClone (
19  S_msrVoice containingVoice);
20 
21  SMARTP<msrVoice> createAfterGraceNotesGroupContentsDeepCopy (
22  S_msrVoice containingVoice);
23 
24  protected:
25 
26  // constructors/destructor
27  // ------------------------------------------------------
28 
30  int inputLineNumber,
31  S_msrVoice afterGraceNotesGroupContentsVoiceUpLink);
32 
34 
35  public:
36 
37  // set and get
38  // ------------------------------------------------------
39 
40  const list<S_msrMeasureElement>&
41  getAfterGraceNotesGroupContentsNotesList ()
42  {
43  return
44  fAfterGraceNotesGroupContentsNotesList;
45  }
46 
47  // services
48  // ------------------------------------------------------
49 
50  // upLinks
51  S_msrPart fetchAfterGraceNotesGroupContentsPartUpLink () const;
52 
53  // notes
54  void appendNoteToAfterGraceNotesGroupContents (
55  S_msrNote note);
56  void appendNoteToAfterGraceNotesGroupContents (
57  S_msrChord chord);
58 
59  public:
60 
61  // visitors
62  // ------------------------------------------------------
63 
64  virtual void acceptIn (basevisitor* v);
65  virtual void acceptOut (basevisitor* v);
66 
67  virtual void browseData (basevisitor* v);
68 
69  public:
70 
71  // print
72  // ------------------------------------------------------
73 
74  string asShortString () const;
75 
76  virtual void print (ostream& os) const;
77 
78  private:
79 
80  // fields
81  // ------------------------------------------------------
82 
83  // upLinks
84  S_msrVoice fAfterGraceNotesGroupContentsVoiceUpLink;
85 
86  // the notes list
87  list<S_msrMeasureElement>
88  fAfterGraceNotesGroupContentsNotesList;
89 };
90 typedef SMARTP<msrAfterGraceNotesGroupContents> S_msrAfterGraceNotesGroupContents;
91 EXP ostream& operator<< (ostream& os, const S_msrAfterGraceNotesGroupContents& elt);
92 
93 //______________________________________________________________________________
94 class msrAfterGraceNotesGroup : public msrElement
95 {
96  public:
97 
98  // creation from MusicXML
99  // ------------------------------------------------------
100 
101  static SMARTP<msrAfterGraceNotesGroup> create (
102  int inputLineNumber,
103  S_msrElement afterGraceNotesGroupElement,
104  bool afterGraceNotesGroupIsSlashed,
105  S_msrVoice afterGraceNotesGroupVoiceUpLink);
106 
107  SMARTP<msrAfterGraceNotesGroup> createAfterGraceNotesGroupNewbornClone (
108  S_msrNote noteClone,
109  S_msrVoice containingVoice);
110 
111  SMARTP<msrVoice> createAfterGraceNotesGroupDeepCopy (
112  S_msrNote noteClone,
113  S_msrVoice containingVoice);
114 
115  protected:
116 
117  // constructors/destructor
118  // ------------------------------------------------------
119 
121  int inputLineNumber,
122  S_msrElement afterGraceNotesGroupElement,
123  bool afterGraceNotesGroupIsSlashed,
124  S_msrVoice afterGraceNotesGroupVoiceUpLink);
125 
126  virtual ~msrAfterGraceNotesGroup ();
127 
128  public:
129 
130  // set and get
131  // ------------------------------------------------------
132 
133  S_msrElement getAfterGraceNotesGroupElement () const
134  { return fAfterGraceNotesGroupElement; }
135 
136  S_msrAfterGraceNotesGroupContents
137  getAfterGraceNotesGroupContents () const
138  { return fAfterGraceNotesGroupContents; }
139 
140  // services
141  // ------------------------------------------------------
142 
143  // upLinks
144  S_msrPart fetchAfterGraceNotesGroupPartUpLink () const;
145 
146  // notes
147  void appendNoteToAfterGraceNotesGroupContents (
148  S_msrNote note);
149 
150  public:
151 
152  // visitors
153  // ------------------------------------------------------
154 
155  virtual void acceptIn (basevisitor* v);
156  virtual void acceptOut (basevisitor* v);
157 
158  virtual void browseData (basevisitor* v);
159 
160  public:
161 
162  // print
163  // ------------------------------------------------------
164 
165  string asShortString () const;
166 
167  virtual void print (ostream& os) const;
168 
169  private:
170 
171  // fields
172  // ------------------------------------------------------
173 
174  // upLinks
175  S_msrVoice fAfterGraceNotesGroupVoiceUpLink;
176 
177  S_msrElement fAfterGraceNotesGroupElement;
178 
179  bool fAfterGraceNotesGroupIsSlashed;
180 
181  S_msrAfterGraceNotesGroupContents
182  fAfterGraceNotesGroupContents;
183 };
184 typedef SMARTP<msrAfterGraceNotesGroup> S_msrAfterGraceNotesGroup;
185 EXP ostream& operator<< (ostream& os, const S_msrAfterGraceNotesGroup& elt);
186 
Definition: msrAfterGraceNotes_MUT_DEP.h:8
Definition: msrAfterGraceNotes_MUT_DEP.h:95