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//______________________________________________________________________________
7class 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};
102typedef SMARTP<bsrClef> S_bsrClef;
103EXP ostream& operator<< (ostream& os, const S_bsrClef& elt);
104
Definition: bsrClefs_MUT_DEP.h:8
Definition: bsrLineElements_MUT_DEP.h:8