ManifoldMusic
music visualization
 All Classes Files Functions Variables Enumerations Enumerator
audio.h
Go to the documentation of this file.
1 
6 #ifndef AUDIO
7 #define AUDIO
8 
9 #include <fmod.hpp>
10 #include "common.h"
11 #include "common_transform.h"
12 #include "config.h"
13 
14 
19 enum EQType{
20  LOW,
21  MID,
22  HIGH,
23  FREQS};
24 
28 class Audio{
29 
30 public:
32  Audio();
34  ~Audio();
35 
39  bool loadSong(const char *path);
40 
43  void rePlay();
44 
47  bool playPause();
48 
54  void getFilter(VectorXd *filter);
55 
59  void setFreqs(int _numFreqs) {
60  numFreqs = _numFreqs;
61  updateEQ(FREQS,0);
62  }
63 
72  void updateEQ(EQType t, int val);
73 
74 protected:
75  bool ready;
76  float *left;
77  float *right;
78  float *eq;
79  float low;
80  float mid;
81  float high;
82  FMOD::System *system;
83  FMOD::Channel *channel;
84  FMOD::Sound *sound;
85  int numFreqs;
86 };
87 
88 #endif