synthberry
Software MIDI synthesizer for the Raspberry Pi.
 All Classes Functions
synthesizer.h
1 #ifndef SYNTHESIZER_H
2 #define SYNTHESIZER_H
3 
4 #include "imidisource.h"
5 #include "inoteobserver.h"
6 #include "wave.h"
7 #include <vector>
8 #include <cstdint>
9 
16 template <class SampleType> class Synthesizer
17 {
18 public:
19  Synthesizer();
20  ~Synthesizer();
21  void setMidiSource(PMidiSource &source);
22  void addNoteObserver(PNoteObserver &observer);
23  // TODO addSynthModule(PSynthModule &module);
24  // TODO setAudioOutput(PAudioOutput &output);
25 
26 private:
27  PMidiSource midiSource;
28  std::vector<PNoteObserver> noteObservers;
29  // TODO std::vector<PSynthModule> synthModules;
30  // TODO PAudioOutput audioOutput;
31  std::vector<Wave<SampleType> > waves;
32 };
33 
34 #endif // SYNTHESIZER_H