GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARBar.h
1 #ifndef ARBAR_H
2 #define ARBAR_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 <vector>
19 
20 #include "ARMTParameter.h"
21 
22 /*@mkdoc
23 
24 @group:Barlines
25 
26 @tagname:\bar
27 @tagalias:\|
28 @tagtype:P
29 @tagnotation:a simple bar line
30 @tagdesc
31 @tagend
32 
33 @params:
34 @param:displayMeasNum:boolean:displays measure number:false:true
35 @param:hidden:boolean:hide bar and prevent measure num increment:false:true
36 @param:measNum:integer:set measure number:*none*:true
37 @param:numDx:unit:measure number displacement:0:true
38 @param:numDy:unit:measure number displacement:0:true
39 @paramdesc
40 Measure numbering is attached to barlines. The **displayMeasNum** parameter activates or inhibits measures numbering.
41 
42 Measure numbering may also be activated at [\meter](../ClefKeyMeter) level.
43 
44 See the [Barlines](@EXAMPLES/barlines/) example.
45 @paramend
46 
47 */
48 
51 class ARBar : public ARMTParameter
52  {
53  public:
54  typedef std::vector<std::pair<int, int> > TRanges;
56  ARBar(const TYPE_TIMEPOSITION & timeposition);
57  ARBar();
58  virtual ~ARBar() {}
59 
60  virtual const char* getParamsStr() const { return kARBarParams; };
61  virtual const char* getTagName () const { return "ARBar"; };
62  virtual std::string getGMNName () const { return "\\bar"; };
63 
64  virtual void setTagParameters (const TagParameterMap& params);
65 
66  void setMeasureNumber(int inMeasureNumber) { fMeasureNumber = inMeasureNumber; }
67  int getMeasureNumber() const { return fMeasureNumber; }
68  int getMeasureNumberDisplayed() const { return fMeasureNumberDisplayed; }
69  void setMeasureNumberDisplayed(int mode) { fMeasureNumberDisplayed = mode; }
70  bool isMeasureNumberDisplayedSet() const { return fMeasureNumberDisplayedIsSet; }
71 
72  bool isMeasureNumSkipped() const { return fSkippedMeasureNum || fHidden; }
73  bool hidden() const { return fHidden; }
74 
75  float getMeasureNumberDxOffset() const { return numDx; }
76  float getMeasureNumberDyOffset() const { return numDy; }
77 
78  const ARBar* previousBar () const { return fLastBar; }
79  void setPreviousBar (const ARBar* bar) { fLastBar = bar; }
80 
81  const ARMusicalObject *isARBar() const { return this; }
82  const TRanges& getRanges () const { return fRanges; }
83  void setRanges (const TRanges& r) { fRanges = r; }
84 
85  private:
86  TRanges fRanges;
87 
88  int fMeasureNumber;
89  int fMeasureNumberDisplayed;
90  bool fSkippedMeasureNum;
91  float numDx;
92  float numDy;
93  const ARBar* fLastBar;
94 
95  bool fMeasureNumberDisplayedIsSet;
96  bool fHidden = false;
97 };
98 
99 #endif
ARBar::getTagName
virtual const char * getTagName() const
Definition: ARBar.h:61
ARBar::getParamsStr
virtual const char * getParamsStr() const
Definition: ARBar.h:60
ARBar::setPreviousBar
void setPreviousBar(const ARBar *bar)
Definition: ARBar.h:79
ARBar
Bar tag.
Definition: ARBar.h:51
ARBar::setMeasureNumberDisplayed
void setMeasureNumberDisplayed(int mode)
Definition: ARBar.h:69
ARBar::kNoNum
Definition: ARBar.h:55
Fraction
Numerator and denominator.
Definition: Fraction.h:23
ARBar::getGMNName
virtual std::string getGMNName() const
Definition: ARBar.h:62
ARBar::kNumAll
Definition: ARBar.h:55
ARBar::setTagParameters
virtual void setTagParameters(const TagParameterMap &params)
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARBar::setMeasureNumber
void setMeasureNumber(int inMeasureNumber)
Definition: ARBar.h:66
ARBar::TRanges
std::vector< std::pair< int, int > > TRanges
Definition: ARBar.h:54
ARBar::isMeasureNumberDisplayedSet
bool isMeasureNumberDisplayedSet() const
Definition: ARBar.h:70
ARBar::previousBar
const ARBar * previousBar() const
Definition: ARBar.h:78
ARBar::isMeasureNumSkipped
bool isMeasureNumSkipped() const
Definition: ARBar.h:72
ARBar::getMeasureNumber
int getMeasureNumber() const
Definition: ARBar.h:67
ARBar::~ARBar
virtual ~ARBar()
Definition: ARBar.h:58
ARBar::kNumSystem
Definition: ARBar.h:55
ARBar::getMeasureNumberDisplayed
int getMeasureNumberDisplayed() const
Definition: ARBar.h:68
ARBar::ARBar
ARBar()
ARBar::isARBar
const ARMusicalObject * isARBar() const
Definition: ARBar.h:81
ARBar::kNumPage
Definition: ARBar.h:55
ARBar::getMeasureNumberDyOffset
float getMeasureNumberDyOffset() const
Definition: ARBar.h:76
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
ARBar::getMeasureNumberDxOffset
float getMeasureNumberDxOffset() const
Definition: ARBar.h:75
ARBar::setRanges
void setRanges(const TRanges &r)
Definition: ARBar.h:83
ARBar::getRanges
const TRanges & getRanges() const
Definition: ARBar.h:82
ARBar::hidden
bool hidden() const
Definition: ARBar.h:73

Guido Project Copyright © 2019 Grame-CNCM