![]() |
Mixxx
|
00001 /*************************************************************************** 00002 engineflanger.h - description 00003 ------------------- 00004 copyright : (C) 2002 by Tue and Ken Haste Andersen 00005 email : 00006 ***************************************************************************/ 00007 00008 /*************************************************************************** 00009 * * 00010 * This program is free software; you can redistribute it and/or modify * 00011 * it under the terms of the GNU General Public License as published by * 00012 * the Free Software Foundation; either version 2 of the License, or * 00013 * (at your option) any later version. * 00014 * * 00015 ***************************************************************************/ 00016 00017 #ifndef ENGINEFLANGER_H 00018 #define ENGINEFLANGER_H 00019 00020 #include <QMap> 00021 00022 #include "engineobject.h" 00023 00024 class ControlPotmeter; 00025 class ControlPushButton; 00026 00027 const int max_delay = 5000; 00028 00029 class EngineFlanger : public EngineObject 00030 { 00031 public: 00032 EngineFlanger(const char *group); 00033 ~EngineFlanger(); 00034 void process(const CSAMPLE *pIn, const CSAMPLE *pOut, const int iBufferSize); 00035 private: 00036 ControlObject *potmeterDepth, *potmeterDelay, *potmeterLFOperiod; 00037 ControlPushButton* flangerEnable; 00038 CSAMPLE *delay_buffer; 00039 int LFOamplitude; 00040 int average_delay_length; 00041 int time; 00042 FLOAT_TYPE delay; 00043 int delay_pos; 00044 }; 00045 00046 #endif