GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARCluster.h
1 #ifndef ARCluster_H
2 #define ARCluster_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 <string>
18 
19 #include "ARMTParameter.h"
20 #include "ARPositionTag.h"
21 
22 /*@mkdoc
23 
24 @group:Notes
25 
26 @tagname:\cluster
27 @tagalias:
28 @tagtype:R
29 @tagnotation:transform 2 notes chords into clusters
30 @tagdesc
31 The **\cluster** should be applied to a 2 notes chord and transforms the corresponding range into a cluster
32 @tagend
33 
34 @params:
35 @param:hdx:unit:displacement relative to the chord:0hs:true
36 @param:hdy:unit:displacement relative to the chord:0hs:true
37 @paramdesc
38 See the [notes](@EXAMPLES/notes/) example.
39 @paramend
40 
41 */
42 
43 class ARNote;
44 
47 class ARCluster : public ARMTParameter, public ARPositionTag
48 {
49  public:
50  ARCluster();
51  ARCluster(const ARCluster *inCopyCluster);
52  virtual ~ARCluster() {}
53 
54  virtual const char* getParamsStr() const { return kARClusterParams; };
55  virtual const char* getTagName() const { return "ARCluster"; };
56  virtual std::string getGMNName() const { return "\\cluster"; };
57 
58  virtual void setTagParameters (const TagParameterMap& params);
59 
60  ARNote *getFirstNote() const { return fFirstNote; }
61  ARNote *getSecondNote() const { return fSecondNote; }
62 
63  float getahdx() const { return fHdx; }
64  float getahdy() const { return fHdy; }
65  int getNoteCount() const { return fNoteCount; }
67 
69  void setARNote(ARNote *arNote);
70 
71  protected:
72  float fHdx;
73  float fHdy;
76 
77 
80 };
81 
82 #endif
ARCluster::setOnlyOneNoteInCluster
void setOnlyOneNoteInCluster()
Definition: ARCluster.h:68
ARCluster::getahdy
float getahdy() const
Definition: ARCluster.h:64
ARCluster::fHdy
float fHdy
Definition: ARCluster.h:73
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARCluster::getParamsStr
virtual const char * getParamsStr() const
Definition: ARCluster.h:54
ARCluster::fHdx
float fHdx
Definition: ARCluster.h:72
ARCluster::getSecondNote
ARNote * getSecondNote() const
Definition: ARCluster.h:61
ARCluster::getIsThereOnlyOneNoteInCluster
bool getIsThereOnlyOneNoteInCluster() const
Definition: ARCluster.h:66
ARCluster::setTagParameters
virtual void setTagParameters(const TagParameterMap &params)
ARCluster::ARCluster
ARCluster()
ARCluster::fSingleNote
bool fSingleNote
Definition: ARCluster.h:75
ARCluster::getNoteCount
int getNoteCount() const
Definition: ARCluster.h:65
ARCluster::getFirstNote
ARNote * getFirstNote() const
Definition: ARCluster.h:60
ARCluster::fFirstNote
ARNote * fFirstNote
Definition: ARCluster.h:78
ARCluster::getTagName
virtual const char * getTagName() const
Definition: ARCluster.h:55
ARCluster::setARNote
void setARNote(ARNote *arNote)
ARCluster::getGMNName
virtual std::string getGMNName() const
Definition: ARCluster.h:56
ARCluster::getahdx
float getahdx() const
Definition: ARCluster.h:63
ARNote
Representation of a GUIDO note.
Definition: ARNote.h:30
ARPositionTag
The base class for all range tags.
Definition: ARPositionTag.h:26
ARCluster::fNoteCount
int fNoteCount
Definition: ARCluster.h:74
TagParameterMap
A list of tag parameters represented as a map.
Definition: TagParameterMap.h:31
ARCluster
not yet documented
Definition: ARCluster.h:47
ARCluster::fSecondNote
ARNote * fSecondNote
Definition: ARCluster.h:79
ARCluster::~ARCluster
virtual ~ARCluster()
Definition: ARCluster.h:52

Guido Project Copyright © 2019 Grame-CNCM