GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARAuto.h
1 #ifndef ARAuto_H
2 #define ARAuto_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 
21 
22 
23 /*@mkdoc
24 
25 @group:Miscellaneous
26 
27 @tagname:\auto
28 @tagalias:\set
29 @tagtype:P
30 @tagnotation:sets voice level global settings
31 @tagdesc
32 @tagend
33 
34 @params:
35 @param:autoEndBar:boolean:automatic end bar:on:true
36 @param:endBar:boolean:variant for autoEndBar:on:true
37 
38 @param:autoPageBreak:boolean:automatic page break:on:true
39 @param:pageBreak:boolean:variant for autoPageBreak:on:true
40 
41 @param:autoSystemBreak:boolean:automatic system break:on:true
42 @param:systemBreak:boolean:variant for autoSystemBreak:on:true
43 
44 @param:autoClefKeyMeterOrder:boolean:automatic reordering of clef, key and meter:on:true
45 @param:clefKeyMeterOrder:boolean:variant for autoClefKeyMeterOrder:on:true
46 
47 @param:autoLyricsPos:boolean:automatic collision avoidance for \lyrics:off:true
48 @param:lyricsAutoPos:boolean:variant for autoLyricsPos:off:true
49 
50 @param:autoInstrPos:boolean:automatic positionning for \instr:off:true
51 @param:instrAutoPos:boolean:variant for autoInstrPos:off:true
52 
53 @param:autoIntensPos:boolean:automatic collision avoidance for \intens:off:true
54 @param:intensAutoPos:boolean:variant for autoIntensPos:off:true
55 
56 @param:autoHideTiedAccidentals:boolean:hide all acidentals on tied notes:on:true
57 
58 @param:harmonyPos:boolean:above or below (see [\harmony](../Text/#harmony)):*none*:true
59 @param:fingeringPos:boolean:above or below (see [\fingering](../Text/#fingering)):*none*:true
60 @param:fingeringSize:float:the fingering text size (see [\fingering](../Text/#fingering)):*none*:true
61 
62 @param:resolveMultiVoiceCollisions:boolean:resolve collisions between notes on the same staff in a multi voice context:off:true
63 
64 @paramdesc
65 Lyrics collision management can produce unexpected results or even create new collisions.
66 In this case, you should switch to manual layout using the 'dx' and 'dy' [common parameters](../../tagsparams#common-parameters).
67 
68 See the [Jazz](@EXAMPLES/allthethings/) example.<br />
69 See the [Beethoven](@EXAMPLES/beethoven/) example.<br />
70 See the [Sonata](@EXAMPLES/cpebach/) example.
71 
72 @paramend
73 
74 */
75 
76 
79 class ARAuto : public ARMTParameter
80 {
81  public:
82  friend class ARMusicalVoiceState;
83 
84  enum state { kOff,kOn };
86 
87  ARAuto();
88  virtual ~ARAuto() {}
89 
91  state getEndBarState() const { return fEndBarState; }
95  state getAutoInstrPos() const { return fInstrAutoPos; }
99 
100  position getHarmonyPos() const { return fHarmonyPos; }
102  float getFingeringSize() const { return fFingeringSize; }
103  bool hasFingeringPos() const { return fHasFingeringPos; }
104  bool hasFingeringSize() const { return fHasFingeringSize; }
105  bool hasHarmonyPos() const { return fHasHarmonyPos; }
107 
108  virtual void setTagParameters (const TagParameterMap& params);
109 
110  virtual const char* getParamsStr() const { return kARAutoParams; };
111  virtual const char* getTagName () const { return "ARAuto"; };
112  virtual std::string getGMNName () const { return "\\auto"; };
113 
114  virtual bool IsStateTag() const { return true; }
115 
116  protected:
126 
127  bool fHasFingeringPos = false;
128  bool fHasHarmonyPos = false;
129  bool fHasFingeringSize = false;
130  bool fHasMVoiceCollision = false;
134 };
135 
136 #endif
ARAuto::state
state
Definition: ARAuto.h:84
ARAuto::getHarmonyPos
position getHarmonyPos() const
Definition: ARAuto.h:100
ARAuto::getSystemBreakState
state getSystemBreakState() const
Definition: ARAuto.h:92
ARAuto::kAbove
Definition: ARAuto.h:85
ARAuto::fPageBreakState
state fPageBreakState
Definition: ARAuto.h:118
ARAuto::getClefKeyMeterOrderState
state getClefKeyMeterOrderState() const
Definition: ARAuto.h:90
ARAuto::getPageBreakState
state getPageBreakState() const
Definition: ARAuto.h:93
ARAuto::fHasMVoiceCollision
bool fHasMVoiceCollision
Definition: ARAuto.h:130
ARAuto::fSystemBreakState
state fSystemBreakState
Definition: ARAuto.h:119
ARAuto::hasFingeringPos
bool hasFingeringPos() const
Definition: ARAuto.h:103
ARAuto::getAutoIntensPos
state getAutoIntensPos() const
Definition: ARAuto.h:96
ARAuto::fHasFingeringPos
bool fHasFingeringPos
Definition: ARAuto.h:127
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARAuto::fAutoHideTiedAccidentals
state fAutoHideTiedAccidentals
Definition: ARAuto.h:124
ARAuto::fInstrAutoPos
state fInstrAutoPos
Definition: ARAuto.h:122
ARAuto::fHarmonyPos
position fHarmonyPos
Definition: ARAuto.h:132
ARAuto::kOff
Definition: ARAuto.h:84
ARAuto::fAutoMultiVoiceCollisions
state fAutoMultiVoiceCollisions
Definition: ARAuto.h:125
ARAuto::getFingeringPos
position getFingeringPos() const
Definition: ARAuto.h:101
ARAuto::fHasFingeringSize
bool fHasFingeringSize
Definition: ARAuto.h:129
ARAuto::fIntensAutoPos
state fIntensAutoPos
Definition: ARAuto.h:123
ARAuto::position
position
Definition: ARAuto.h:85
ARAuto::fFingeringPos
position fFingeringPos
Definition: ARAuto.h:131
ARAuto::getGMNName
virtual std::string getGMNName() const
Definition: ARAuto.h:112
ARAuto::fFingeringSize
float fFingeringSize
Definition: ARAuto.h:133
ARAuto::getParamsStr
virtual const char * getParamsStr() const
Definition: ARAuto.h:110
ARAuto::getAutoMultiVoiceCollisions
state getAutoMultiVoiceCollisions() const
Definition: ARAuto.h:98
ARAuto::~ARAuto
virtual ~ARAuto()
Definition: ARAuto.h:88
ARAuto::getAutoInstrPos
state getAutoInstrPos() const
Definition: ARAuto.h:95
ARAuto::kDefault
Definition: ARAuto.h:85
ARAuto::getAutoHideTiedAccidentals
state getAutoHideTiedAccidentals() const
Definition: ARAuto.h:97
ARAuto::kBelow
Definition: ARAuto.h:85
ARAuto::hasFingeringSize
bool hasFingeringSize() const
Definition: ARAuto.h:104
ARAuto::setTagParameters
virtual void setTagParameters(const TagParameterMap &params)
ARAuto
Auto tag.
Definition: ARAuto.h:79
ARMusicalVoiceState
This class manage the state of a voice. Here additional information for voices will be stored (i....
Definition: ARMusicalVoiceState.h:39
ARAuto::IsStateTag
virtual bool IsStateTag() const
Definition: ARAuto.h:114
ARAuto::getEndBarState
state getEndBarState() const
Definition: ARAuto.h:91
ARAuto::fEndBarState
state fEndBarState
Definition: ARAuto.h:117
ARAuto::getFingeringSize
float getFingeringSize() const
Definition: ARAuto.h:102
ARAuto::fHasHarmonyPos
bool fHasHarmonyPos
Definition: ARAuto.h:128
ARAuto::fLyricsAutoPos
state fLyricsAutoPos
Definition: ARAuto.h:121
ARAuto::hasHarmonyPos
bool hasHarmonyPos() const
Definition: ARAuto.h:105
TagParameterMap
A list of tag parameters represented as a map.
Definition: TagParameterMap.h:31
ARAuto::ARAuto
ARAuto()
ARAuto::hasMultiVoiceCollision
bool hasMultiVoiceCollision() const
Definition: ARAuto.h:106
ARAuto::getTagName
virtual const char * getTagName() const
Definition: ARAuto.h:111
ARAuto::fClefKeyMeterOrderState
state fClefKeyMeterOrderState
Definition: ARAuto.h:120
ARAuto::kOn
Definition: ARAuto.h:84
ARAuto::getAutoLyricsPos
state getAutoLyricsPos() const
Definition: ARAuto.h:94

Guido Project Copyright © 2019 Grame-CNCM