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 |