![]() |
Mixxx
|
00001 /*************************************************************************** 00002 enginevinylsoundemu.h - description 00003 ------------------- 00004 copyright : (C) 2007 by Albert Santoni 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 ENGINEVINYLSOUNDEMU_H 00018 #define ENGINEVINYLSOUNDEMU_H 00019 00020 #include "engineobject.h" 00021 00022 #define NOISE_BUFFER_SIZE 1000 00023 class EngineVinylSoundEmu : public EngineObject 00024 { 00025 public: 00026 EngineVinylSoundEmu(ConfigObject<ConfigValue> *pConfig, const char *group); 00027 ~EngineVinylSoundEmu(); 00028 void process(const CSAMPLE *pIn, const CSAMPLE *pOut, const int iBufferSize); 00029 private: 00030 ConfigObject<ConfigValue> *m_pConfig; 00031 ControlObject *m_pRateEngine; 00032 float m_fSpeed, m_fOldSpeed; 00033 float m_fGainFactor; 00034 00035 float m_fNoise[NOISE_BUFFER_SIZE]; 00036 int m_iNoisePos; 00037 }; 00038 00039 00040 #endif