GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARDisplayDuration.h
1 #ifndef ARDisplayDuration_H
2 #define ARDisplayDuration_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 class TagParameterInt;
22 
23 /*@mkdoc
24 
25 @group:Notes
26 
27 @tagname:\displayDuration
28 @tagalias:\dispDur
29 @tagtype:RP
30 @tagnotation:display an arbitrary duration for a note
31 @tagdesc
32 The duration to display is indicated by a rational value. Provision is also made to display dots.
33 @tagend
34 
35 @params:
36 @param:n:integer:the duration numerator:*none*:false
37 @param:d:integer:the duration denominator:*none*:false
38 @param:ndots:integer:the number of dots:0:true
39 @paramdesc
40 See the [notes](@EXAMPLES/notes/) example.
41 @paramend
42 
43 */
44 
48 {
49  public:
50 
51  ARDisplayDuration(const ARDisplayDuration * dspdur);
53  virtual ~ARDisplayDuration() {}
54 
55  virtual bool MatchEndTag(const char * s);
56 
57  virtual ARMusicalObject * Copy() const { return new ARDisplayDuration(this); }
58 
59  virtual const char* getParamsStr() const { return kARDisplayDurationParams; };
60  virtual const char* getTagName() const { return "ARDisplayDuration"; };
61  virtual std::string getGMNName() const { return "\\displayDuration"; };
62 
63  virtual void setTagParameters (const TagParameterMap& params);
64 
65  void setDisplayDuration(const TYPE_DURATION & tmp);
66  void setDisplayDuration(const TYPE_DURATION & tmp, int numdots);
67 
68  TYPE_DURATION getDisplayDuration() const { return fDuration; }
69  int getDots() const { return fDots; }
70 
72 
73  private:
74  // the parameters ...
75  TYPE_DURATION fDuration; // the dur of this tuplet
76  int fDots;
77 
78  void addTagParameters (const TYPE_DURATION& dur, int ndots);
79 };
80 
81 #endif
ARDisplayDuration::MatchEndTag
virtual bool MatchEndTag(const char *s)
ARDisplayDuration::isARDisplayDuration
ARMusicalObject * isARDisplayDuration()
Definition: ARDisplayDuration.h:71
ARDisplayDuration::getParamsStr
virtual const char * getParamsStr() const
Definition: ARDisplayDuration.h:59
Fraction
Numerator and denominator.
Definition: Fraction.h:23
ARDisplayDuration::getTagName
virtual const char * getTagName() const
Definition: ARDisplayDuration.h:60
ARDisplayDuration::getDisplayDuration
TYPE_DURATION getDisplayDuration() const
Definition: ARDisplayDuration.h:68
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARDisplayDuration::setTagParameters
virtual void setTagParameters(const TagParameterMap &params)
ARDisplayDuration::getDots
int getDots() const
Definition: ARDisplayDuration.h:69
ARDisplayDuration::Copy
virtual ARMusicalObject * Copy() const
Definition: ARDisplayDuration.h:57
ARDisplayDuration::ARDisplayDuration
ARDisplayDuration()
ARDisplayDuration::getGMNName
virtual std::string getGMNName() const
Definition: ARDisplayDuration.h:61
TagParameterInt
not yet documented
Definition: TagParameterInt.h:24
ARDisplayDuration::~ARDisplayDuration
virtual ~ARDisplayDuration()
Definition: ARDisplayDuration.h:53
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
ARMusicalObject
The base class for all AR objects. It contains all musical information : duration and time position.
Definition: ARMusicalObject.h:33
ARDisplayDuration::setDisplayDuration
void setDisplayDuration(const TYPE_DURATION &tmp)
ARDisplayDuration
not yet documented
Definition: ARDisplayDuration.h:47

Guido Project Copyright © 2019 Grame-CNCM