GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARBeam.h
1 #ifndef ARBeam_H
2 #define ARBeam_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2002 Holger Hoos, Juergen Kilian, Kai Renz
7  Copyright (C) 2002-2017 Grame
8 
9  This Source Code Form is subject to the terms of the Mozilla Public
10  License, v. 2.0. If a copy of the MPL was not distributed with this
11  file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 
13  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
14  research@grame.fr
15 
16 */
17 
18 #include "ARMTParameter.h"
19 #include "ARPositionTag.h"
20 
21 /*@mkdoc
22 
23 @group:Beaming
24 
25 @tagname:\beam
26 @tagalias:\bm<br/>\b<br/>\beamBegin beamEnd
27 @tagtype:R
28 @tagnotation:notes beaming
29 @tagdesc
30 Beaming is automatically computed according to the current meter. Manual beaming is always possible.
31 @tagend
32 
33 @params:
34 @param:dy1:unit:adjust the left beaming position:*none*:true
35 @param:dy2:unit:adjust the right beaming position:*none*:true
36 @param:dy:unit:similar to dy1=dy and dy2=dy:*none*:true
37 @paramdesc
38 *dy* parameters adjust the position of the beams relative to the note head.
39 
40 Known issue: *dy* fails when the stems are down.
41 
42 See the [Beaming](@EXAMPLES/beaming/) example.
43 
44 @paramend
45 
46 */
47 
50 class ARBeam : public ARMTParameter, public ARPositionTag
51 {
52  public:
53  ARBeam();
54  virtual ~ARBeam() {}
55 
56  bool isGuidoSpecBeam() const;
57  bool isFeatheredBeam() const {return fFeathered;}
58 
59  virtual bool isFullBeaming() const { return true;}
60  virtual bool MatchEndTag(const char * s);
61 
62  virtual const char* getParamsStr() const { return kARBeamParams; };
63  virtual const char* getTagName() const { return "ARBeam"; };
64  virtual std::string getGMNName() const { return "\\beam"; };
65 
66  virtual void setTagParameters (const TagParameterMap& params);
67 
68  const TagParameterFloat * getDx1() const { return dx1; }
69  const TagParameterFloat * getDy1() const { return dy1; }
70  const TagParameterFloat * getDx2() const { return dx2; }
71  const TagParameterFloat * getDy2() const { return dy2; }
72  const TagParameterFloat * getDx3() const { return dx3; }
73  const TagParameterFloat * getDy3() const { return dy3; }
74  const TagParameterFloat * getDx4() const { return dx4; }
75  const TagParameterFloat * getDy4() const { return dy4; }
76 
77  protected:
78  bool fFeathered;
79 
80  private:
81  const TagParameterFloat * dx1;
82  const TagParameterFloat * dy1;
83  const TagParameterFloat * dx2;
84  const TagParameterFloat * dy2;
85  const TagParameterFloat * dx3;
86  const TagParameterFloat * dy3;
87  const TagParameterFloat * dx4;
88  const TagParameterFloat * dy4;
89 };
90 
91 #endif
92 
ARBeam::getDy2
const TagParameterFloat * getDy2() const
Definition: ARBeam.h:71
ARBeam::getDx2
const TagParameterFloat * getDx2() const
Definition: ARBeam.h:70
ARBeam::MatchEndTag
virtual bool MatchEndTag(const char *s)
ARBeam::ARBeam
ARBeam()
ARBeam::setTagParameters
virtual void setTagParameters(const TagParameterMap &params)
ARBeam
Abstract representation of a beam.
Definition: ARBeam.h:50
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARBeam::getDx1
const TagParameterFloat * getDx1() const
Definition: ARBeam.h:68
ARBeam::getDy1
const TagParameterFloat * getDy1() const
Definition: ARBeam.h:69
ARBeam::isFeatheredBeam
bool isFeatheredBeam() const
Definition: ARBeam.h:57
ARBeam::getParamsStr
virtual const char * getParamsStr() const
Definition: ARBeam.h:62
ARBeam::getDx3
const TagParameterFloat * getDx3() const
Definition: ARBeam.h:72
ARBeam::~ARBeam
virtual ~ARBeam()
Definition: ARBeam.h:54
ARBeam::getGMNName
virtual std::string getGMNName() const
Definition: ARBeam.h:64
ARBeam::isFullBeaming
virtual bool isFullBeaming() const
Definition: ARBeam.h:59
ARBeam::getDy3
const TagParameterFloat * getDy3() const
Definition: ARBeam.h:73
ARBeam::isGuidoSpecBeam
bool isGuidoSpecBeam() const
TagParameterFloat
The floating point parameter type for Guido Tags.
Definition: TagParameterFloat.h:24
ARBeam::fFeathered
bool fFeathered
Definition: ARBeam.h:78
ARPositionTag
The base class for all range tags.
Definition: ARPositionTag.h:26
TagParameterMap
A list of tag parameters represented as a map.
Definition: TagParameterMap.h:31
ARBeam::getDy4
const TagParameterFloat * getDy4() const
Definition: ARBeam.h:75
ARBeam::getDx4
const TagParameterFloat * getDx4() const
Definition: ARBeam.h:74
ARBeam::getTagName
virtual const char * getTagName() const
Definition: ARBeam.h:63

Guido Project Copyright © 2019 Grame-CNCM