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