⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phaser.h

📁 Audacity是一款用於錄音和編輯聲音的、免費的開放源碼軟體。它可以執行於Mac OS X、Microsoft Windows、GNU/Linux和其它作業系統
💻 H
字号:
/**********************************************************************  Audacity: A Digital Audio Editor  Phaser  Effect programming:  Nasca Octavian Paul  UI programming:  Dominic Mazzoni (with the help of wxDesigner)  Vaughan Johnson (Preview)**********************************************************************/#ifndef __AUDACITY_EFFECT_PHASER__#define __AUDACITY_EFFECT_PHASER__#include <wx/dialog.h>#include <wx/intl.h>#include <wx/slider.h>class wxString;class wxTextCtrl;class wxSizer;class wxSpinCtrl;#include "SimpleMono.h"class WaveTrack;class EffectPhaser:public EffectSimpleMono { public:   EffectPhaser();   virtual wxString GetEffectName() {      return wxString(_("Phaser..."));   }      virtual wxString GetEffectAction() {      return wxString(_("Applying Phaser"));   }      // Useful only after PromptUser values have been set.    virtual wxString GetEffectDescription();    virtual bool PromptUser();   virtual bool TransferParameters( Shuttle & shuttle ); protected:   virtual bool NewTrackSimpleMono();   virtual bool ProcessSimpleMono(float *buffer, sampleCount len);   /*    Phaser Parameters         freq       - Phaser's LFO frequency startphase - Phaser's LFO startphase (radians), needed for stereo Phasers depth      - Phaser depth (0 - no depth, 255 - max depth) stages     - Phaser stages (recomanded from 2 to 16-24, and EVEN NUMBER) drywet     - Dry/wet mix, (0 - dry, 128 - dry=wet, 255 - wet) fb         - Phaser FeedBack (0 - no feedback, 100 = 100% Feedback,                               -100 = -100% FeedBack)*/ private:    // parameters   float freq;   float startphase;   float fb;   int depth;   int stages;   int drywet;   // state variables   unsigned long skipcount;   float old[24]; // must be as large as MAX_STAGES   float gain;   float fbout;   float lfoskip;   float phase;friend class PhaserDialog;};// Declare window functions#define ID_STAGES 10001#define ID_DRYWET 10002#define ID_FREQTEXT 10003#define ID_FREQSLIDER 10004#define ID_PHASETEXT 10005#define ID_PHASESLIDER 10006#define ID_DEPTHTEXT 10007#define ID_DEPTHSLIDER 10008#define ID_FEEDBACKTEXT 10009#define ID_FEEDBACKSLIDER 10010wxSizer *CreatePhaserDialog(wxWindow * parent, bool call_fit =                            TRUE, bool set_sizer = TRUE);//----------------------------------------------------------------------------// PhaserDialog//----------------------------------------------------------------------------class PhaserDialog:public wxDialog { public:   // constructors and destructors   PhaserDialog(EffectPhaser * effect, 						wxWindow * parent, wxWindowID id, const wxString & title,						const wxPoint & pos = wxDefaultPosition,						const wxSize & size = wxDefaultSize,						long style = wxDEFAULT_DIALOG_STYLE);   wxSlider *GetFeedbackSlider() {      return (wxSlider *) FindWindow(ID_FEEDBACKSLIDER);   } wxSlider *GetDepthSlider() {      return (wxSlider *) FindWindow(ID_DEPTHSLIDER);   }   wxSlider *GetPhaseSlider() {      return (wxSlider *) FindWindow(ID_PHASESLIDER);   }   wxSlider *GetFreqSlider() {      return (wxSlider *) FindWindow(ID_FREQSLIDER);   }   wxTextCtrl *GetFeedbackText() {      return (wxTextCtrl *) FindWindow(ID_FEEDBACKTEXT);   }   wxTextCtrl *GetDepthText() {      return (wxTextCtrl *) FindWindow(ID_DEPTHTEXT);   }   wxTextCtrl *GetPhaseText() {      return (wxTextCtrl *) FindWindow(ID_PHASETEXT);   }   wxTextCtrl *GetFreqText() {      return (wxTextCtrl *) FindWindow(ID_FREQTEXT);   }   wxSlider *GetDryWet() {      return (wxSlider *) FindWindow(ID_DRYWET);   }   wxSpinCtrl *GetStages() {      return (wxSpinCtrl *) FindWindow(ID_STAGES);   }   virtual bool Validate();   virtual bool TransferDataToWindow();   virtual bool TransferDataFromWindow(); private:   // WDR: handler declarations for PhaserDialog   void OnFeedbackSlider(wxCommandEvent & event);   void OnDepthSlider(wxCommandEvent & event);   void OnPhaseSlider(wxCommandEvent & event);   void OnFreqSlider(wxCommandEvent & event);   void OnFeedbackText(wxCommandEvent & event);   void OnDepthText(wxCommandEvent & event);   void OnPhaseText(wxCommandEvent & event);   void OnFreqText(wxCommandEvent & event);   void OnPreview(wxCommandEvent &event);   void OnOk(wxCommandEvent & event);   void OnCancel(wxCommandEvent & event); private:	EffectPhaser * m_pEffect; public:   float freq;   float startphase;   float fb;   int depth;   int stages;   int drywet; private:   DECLARE_EVENT_TABLE()};#endif// Indentation settings for Vim and Emacs and unique identifier for Arch, a// version control system. Please do not modify past this point.//// Local Variables:// c-basic-offset: 3// indent-tabs-mode: nil// End://// vim: et sts=3 sw=3// arch-tag: 6520f24a-ad8d-4394-a0b1-fa339bb95875

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -