Mercurial > hg > easaier-soundaccess
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sv/filter/RealTimeFilterFactory.h Tue Jun 19 15:15:12 2007 +0000 @@ -0,0 +1,50 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* Sound Access + EASAIER client application. + Silogic 2007. Laure Bajard. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. See the file + COPYING included with this distribution for more information. +*/ + +#ifndef _REAL_TIME_FILTER_FACTORY_H_ +#define _REAL_TIME_FILTER_FACTORY_H_ + +#include "Filter.h" + +#include <set> + +class RealTimeFilterFactory +{ +public: + + enum FilterType { + TimeStretch, + + // Not-a-layer-type + UnknownFilter = 255 + }; + + RealTimeFilterFactory(); + virtual ~RealTimeFilterFactory(); + + static RealTimeFilterFactory *getInstance(); + + typedef std::set<FilterType> FilterTypeSet; + FilterTypeSet getFilterTypes(); + + QString getFilterLabel(FilterType type); + FilterType getFilterType(QString strType); + + Filter * createFilter(FilterType type); + +protected: + + static RealTimeFilterFactory *m_instance; +}; + +#endif \ No newline at end of file