LibMusicXML
3.18
src
lilypond
msrPartGroupElements.h
1
/*
2
MusicXML Library
3
Copyright (C) Grame 2006-2013
4
5
This Source Code Form is subject to the terms of the Mozilla Public
6
License, v. 2.0. If a copy of the MPL was not distributed with this
7
file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
9
Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10
research@grame.fr
11
*/
12
13
#ifndef ___msrPartGroupElements___
14
#define ___msrPartGroupElements___
15
16
#include "msrMeasureElements.h"
17
18
19
namespace
MusicXML2
20
{
21
22
//______________________________________________________________________________
23
/*
24
PartGroup elements, i.e. notes, chords and tuplets, can also be found in measures, hence:
25
*/
26
class
msrPartGroupElement
:
public
msrMeasureElement
27
{
28
public
:
29
30
// creation from MusicXML
31
// ------------------------------------------------------
32
33
// cloning
34
// ------------------------------------------------------
35
36
protected
:
37
38
msrPartGroupElement
(
39
int
inputLineNumber);
40
41
virtual
~msrPartGroupElement
();
42
43
public
:
44
45
/* JMI
46
// set and get
47
// ------------------------------------------------------
48
49
void setPartGroupNumber (
50
string positionInPartGroup)
51
{
52
fPartGroupNumber =
53
positionInPartGroup;
54
}
55
56
string getPartGroupNumber ()
57
{ return fPartGroupNumber; }
58
59
void setPositionInPartGroup (
60
rational positionInPartGroup)
61
{
62
fPositionInPartGroup =
63
positionInPartGroup;
64
}
65
66
rational getPositionInPartGroup ()
67
{ return fPositionInPartGroup; }
68
69
// services
70
// ------------------------------------------------------
71
72
public:
73
74
// visitors
75
// ------------------------------------------------------
76
77
virtual void acceptIn (basevisitor* v);
78
virtual void acceptOut (basevisitor* v);
79
80
virtual void browseData (basevisitor* v) = 0;
81
82
public:
83
84
// print
85
// ------------------------------------------------------
86
87
virtual std::string asShortString () const;
88
virtual std::string asString () const;
89
90
virtual void print (ostream& os) const;
91
92
virtual void printSummary (ostream& os) {}
93
94
protected:
95
96
// fields
97
// ------------------------------------------------------
98
99
string fPartGroupNumber;
100
rational fPositionInPartGroup;
101
*/
102
};
103
typedef
SMARTP<msrPartGroupElement>
S_msrPartGroupElement
;
104
EXP ostream& operator<< (ostream& os,
const
S_msrPartGroupElement
& elt);
105
106
107
}
// namespace MusicXML2
108
109
110
#endif
MusicXML2::SMARTP
the smart pointer implementation
Definition:
smartpointer.h:58
MusicXML2::msrMeasureElement
Definition:
msrMeasureElements.h:24
MusicXML2::msrPartGroupElement
Definition:
msrPartGroupElements.h:27
Generated by
1.9.3