YSE sound engine  1.0
cross platform sound engine
 All Classes Namespaces Functions Pages
midifile.hpp
1 /*
2  ==============================================================================
3 
4  midifile.h
5  Created: 12 Jul 2014 6:55:28pm
6  Author: yvan
7 
8  ==============================================================================
9 */
10 
11 #ifndef MIDIFILE_H_INCLUDED
12 #define MIDIFILE_H_INCLUDED
13 
14 #include <string>
15 #include "../synth/synth.hpp"
16 #include "../headers/defines.hpp"
17 
18 namespace YSE {
19  namespace MIDI {
20  class fileImpl;
21 
22  class API file {
23  public:
24  file();
25  ~file();
26  bool create(const std::string & fileName);
27 
28  // connected synths will read from this midifile,
29  // next to parsing their own midi input.
30  // Mind that to play the file you also need to:
31  // 1. use the play() function below
32  // 2. use the play() function on the sound which is
33  // connected to the synth
34  void connect (synth * player);
35  void disconnect(synth * player);
36 
37  void play ();
38  void pause();
39  void stop ();
40 
41  private:
42  fileImpl * pimpl;
43  };
44  }
45 }
46 
47 
48 
49 #endif // MIDIFILE_H_INCLUDED