GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARStaff.h
1 #ifndef ARStaff_H
2 #define ARStaff_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 
20 /*@mkdoc
21 
22 @group:Layout
23 
24 @tagname:\staff
25 @tagalias:
26 @tagtype:P
27 @tagnotation:set staff assignment
28 @tagdesc
29 @tagend
30 
31 The **\staff** tag is used to write multi-voice music on the same staff.
32 
33 @params:
34 @param:id:integer:a staff index:*none*:false
35 @param:dy:unit:set the distance to the next staff:*none*:false
36 @paramdesc
37 'id' indicates a staff index (starting from 1). All the elements between a **\staff** tag and the next one
38 (or the end of the voice) are assigned to the staff designated by id.
39 
40 See the [4 voices](@EXAMPLES/4voices/) example.
41 
42 @paramend
43 
44 */
45 
48 class ARStaff : public ARMTParameter
49 {
50  public:
51  ARStaff(const TYPE_TIMEPOSITION & timeposition);
52  ARStaff(int p_staffnumber);
53  ARStaff();
54  ARStaff(const ARStaff * stf);
55 
56  virtual ~ARStaff() {}
57 
58  virtual ARMusicalObject * Copy() const { return new ARStaff(this); }
59  virtual bool IsStateTag() const { return true; }
60 
61  virtual int getOrder() const { return kDontMove; }
62  virtual const char* getParamsStr() const { return kARStaffParams; };
63  virtual const char* getTagName() const { return "ARStaff"; };
64  virtual std::string getGMNName() const { return "\\staff"; };
65 
66  int getStaffNumber() const;
67  const char* getStaffID() const;
68 
69  const ARMusicalObject *isARStaff() const { return this; }
70 
71  private:
72  void init();
73  };
74 
75 
76 #endif
77 
ARStaff::getTagName
virtual const char * getTagName() const
Definition: ARStaff.h:63
ARStaff::~ARStaff
virtual ~ARStaff()
Definition: ARStaff.h:56
ARStaff::IsStateTag
virtual bool IsStateTag() const
Definition: ARStaff.h:59
ARStaff::ARStaff
ARStaff()
Fraction
Numerator and denominator.
Definition: Fraction.h:23
ARStaff
not yet documented
Definition: ARStaff.h:48
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARStaff::getStaffNumber
int getStaffNumber() const
ARMusicalTag::kDontMove
Definition: ARMusicalTag.h:40
ARStaff::Copy
virtual ARMusicalObject * Copy() const
Definition: ARStaff.h:58
ARStaff::getGMNName
virtual std::string getGMNName() const
Definition: ARStaff.h:64
ARStaff::getParamsStr
virtual const char * getParamsStr() const
Definition: ARStaff.h:62
ARStaff::getStaffID
const char * getStaffID() const
ARStaff::getOrder
virtual int getOrder() const
Definition: ARStaff.h:61
ARStaff::isARStaff
const ARMusicalObject * isARStaff() const
Definition: ARStaff.h:69
ARMusicalObject
The base class for all AR objects. It contains all musical information : duration and time position.
Definition: ARMusicalObject.h:33

Guido Project Copyright © 2019 Grame-CNCM