LibMusicXML 3.18
lpsrLayouts.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 ___lpsrLayouts___
14#define ___lpsrLayouts___
15
16#include "lpsrVarValAssocs.h"
17
18#include "lpsrScheme.h"
19
20
21namespace MusicXML2
22{
23
24//______________________________________________________________________________
25class lpsrLayout : public lpsrElement
26{
27 public:
28
29 // creation from MusicXML
30 // ------------------------------------------------------
31
32 static SMARTP<lpsrLayout> create (
33 int inputLineNumber);
34
35 protected:
36
37 // constructors/destructor
38 // ------------------------------------------------------
39
41 int inputLineNumber);
42
43 virtual ~lpsrLayout ();
44
45 public:
46
47 // set and get
48 // ------------------------------------------------------
49
50 float getLayoutGlobalStaffSize () const
51 { return fLayoutGlobalStaffSize; }
52
53 void setLayoutGlobalStaffSize (float size)
54 { fLayoutGlobalStaffSize = size; }
55
56 public:
57
58 // services
59 // ------------------------------------------------------
60
61/* JMI
62 void addLilypondVarValAssoc (
63 S_lpsrVarValAssoc assoc)
64 {
65 fLpsrVarValAssocsVector.push_back (assoc);
66 }
67*/
68
69 void addSchemeVariable (
71 {
72 fLpsrSchemeVariablesVector.push_back (assoc);
73 }
74
75 public:
76
77 // visitors
78 // ------------------------------------------------------
79
80 virtual void acceptIn (basevisitor* v);
81 virtual void acceptOut (basevisitor* v);
82
83 virtual void browseData (basevisitor* v);
84
85 public:
86
87 // print
88 // ------------------------------------------------------
89
90 virtual void print (ostream& os) const;
91
92 private:
93
94 // fields
95 // ------------------------------------------------------
96
97 float fLayoutGlobalStaffSize;
98
99/* JMI
100 vector<S_lpsrVarValAssoc>
101 fLpsrVarValAssocsVector;
102 */
103 vector<S_lpsrSchemeVariable>
104 fLpsrSchemeVariablesVector;
105};
107EXP ostream& operator<< (ostream& os, const S_lpsrLayout& elt);
108
109
110}
111
112
113#endif
Definition: basevisitor.h:25
Definition: lpsrElements.h:24
Definition: lpsrLayouts.h:26