Mercurial > hg > devuvuzelator
view devuvuzelator-ladspa.h @ 19:0cdedb2fab81 tip
* OS/X build fixes
author | Chris Cannam |
---|---|
date | Fri, 18 Jun 2010 11:18:49 +0100 |
parents | a1539d4e3b08 |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ #ifndef _DEVUVUZELATOR_LADSPA_H_ #define _DEVUVUZELATOR_LADSPA_H_ #include <ladspa.h> #include "median.h" class Devuvuzelator { public: static const LADSPA_Descriptor *getDescriptor(unsigned long index); private: Devuvuzelator(int sampleRate); ~Devuvuzelator(); enum { InputPort = 0, OutputPort = 1, LatencyPort = 2, FundamentalPort = 3, BandwidthPort = 4, HarmonicsPort = 5, ReductionPort = 6, PortCount = 7, }; static const char *const portNames[PortCount]; static const LADSPA_PortDescriptor ports[PortCount]; static const LADSPA_PortRangeHint hints[PortCount]; static const LADSPA_Properties properties; static const LADSPA_Descriptor ladspaDescriptor; static LADSPA_Handle instantiate(const LADSPA_Descriptor *, unsigned long); static void connectPort(LADSPA_Handle, unsigned long, LADSPA_Data *); static void activate(LADSPA_Handle); static void run(LADSPA_Handle, unsigned long); static void deactivate(LADSPA_Handle); static void cleanup(LADSPA_Handle); void reset(); void window(float *); void runImpl(unsigned long); void processFrame(); void processSpectralFrame(); void updateParameters(); static void fft(unsigned int n, bool inverse, double *ri, double *ii, double *ro, double *io); int m_sampleRate; float *m_input; float *m_output; float m_fundamental; float m_bandwidth; float m_harmonics; float m_reduction; float *m_platency; float *m_pfundamental; float *m_pbandwidth; float *m_pharmonics; float *m_preduction; const int m_fftsize; const int m_winsize; const int m_increment; const float m_filtersecs; int m_fill; int m_read; float *m_buffer; float *m_outacc; double *m_real; double *m_imag; double *m_window; MedianFilter<double> **m_medians; }; #endif