lbajardsilogic@79: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ lbajardsilogic@79: lbajardsilogic@79: /* Sound Access lbajardsilogic@79: EASAIER client application. lbajardsilogic@79: Silogic 2007. Laure Bajard. lbajardsilogic@79: lbajardsilogic@79: This program is free software; you can redistribute it and/or lbajardsilogic@79: modify it under the terms of the GNU General Public License as lbajardsilogic@79: published by the Free Software Foundation; either version 2 of the lbajardsilogic@79: License, or (at your option) any later version. See the file lbajardsilogic@79: COPYING included with this distribution for more information. lbajardsilogic@79: */ lbajardsilogic@79: lbajardsilogic@79: #ifndef _REAL_TIME_FILTER_FACTORY_H_ lbajardsilogic@79: #define _REAL_TIME_FILTER_FACTORY_H_ lbajardsilogic@79: lbajardsilogic@79: #include "Filter.h" lbajardsilogic@79: lbajardsilogic@79: #include lbajardsilogic@79: lbajardsilogic@79: class RealTimeFilterFactory lbajardsilogic@79: { lbajardsilogic@79: public: lbajardsilogic@79: lbajardsilogic@79: enum FilterType { lbajardsilogic@79: TimeStretch, lbajardsilogic@79: lbajardsilogic@79: // Not-a-layer-type lbajardsilogic@79: UnknownFilter = 255 lbajardsilogic@79: }; lbajardsilogic@79: lbajardsilogic@79: RealTimeFilterFactory(); lbajardsilogic@79: virtual ~RealTimeFilterFactory(); lbajardsilogic@79: lbajardsilogic@79: static RealTimeFilterFactory *getInstance(); lbajardsilogic@79: lbajardsilogic@79: typedef std::set FilterTypeSet; lbajardsilogic@79: FilterTypeSet getFilterTypes(); lbajardsilogic@79: lbajardsilogic@79: QString getFilterLabel(FilterType type); lbajardsilogic@79: FilterType getFilterType(QString strType); lbajardsilogic@79: lbajardsilogic@79: Filter * createFilter(FilterType type); lbajardsilogic@79: lbajardsilogic@79: protected: lbajardsilogic@79: lbajardsilogic@79: static RealTimeFilterFactory *m_instance; lbajardsilogic@79: }; lbajardsilogic@79: lbajardsilogic@79: #endif