Mercurial > hg > easaier-soundaccess
annotate sv/filter/RealTimeFilterFactory.h @ 79:afcf540ae3a2
add the real time filter stack to manage real time filters and their attributes
author | lbajardsilogic |
---|---|
date | Tue, 19 Jun 2007 15:15:12 +0000 |
parents | |
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 _REAL_TIME_FILTER_FACTORY_H_ |
lbajardsilogic@79 | 15 #define _REAL_TIME_FILTER_FACTORY_H_ |
lbajardsilogic@79 | 16 |
lbajardsilogic@79 | 17 #include "Filter.h" |
lbajardsilogic@79 | 18 |
lbajardsilogic@79 | 19 #include <set> |
lbajardsilogic@79 | 20 |
lbajardsilogic@79 | 21 class RealTimeFilterFactory |
lbajardsilogic@79 | 22 { |
lbajardsilogic@79 | 23 public: |
lbajardsilogic@79 | 24 |
lbajardsilogic@79 | 25 enum FilterType { |
lbajardsilogic@79 | 26 TimeStretch, |
lbajardsilogic@79 | 27 |
lbajardsilogic@79 | 28 // Not-a-layer-type |
lbajardsilogic@79 | 29 UnknownFilter = 255 |
lbajardsilogic@79 | 30 }; |
lbajardsilogic@79 | 31 |
lbajardsilogic@79 | 32 RealTimeFilterFactory(); |
lbajardsilogic@79 | 33 virtual ~RealTimeFilterFactory(); |
lbajardsilogic@79 | 34 |
lbajardsilogic@79 | 35 static RealTimeFilterFactory *getInstance(); |
lbajardsilogic@79 | 36 |
lbajardsilogic@79 | 37 typedef std::set<FilterType> FilterTypeSet; |
lbajardsilogic@79 | 38 FilterTypeSet getFilterTypes(); |
lbajardsilogic@79 | 39 |
lbajardsilogic@79 | 40 QString getFilterLabel(FilterType type); |
lbajardsilogic@79 | 41 FilterType getFilterType(QString strType); |
lbajardsilogic@79 | 42 |
lbajardsilogic@79 | 43 Filter * createFilter(FilterType type); |
lbajardsilogic@79 | 44 |
lbajardsilogic@79 | 45 protected: |
lbajardsilogic@79 | 46 |
lbajardsilogic@79 | 47 static RealTimeFilterFactory *m_instance; |
lbajardsilogic@79 | 48 }; |
lbajardsilogic@79 | 49 |
lbajardsilogic@79 | 50 #endif |