LibMusicXML  3.18
bsrClefs_MUT_DEP.h
1 /*
2  This file is to be included only by bsrMutualDependencies.h,
3  to satisfy declarations mutual dependencies.
4 */
5 
6 //______________________________________________________________________________
7 class bsrClef : public bsrLineElement
8 {
9  public:
10 
11  // data types
12  // ------------------------------------------------------
13 
14  enum bsrClefKind {
15  kClefKindNone,
16 
17  kClefKindGTreble,
18  kClefKindFBass,
19  kClefKindCAlto,
20  kClefKindGSoprano, // first line, french violin
21  kClefKindFBaritone,
22  kClefKindCTenor,
23  kClefKindGOttavaAlta,
24  kClefKindGOttavaBassa,
25  kClefKindModifiedBassForRightHandPart,
26  kClefKindModifiedTrebleForLeftHandPart };
27 
28  static string clefKindAsString (
29  bsrClefKind clefKind);
30 
31  // creation
32  // ------------------------------------------------------
33 
34  static SMARTP<bsrClef> create (
35  int inputLineNumber,
36  bsrClefKind clefKind);
37 
38  protected:
39 
40  // constructors/destructor
41  // ------------------------------------------------------
42 
43  bsrClef (
44  int inputLineNumber,
45  bsrClefKind clefKind);
46 
47  virtual ~bsrClef ();
48 
49  public:
50 
51  // set and get
52  // ------------------------------------------------------
53 
54  bsrClefKind getClefKind () const
55  { return fClefKind; }
56 
57  public:
58 
59  // public services
60  // ------------------------------------------------------
61 
62  S_bsrCellsList fetchCellsList () const
63  { return fClefCellsList; }
64 
65  int fetchCellsNumber () const;
66 
67  private:
68 
69  // private services
70  // ------------------------------------------------------
71 
72  S_bsrCellsList buildCellsList () const;
73 
74  public:
75 
76  // visitors
77  // ------------------------------------------------------
78 
79  virtual void acceptIn (basevisitor* v);
80  virtual void acceptOut (basevisitor* v);
81 
82  virtual void browseData (basevisitor* v);
83 
84  public:
85 
86  // print
87  // ------------------------------------------------------
88 
89  string asString () const;
90 
91  virtual void print (ostream& os) const;
92 
93  private:
94 
95  // fields
96  // ------------------------------------------------------
97 
98  bsrClefKind fClefKind;
99 
100  S_bsrCellsList fClefCellsList;
101 };
102 typedef SMARTP<bsrClef> S_bsrClef;
103 EXP ostream& operator<< (ostream& os, const S_bsrClef& elt);
104 
bsrClef
Definition: bsrClefs_MUT_DEP.h:8
bsrLineElement
Definition: bsrLineElements_MUT_DEP.h:8