LibMusicXML
3.18
src
lilypond
msrVoiceElements.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 ___msrVoiceElements___
14
#define ___msrVoiceElements___
15
16
#include "msrElements.h"
17
18
19
namespace
MusicXML2
20
{
21
22
//______________________________________________________________________________
23
class
msrVoiceElement
:
public
msrElement
24
{
25
public
:
26
27
// creation from MusicXML
28
// ------------------------------------------------------
29
30
// cloning
31
// ------------------------------------------------------
32
33
protected
:
34
35
msrVoiceElement
(
36
int
inputLineNumber);
37
38
virtual
~msrVoiceElement
();
39
40
public
:
41
42
/* JMI
43
// set and get
44
// ------------------------------------------------------
45
46
void setVoiceNumber (
47
string positionInVoice)
48
{
49
fVoiceNumber =
50
positionInVoice;
51
}
52
53
string getVoiceNumber ()
54
{ return fVoiceNumber; }
55
56
void setPositionInVoice (
57
rational positionInVoice)
58
{
59
fPositionInVoice =
60
positionInVoice;
61
}
62
63
rational getPositionInVoice ()
64
{ return fPositionInVoice; }
65
66
// services
67
// ------------------------------------------------------
68
69
public:
70
71
// visitors
72
// ------------------------------------------------------
73
74
virtual void acceptIn (basevisitor* v);
75
virtual void acceptOut (basevisitor* v);
76
77
virtual void browseData (basevisitor* v) = 0;
78
79
public:
80
81
// print
82
// ------------------------------------------------------
83
84
virtual std::string asShortString () const;
85
virtual std::string asString () const;
86
87
virtual void print (ostream& os) const;
88
89
virtual void printSummary (ostream& os) {}
90
91
protected:
92
93
// fields
94
// ------------------------------------------------------
95
96
string fVoiceNumber;
97
rational fPositionInVoice;
98
*/
99
};
100
typedef
SMARTP<msrVoiceElement>
S_msrVoiceElement
;
101
EXP ostream& operator<< (ostream& os,
const
S_msrVoiceElement
& elt);
102
103
104
}
// namespace MusicXML2
105
106
107
#endif
MusicXML2::SMARTP
the smart pointer implementation
Definition:
smartpointer.h:58
MusicXML2::msrElement
Definition:
msrElements.h:26
MusicXML2::msrVoiceElement
Definition:
msrVoiceElements.h:24
Generated by
1.9.3