Mercurial > hg > easaier-soundaccess
annotate sv/filter/FilterStack.h @ 99:ca1f73f027f5
fix the play checkBox bug
author | benoitrigolleau |
---|---|
date | Wed, 11 Jul 2007 12:18:15 +0000 |
parents | 51a12971e10e |
children | d94ee3e8dfe1 |
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_STACK_H_ |
lbajardsilogic@79 | 15 #define _FILTER_STACK_H_ |
lbajardsilogic@79 | 16 |
lbajardsilogic@79 | 17 #include <QObject> |
lbajardsilogic@79 | 18 #include <map> |
lbajardsilogic@79 | 19 |
lbajardsilogic@79 | 20 #include "Filter.h" |
lbajardsilogic@79 | 21 |
lbajardsilogic@79 | 22 class FilterStack : public QObject |
lbajardsilogic@79 | 23 { |
lbajardsilogic@79 | 24 Q_OBJECT |
lbajardsilogic@79 | 25 |
lbajardsilogic@79 | 26 public: |
lbajardsilogic@79 | 27 FilterStack(); |
lbajardsilogic@79 | 28 virtual ~FilterStack(); |
lbajardsilogic@79 | 29 |
lbajardsilogic@79 | 30 void addFilter(Filter * filter); |
lbajardsilogic@79 | 31 void removeFilter(QString &name); |
lbajardsilogic@79 | 32 |
lbajardsilogic@79 | 33 void removeAllFilters(); |
lbajardsilogic@79 | 34 |
lbajardsilogic@79 | 35 void putInput(float **input, size_t samples); |
lbajardsilogic@79 | 36 void getOutput(float **output, size_t samples); |
lbajardsilogic@79 | 37 |
lbajardsilogic@79 | 38 QString getUniqueFilterName(QString candidate); |
lbajardsilogic@79 | 39 |
lbajardsilogic@82 | 40 size_t getRequiredInputSamples(size_t outputSamplesNeeded); |
lbajardsilogic@82 | 41 |
lbajardsilogic@84 | 42 void setSourceChannelCount(size_t channel); |
lbajardsilogic@84 | 43 |
lbajardsilogic@79 | 44 signals: |
lbajardsilogic@79 | 45 void newFilterAdded(Filter *); |
lbajardsilogic@79 | 46 void filterRemoved(QString); |
lbajardsilogic@79 | 47 |
lbajardsilogic@79 | 48 protected: |
lbajardsilogic@79 | 49 std::map<int, Filter *> m_filters; |
lbajardsilogic@79 | 50 |
lbajardsilogic@79 | 51 int m_count; |
lbajardsilogic@84 | 52 |
lbajardsilogic@84 | 53 size_t m_sourceChannelCount; |
lbajardsilogic@79 | 54 }; |
lbajardsilogic@79 | 55 |
lbajardsilogic@79 | 56 #endif |