不韋 呂 / F746_MySoundMachine

Dependencies:   F746_GUI F746_SAI_IO FrequencyResponseDrawer SD_PlayerSkeleton UIT_FFT_Real

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers GraphicEqualizer.hpp Source File

GraphicEqualizer.hpp

00001 //--------------------------------------------------------------
00002 //  グラフィックイコライザ用のクラス(ヘッダ)
00003 //  (SD_PlayerSkeleton の派生クラス)
00004 //
00005 //  2017/04/10, Copyright (c) 2017 MIKAMI, Naoki
00006 //--------------------------------------------------------------
00007 
00008 #ifndef F746_SD_GRAPHIC_EQUALIZER_HPP
00009 #define F746_SD_GRAPHIC_EQUALIZER_HPP
00010 
00011 #include "SD_PlayerSkeleton.hpp"
00012 #include "GrEqDesignerDrawer.hpp"
00013 #include "SeekbarGroup.hpp"
00014 #include "BiquadGrEq.hpp"
00015 
00016 namespace Mikami
00017 {
00018     class GraphicEqualizer : public SD_PlayerSkeleton
00019     {
00020     public:
00021         GraphicEqualizer(string str, GrEqDesignerDrawer &obj);
00022         virtual ~GraphicEqualizer() {};
00023     
00024     private:
00025         Button flat_;
00026         ButtonGroup onOff_;
00027         SeekbarGroup myBars_;   // 周波数特性変更用スライダ
00028         GrEqDesignerDrawer &drawerObj_;
00029 
00030         const int BANDS_;
00031         Array<BiquadGrEq> hn_;
00032         bool on_;
00033         
00034         // 1ブロック分の信号処理の実行
00035         virtual void SignalProcessing();
00036 
00037         // グラフィックイコライザのパラメータ変更
00038         virtual void Modefy();
00039 
00040         // 曲の再生中に表示する
00041         virtual void Display();
00042 
00043         // グラフィックイコライザを構成するフィルタのバッファのクリア
00044         virtual void Clear()
00045         {   for (int k=0; k<BANDS_; k++) hn_[k].Clear(); }
00046     };
00047 }
00048 #endif  // F746_SD_GRAPHIC_EQUALIZER_HPP