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