GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARNoteFormat.h
1 #ifndef ARNoteFormat_H
2 #define ARNoteFormat_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 #include "ARPositionTag.h"
20 
21 /*@mkdoc
22 
23 @group:Notes
24 
25 @tagname:\noteFormat
26 @tagalias:
27 @tagtype:RP
28 @tagnotation:control the notes format
29 @tagdesc
30 The **\noteFormat** tag supports both a range and a position form.
31 For the latter, the format is applied up to the next format specification or to the end of the voice.
32 
33 **\noteFormat** is a way to introduce [common parameters](../../tagsparams#common-parameters) to notes.
34 @tagend
35 
36 @params:
37 @param:style:string:the notehead style (see below):standard:true
38 @paramdesc
39 The notehead style should be among "diamond", "x", "square", "round", "triangle" and "reversedTriangle".
40 
41 In addition, each style supports 3 types of variations that consist in enclosing the string into (), <> or [].<br />
42 For standard notehead, these variations are simply the "()", "<>" or "[]" strings.
43 
44 See the [notes](@EXAMPLES/notes/) example.
45 @paramend
46 
47 */
48 
51 class ARNoteFormat : public ARMTParameter //, public ARPositionTag
52 {
53  public:
54  ARNoteFormat(const ARNoteFormat * p_savenf = NULL, const ARNoteFormat * copynf = NULL);
55  virtual ~ARNoteFormat() {}
56 
57  const TagParameterString * getTPStyle() const; // { return style; }
58 
59  virtual const char* getParamsStr() const { return kARNoteFormatParams; };
60  virtual const char* getTagName() const { return "ARNoteFormat"; };
61  virtual std::string getGMNName() const { return "\\noteFormat"; };
62 
63  virtual ARNoteFormat * getEndTag() const { return new ARNoteFormat(NULL,fSaveNF); }
64 
65  virtual bool IsStateTag() const { return true; }
66  const ARMusicalObject *isARNoteFormat() const { return this; }
67 
68  private:
69  const ARNoteFormat * fSaveNF;
70 };
71 
72 #endif
ARNoteFormat::isARNoteFormat
const ARMusicalObject * isARNoteFormat() const
Definition: ARNoteFormat.h:66
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARNoteFormat::getTagName
virtual const char * getTagName() const
Definition: ARNoteFormat.h:60
ARNoteFormat::IsStateTag
virtual bool IsStateTag() const
Definition: ARNoteFormat.h:65
ARNoteFormat
not yet documented
Definition: ARNoteFormat.h:51
ARNoteFormat::getGMNName
virtual std::string getGMNName() const
Definition: ARNoteFormat.h:61
ARNoteFormat::ARNoteFormat
ARNoteFormat(const ARNoteFormat *p_savenf=NULL, const ARNoteFormat *copynf=NULL)
ARNoteFormat::getParamsStr
virtual const char * getParamsStr() const
Definition: ARNoteFormat.h:59
ARNoteFormat::getEndTag
virtual ARNoteFormat * getEndTag() const
Definition: ARNoteFormat.h:63
TagParameterString
A string-type tag parameter.
Definition: TagParameterString.h:25
ARMusicalObject
The base class for all AR objects. It contains all musical information : duration and time position.
Definition: ARMusicalObject.h:33
ARNoteFormat::~ARNoteFormat
virtual ~ARNoteFormat()
Definition: ARNoteFormat.h:55
ARNoteFormat::getTPStyle
const TagParameterString * getTPStyle() const

Guido Project Copyright © 2019 Grame-CNCM