annotate sv/filter/Filter.h @ 97:486e44e12a5d

this version use only one servlet. Data is provide by stream capacity.
author benoitrigolleau
date Tue, 10 Jul 2007 16:01:13 +0000
parents 5060939ca69d
children 3d68e73a877b
rev   line source
lbajardsilogic@79 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
lbajardsilogic@79 2
lbajardsilogic@79 3 /* Sound Access
lbajardsilogic@79 4 EASAIER client application.
lbajardsilogic@79 5 Silogic 2007. Laure Bajard.
lbajardsilogic@79 6
lbajardsilogic@79 7 This program is free software; you can redistribute it and/or
lbajardsilogic@79 8 modify it under the terms of the GNU General Public License as
lbajardsilogic@79 9 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@79 10 License, or (at your option) any later version. See the file
lbajardsilogic@79 11 COPYING included with this distribution for more information.
lbajardsilogic@79 12 */
lbajardsilogic@79 13
lbajardsilogic@79 14 #ifndef _FILTER_H_
lbajardsilogic@79 15 #define _FILTER_H_
lbajardsilogic@79 16
lbajardsilogic@79 17 #include "base/PropertyContainer.h"
lbajardsilogic@79 18
lbajardsilogic@79 19 class Filter : public PropertyContainer
lbajardsilogic@79 20 {
lbajardsilogic@79 21 Q_OBJECT
lbajardsilogic@79 22
lbajardsilogic@79 23 public:
lbajardsilogic@79 24 Filter();
lbajardsilogic@79 25 virtual ~Filter();
lbajardsilogic@79 26
lbajardsilogic@79 27 virtual QString getPropertyLabel(const PropertyName &) const {return "";}
lbajardsilogic@79 28 virtual QString getPropertyContainerName() const {return "";}
lbajardsilogic@79 29 virtual QString getPropertyContainerIconName() const {return "";}
lbajardsilogic@79 30
benoitrigolleau@88 31
lbajardsilogic@79 32 /**
lbajardsilogic@79 33 * Put (and possibly process) a given number of input samples.
lbajardsilogic@79 34 * Number should usually equal the value returned from
lbajardsilogic@79 35 * getRequiredInputSamples().
lbajardsilogic@79 36 */
lbajardsilogic@79 37 virtual void putInput(float **input, size_t samples) = 0;
lbajardsilogic@79 38
lbajardsilogic@79 39 /**
lbajardsilogic@79 40 * Get some processed samples.
lbajardsilogic@79 41 */
lbajardsilogic@79 42 virtual void getOutput(float **output, size_t samples) = 0;
lbajardsilogic@79 43
lbajardsilogic@82 44 virtual size_t getRequiredInputSamples(size_t outputSamplesNeeded) = 0;
lbajardsilogic@79 45
lbajardsilogic@84 46 inline void setSourceChannelCount(size_t channel){m_sourceChannelCount = channel;}
lbajardsilogic@84 47 inline size_t getSourceChannelCount(){return m_sourceChannelCount;}
benoitrigolleau@88 48 bool isFilterEnabled();
benoitrigolleau@88 49
benoitrigolleau@88 50 signals :
benoitrigolleau@88 51 void filterEnableChanged(bool);
lbajardsilogic@84 52
lbajardsilogic@79 53 protected:
lbajardsilogic@79 54
lbajardsilogic@84 55 size_t m_sourceChannelCount;
benoitrigolleau@88 56 bool filterEnabled;
benoitrigolleau@88 57
benoitrigolleau@88 58 public slots :
benoitrigolleau@88 59 void setFilterEnabled(bool b);
benoitrigolleau@88 60 void setFilterEnabled(int b);
lbajardsilogic@79 61
lbajardsilogic@79 62 };
lbajardsilogic@79 63
lbajardsilogic@79 64 #endif