annotate sv/filter/RealTimeFilterFactory.cpp @ 97:486e44e12a5d

this version use only one servlet. Data is provide by stream capacity.
author benoitrigolleau
date Tue, 10 Jul 2007 16:01:13 +0000
parents 8ebc85f6ce4e
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 #include "RealTimeFilterFactory.h"
lbajardsilogic@79 15
lbajardsilogic@79 16 #include "TimeStretchFilter.h"
lbajardsilogic@79 17
lbajardsilogic@79 18 #include <iostream>
lbajardsilogic@79 19
lbajardsilogic@79 20 RealTimeFilterFactory * RealTimeFilterFactory::m_instance = new RealTimeFilterFactory;
lbajardsilogic@79 21
lbajardsilogic@79 22 RealTimeFilterFactory * RealTimeFilterFactory::getInstance()
lbajardsilogic@79 23 {
lbajardsilogic@79 24 return m_instance;
lbajardsilogic@79 25 }
lbajardsilogic@79 26
lbajardsilogic@79 27 RealTimeFilterFactory::RealTimeFilterFactory()
lbajardsilogic@79 28 {}
lbajardsilogic@79 29
lbajardsilogic@79 30 RealTimeFilterFactory::~RealTimeFilterFactory()
lbajardsilogic@79 31 {}
lbajardsilogic@79 32
lbajardsilogic@79 33 RealTimeFilterFactory::FilterTypeSet RealTimeFilterFactory::getFilterTypes()
lbajardsilogic@79 34 {
lbajardsilogic@79 35 FilterTypeSet types;
lbajardsilogic@79 36
lbajardsilogic@79 37 types.insert(TimeStretch);
lbajardsilogic@79 38
lbajardsilogic@79 39 return types;
lbajardsilogic@79 40 }
lbajardsilogic@79 41
lbajardsilogic@79 42 QString RealTimeFilterFactory::getFilterLabel(FilterType type)
lbajardsilogic@79 43 {
lbajardsilogic@79 44 switch (type) {
lbajardsilogic@82 45 case TimeStretch: return "Pitch-Time Stretching";
lbajardsilogic@79 46 default: return "unknown";
lbajardsilogic@79 47 }
lbajardsilogic@79 48 }
lbajardsilogic@79 49
lbajardsilogic@79 50 RealTimeFilterFactory::FilterType RealTimeFilterFactory::getFilterType(QString strType)
lbajardsilogic@79 51 {
lbajardsilogic@82 52 if (strType == "Pitch-Time Stretching") {
lbajardsilogic@79 53 return TimeStretch;
lbajardsilogic@79 54 }
lbajardsilogic@79 55 else
lbajardsilogic@79 56 {
lbajardsilogic@79 57 return UnknownFilter;
lbajardsilogic@79 58 }
lbajardsilogic@79 59 }
lbajardsilogic@79 60
lbajardsilogic@79 61 Filter * RealTimeFilterFactory::createFilter(FilterType type)
lbajardsilogic@79 62 {
lbajardsilogic@79 63 Filter *filter = 0;
lbajardsilogic@79 64
lbajardsilogic@79 65 switch (type) {
lbajardsilogic@79 66
lbajardsilogic@79 67 case TimeStretch:
lbajardsilogic@79 68 filter = new TimeStretchFilter;
lbajardsilogic@79 69 break;
lbajardsilogic@79 70
lbajardsilogic@79 71 default: break;
lbajardsilogic@79 72 }
lbajardsilogic@79 73
lbajardsilogic@79 74 if (!filter) {
lbajardsilogic@79 75 std::cerr << "RealTimeFilterFactory::createFilter: Unknown filter type " << type << std::endl;
lbajardsilogic@79 76 } else {
lbajardsilogic@79 77 filter->setObjectName(getFilterLabel(type));
lbajardsilogic@79 78 }
lbajardsilogic@79 79
lbajardsilogic@79 80 return filter;
lbajardsilogic@79 81 }