GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARGlissando.h
1 #ifndef ARGlissando_H
2 #define ARGlissando_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2013 Grame
7 
8  This Source Code Form is subject to the terms of the Mozilla Public
9  License, v. 2.0. If a copy of the MPL was not distributed with this
10  file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 
12  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
13  research@grame.fr
14 
15 */
16 
17 #include "ARMTParameter.h"
18 #include "ARPositionTag.h"
19 
20 /*@mkdoc
21 
22 @group:Articulations
23 
24 @tagname:\glissando
25 @tagalias:glissandoBegin glissandoEnd
26 @tagtype:R
27 @tagnotation:a glissando line between notes
28 @tagdesc
29 The **\glissando** tag displays lines between notes but can be applied to chords as well.
30 In the latter case, a line is drawn between the corresponding notes of each chord.
31 It is the position of the notes in the GMN code that determines the correspondence
32 @tagend
33 
34 @params:
35 @param:dx1:unit:displacement of the line left anchor point:0:true
36 @param:dy1:unit:displacement of the line left anchor point:0:true
37 @param:dx2:unit:displacement of the line right anchor point:0:true
38 @param:dy2:unit:displacement of the line right anchor point:0:true
39 @param:fill:boolean@param:fill space between lines when applied to a chord:false:true
40 @param:thickness:unit:line thickness:0.3:true
41 @paramdesc
42 See a [glissando](@EXAMPLES/articulations/) example.
43 @paramend
44 
45 */
46 
47 class ARGlissando : public ARMTParameter, public ARPositionTag
48 {
49  public:
50  ARGlissando();
51  ARGlissando(const ARGlissando * glissando);
52  virtual ~ARGlissando() {};
53 
54  virtual void setTagParameters (const TagParameterMap& params);
55 
56  virtual const char* getParamsStr() const { return kARGlissandoParams; };
57  virtual const char* getTagName() const { return "ARGlissando"; };
58  virtual std::string getGMNName() const { return "\\glissando"; };
59 
60  virtual void browse(TimeUnwrap& mapper) const;
61  virtual bool MatchEndTag(const char * s);
62 
63  const float getDx1() const { return fDx1; }
64  const float getDy1() const { return fDy1; }
65  const float getDx2() const { return fDx2; }
66  const float getDy2() const { return fDy2; }
67  const float getThickness() const { return fThickness; }
68  const bool isFill() const { return fFill; }
69  //const bool isWavy() { return fWavy; }
70 
71  protected:
72  float fDx1;
73  float fDy1;
74  float fDx2;
75  float fDy2;
76  float fThickness;
77  bool fFill;
78  //bool fWavy;
79 };
80 
81 #endif
ARGlissando::MatchEndTag
virtual bool MatchEndTag(const char *s)
ARGlissando::getDy1
const float getDy1() const
Definition: ARGlissando.h:64
ARGlissando::fDx2
float fDx2
Definition: ARGlissando.h:74
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARGlissando::fDy2
float fDy2
Definition: ARGlissando.h:75
ARGlissando::getGMNName
virtual std::string getGMNName() const
Definition: ARGlissando.h:58
ARGlissando::fDy1
float fDy1
Definition: ARGlissando.h:73
ARGlissando::getTagName
virtual const char * getTagName() const
Definition: ARGlissando.h:57
ARGlissando::fThickness
float fThickness
Definition: ARGlissando.h:76
ARGlissando
Definition: ARGlissando.h:47
ARGlissando::~ARGlissando
virtual ~ARGlissando()
Definition: ARGlissando.h:52
ARGlissando::getParamsStr
virtual const char * getParamsStr() const
Definition: ARGlissando.h:56
ARGlissando::ARGlissando
ARGlissando()
ARGlissando::isFill
const bool isFill() const
Definition: ARGlissando.h:68
ARGlissando::browse
virtual void browse(TimeUnwrap &mapper) const
ARGlissando::getThickness
const float getThickness() const
Definition: ARGlissando.h:67
ARGlissando::setTagParameters
virtual void setTagParameters(const TagParameterMap &params)
ARGlissando::getDx2
const float getDx2() const
Definition: ARGlissando.h:65
ARPositionTag
The base class for all range tags.
Definition: ARPositionTag.h:26
ARGlissando::getDx1
const float getDx1() const
Definition: ARGlissando.h:63
TagParameterMap
A list of tag parameters represented as a map.
Definition: TagParameterMap.h:31
ARGlissando::fFill
bool fFill
Definition: ARGlissando.h:77
ARGlissando::fDx1
float fDx1
Definition: ARGlissando.h:72
ARGlissando::getDy2
const float getDy2() const
Definition: ARGlissando.h:66
TimeUnwrap
Definition: TimeUnwrap.h:29

Guido Project Copyright © 2019 Grame-CNCM