13#ifndef ___msrLigatures___
14#define ___msrLigatures___
16#include "msrElements.h"
18#include "msrBasicTypes.h"
26typedef SMARTP<msrLigature> S_msrLigature;
35 enum msrLigatureKind {
37 kLigatureStart, kLigatureContinue, kLigatureStop};
39 static string ligatureKindAsString (
40 msrLigatureKind ligatureKind);
42 enum msrLigatureLineEndKind {
44 kLigatureLineEndUp, kLigatureLineEndDown,
45 kLigatureLineEndBoth, kLigatureLineEndArrow };
47 static string ligatureLineEndKindAsString (
48 msrLigatureLineEndKind ligatureLineEndKind);
56 msrLigatureKind ligatureKind,
57 msrLigatureLineEndKind ligatureLineEndKind,
58 msrLineTypeKind ligatureLineTypeKind,
59 msrPlacementKind ligaturePlacementKind);
69 msrLigatureKind ligatureKind,
70 msrLigatureLineEndKind ligatureLineEndKind,
71 msrLineTypeKind ligatureLineTypeKind,
72 msrPlacementKind ligaturePlacementKind);
82 void setLigatureOtherEndSideLink (
86 {
return fLigatureOtherEndSideLink; }
88 int getLigatureNumber ()
const
89 {
return fLigatureNumber; }
91 msrLigatureKind getLigatureKind ()
const
92 {
return fLigatureKind; }
94 msrLigatureLineEndKind
95 getLigatureLineEndKind ()
const
96 {
return fLigatureLineEndKind; }
98 msrLineTypeKind getLigatureLineTypeKind ()
const
99 {
return fLigatureLineTypeKind; }
101 msrPlacementKind getLigaturePlacementKind ()
const
102 {
return fLigaturePlacementKind; }
104 void setLigaturePlacementKind (
105 msrPlacementKind placementKind)
106 { fLigaturePlacementKind = placementKind; }
126 string ligatureKindAsString ()
const;
128 virtual void print (ostream& os)
const;
141 msrLigatureKind fLigatureKind;
143 msrLigatureLineEndKind
144 fLigatureLineEndKind;
146 msrLineTypeKind fLigatureLineTypeKind;
148 msrPlacementKind fLigaturePlacementKind;
151EXP ostream& operator<< (ostream& os,
const S_msrLigature& elt);
Definition: basevisitor.h:25
Definition: msrElements.h:26
Definition: msrLigatures.h:29