ladspaeffect.h

来自「Audacity是一款用於錄音和編輯聲音的、免費的開放源碼軟體。它可以執行於Ma」· C头文件 代码 · 共 122 行

H
122
字号
/**********************************************************************  Audacity: A Digital Audio Editor  LadspaEffect.h  Dominic Mazzoni**********************************************************************/class wxSlider;class wxStaticText;class wxTextCtrl;#include <wx/dialog.h>#include "../Effect.h"#include "ladspa.h"void LoadLadspaPlugins();class LadspaEffect:public Effect { public:   LadspaEffect(const LADSPA_Descriptor *data);   virtual ~LadspaEffect();   virtual wxString GetEffectName();      virtual wxString GetEffectAction();   virtual int GetEffectFlags() {      return flags;   }    virtual bool Init();   virtual bool PromptUser();      virtual bool Process();      virtual void End(); private:   bool ProcessStereo(int count, WaveTrack * left, WaveTrack *right,                      longSampleCount lstart, longSampleCount rstart,                      sampleCount len);   void GetSamples(WaveTrack *track,                   longSampleCount *start,                   sampleCount *len);    wxString pluginName;   int flags;   const LADSPA_Descriptor *mData;   sampleCount mBlockSize;   float *buffer;   float **fInBuffer;   float **fOutBuffer;   unsigned long inputs;   unsigned long outputs;   unsigned long numInputControls;   unsigned long *inputPorts;   unsigned long *outputPorts;   float *inputControls;   float *outputControls;   int mainRate;};class LadspaEffectDialog:public wxDialog {   DECLARE_DYNAMIC_CLASS(LadspaEffectDialog) public:   LadspaEffectDialog(LadspaEffect *effect,                      wxWindow * parent,                      const LADSPA_Descriptor *data,                      float *inputControls,                      int sampleRate);   ~LadspaEffectDialog();   void OnSlider(wxCommandEvent & event);   void OnTextCtrl(wxCommandEvent & event);   void OnOK(wxCommandEvent & event);   void OnCancel(wxCommandEvent & event);   void OnPreview(wxCommandEvent & event);   DECLARE_EVENT_TABLE() private:   void HandleSlider();   void HandleText();   bool inSlider;   bool inText;         int sampleRate;   const LADSPA_Descriptor *mData;   wxSlider **sliders;   wxSlider *targetSlider;   wxTextCtrl **fields;   wxStaticText **labels;   unsigned long *ports;   unsigned long numParams;   float *inputControls;   LadspaEffect *effect;};// 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: d8622b59-5c08-4e7f-a170-2502ff8af8e5

⌨️ 快捷键说明

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