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