GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARAlter.h
1 #ifndef ARAlter_H
2 #define ARAlter_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 <string>
19 
20 #include "ARMTParameter.h"
21 #include "ARPositionTag.h"
22 
23 /*@mkdoc
24 
25 @group:Accidentals
26 
27 @tagname:\alter
28 @tagalias:
29 @tagtype:RP
30 @tagnotation:micro-tonal accidentals
31 @tagdesc
32 The **\alter** tag may be used for micro-tonal accidentals. It supports common tag parameters.
33 It can be used with or without a range: in the latter, it takes effect until the next **\alter** tag; if a ranged alter is encountered in between, it is applied locally and the non-ranged alter continues to apply after that.
34 
35 **Note**: the **\alter** tag has a cumulative effect: it is added to existing accidentals.
36 @tagend
37 
38 @params:
39 @param:detune:float:a signed floating point value representing semi-tones:0:false
40 @paramdesc
41 See the [Accidentals](@EXAMPLES/accidentals/) example.
42 @paramend
43 
44 */
45 
48 class ARAlter : public ARMTParameter, public ARPositionTag
49 {
50  public:
51  ARAlter(const ARAlter * p_savealter = NULL, const ARAlter * copyalter = NULL);
52  virtual ~ARAlter() {}
53 
54  virtual bool IsStateTag() const { return true; }
55 
56  virtual std::string getAlterText() const;
57  virtual float getDetune() const;
58 
59  virtual const char* getParamsStr() const { return kARAlterParams; };
60  virtual const char* getTagName () const { return "ARAlter"; };
61  virtual std::string getGMNName () const { return "\\alter"; };
62 
63  virtual ARAlter * getEndTag() const { return new ARAlter(NULL, fSaveAlter); }
64 
65  private:
66  const ARAlter * fSaveAlter;
67 };
68 
69 #endif
ARAlter::getAlterText
virtual std::string getAlterText() const
ARAlter::ARAlter
ARAlter(const ARAlter *p_savealter=NULL, const ARAlter *copyalter=NULL)
ARAlter
The Alter tag.
Definition: ARAlter.h:48
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARAlter::getEndTag
virtual ARAlter * getEndTag() const
Definition: ARAlter.h:63
ARAlter::IsStateTag
virtual bool IsStateTag() const
Definition: ARAlter.h:54
ARAlter::getTagName
virtual const char * getTagName() const
Definition: ARAlter.h:60
ARAlter::getDetune
virtual float getDetune() const
ARAlter::getGMNName
virtual std::string getGMNName() const
Definition: ARAlter.h:61
ARAlter::~ARAlter
virtual ~ARAlter()
Definition: ARAlter.h:52
ARPositionTag
The base class for all range tags.
Definition: ARPositionTag.h:26
ARAlter::getParamsStr
virtual const char * getParamsStr() const
Definition: ARAlter.h:59

Guido Project Copyright © 2019 Grame-CNCM