LibMusicXML
3.18
src
lilypond
msrTies.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 ___msrTies___
14
#define ___msrTies___
15
16
#include "msrElements.h"
17
18
#include "msrBasicTypes.h"
19
20
21
namespace
MusicXML2
22
{
23
24
//______________________________________________________________________________
25
class
msrTie
:
public
msrElement
26
{
27
public
:
28
29
// data types
30
// ------------------------------------------------------
31
32
enum
msrTieKind {
33
kTieNone,
34
kTieStart, kTieContinue, kTieStop};
35
36
static
string
tieKindAsString (
37
msrTieKind tieKind);
38
39
// creation from MusicXML
40
// ------------------------------------------------------
41
42
static
SMARTP<msrTie>
create (
43
int
inputLineNumber,
44
msrTieKind tieKind);
45
46
protected
:
47
48
// constructors/destructor
49
// ------------------------------------------------------
50
51
msrTie
(
52
int
inputLineNumber,
53
msrTieKind tieKind);
54
55
virtual
~
msrTie
();
56
57
public
:
58
59
// set and get
60
// ------------------------------------------------------
61
62
msrTieKind getTieKind ()
const
63
{
return
fTieKind; }
64
65
// services
66
// ------------------------------------------------------
67
68
public
:
69
70
// visitors
71
// ------------------------------------------------------
72
73
virtual
void
acceptIn (
basevisitor
* v);
74
virtual
void
acceptOut (
basevisitor
* v);
75
76
virtual
void
browseData (
basevisitor
* v);
77
78
public
:
79
80
// print
81
// ------------------------------------------------------
82
83
string
tieKindAsString ()
const
;
84
85
string
asString ()
const
;
86
87
virtual
void
print (ostream& os)
const
;
88
89
private
:
90
91
// fields
92
// ------------------------------------------------------
93
94
msrTieKind fTieKind;
95
};
96
typedef
SMARTP<msrTie>
S_msrTie
;
97
EXP ostream& operator<< (ostream& os,
const
S_msrTie
& elt);
98
99
100
}
// namespace MusicXML2
101
102
103
#endif
MusicXML2::msrTie
Definition:
msrTies.h:26
MusicXML2::SMARTP< msrTie >
MusicXML2::basevisitor
Definition:
basevisitor.h:25
MusicXML2::msrElement
Definition:
msrElements.h:26
Generated by
1.8.18