LibMusicXML  3.18
msrMidi.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 ___msrMidi___
14 #define ___msrMidi___
15 
16 #include "msrElements.h"
17 
18 #include "msrBasicTypes.h"
19 
20 
21 namespace MusicXML2
22 {
23 
24 //______________________________________________________________________________
25 class msrMidiTempo : public msrElement
26 {
27  public:
28 
29  // creation from MusicXML
30  // ------------------------------------------------------
31 
32  static SMARTP<msrMidiTempo> create (
33  int inputLineNumber,
34  string midiTempoDuration,
35  int midiTempoPerSecond);
36 
37  SMARTP<msrMidiTempo> createMsrMidiTempoNewbornClone ();
38 
39  public:
40 
41  // constructors/destructor
42  // ------------------------------------------------------
43 
44  msrMidiTempo (
45  int inputLineNumber,
46  string midiTempoDuration,
47  int midiTempoPerSecond);
48 
49  msrMidiTempo ();
50 
51  virtual ~msrMidiTempo ();
52 
53  public:
54 
55  // set and get
56  // ------------------------------------------------------
57  void setMidiTempoDuration (string value)
58  { fMidiTempoDuration = value; }
59 
60  string getMidiTempoDuration () const
61  { return fMidiTempoDuration; }
62 
63  void setMidiTempoPerSecond (int value)
64  { fMidiTempoPerSecond = value; }
65 
66  int getMidiTempoPerSecond () const
67  { return fMidiTempoPerSecond; }
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);
81 
82  public:
83 
84  // print
85  // ------------------------------------------------------
86 
87  virtual void print (ostream& os) const;
88 
89  private:
90 
91  // fields
92  // ------------------------------------------------------
93 
94  string fMidiTempoDuration;
95  int fMidiTempoPerSecond;
96 };
98 EXP ostream& operator<< (ostream& os, const S_msrMidiTempo& elt);
99 
100 
101 } // namespace MusicXML2
102 
103 
104 #endif
MusicXML2::SMARTP< msrMidiTempo >
MusicXML2::msrMidiTempo
Definition: msrMidi.h:26
MusicXML2::basevisitor
Definition: basevisitor.h:25
MusicXML2::msrElement
Definition: msrElements.h:26