annotate sv/filter/TimeStretchFilter.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 8bdfbd9ad418
children
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@201 7 Integration of the filter provided by:
lbajardsilogic@201 8 Dublin Institute of Technology - Audio Research Group 2007
lbajardsilogic@201 9 www.audioresearchgroup.com
lbajardsilogic@201 10 Author: Dan Barry
lbajardsilogic@201 11
lbajardsilogic@79 12 This program is free software; you can redistribute it and/or
lbajardsilogic@79 13 modify it under the terms of the GNU General Public License as
lbajardsilogic@79 14 published by the Free Software Foundation; either version 2 of the
lbajardsilogic@79 15 License, or (at your option) any later version. See the file
lbajardsilogic@79 16 COPYING included with this distribution for more information.
lbajardsilogic@79 17 */
lbajardsilogic@79 18
lbajardsilogic@79 19 #ifndef _TIME_STRETCH_FILTER_H_
lbajardsilogic@79 20 #define _TIME_STRETCH_FILTER_H_
lbajardsilogic@79 21
lbajardsilogic@223 22 #include "base/PropertyContainer.h"
lbajardsilogic@79 23
benoitrigolleau@280 24 /*Hot Fixe*/
benoitrigolleau@280 25 extern bool freeze;
benoitrigolleau@280 26 /**********/
benoitrigolleau@280 27
benoitrigolleau@280 28
lbajardsilogic@223 29 class TimeStretchFilter : public PropertyContainer
lbajardsilogic@79 30 {
lbajardsilogic@79 31 Q_OBJECT
lbajardsilogic@79 32
lbajardsilogic@79 33 public:
lbajardsilogic@79 34 TimeStretchFilter();
lbajardsilogic@79 35 virtual ~TimeStretchFilter();
lbajardsilogic@79 36
lbajardsilogic@223 37 virtual QString getPropertyContainerIconName() const {return "";}
lbajardsilogic@223 38
lbajardsilogic@206 39 virtual QString getPropertyContainerName() const {return "Time and Pitch filter";}
lbajardsilogic@206 40
lbajardsilogic@79 41 virtual PropertyList getProperties() const;
lbajardsilogic@79 42 virtual QString getPropertyLabel(const PropertyName &) const;
lbajardsilogic@79 43 virtual PropertyType getPropertyType(const PropertyName &) const;
lbajardsilogic@79 44 virtual int getPropertyRangeAndValue(const PropertyName &,
lbajardsilogic@79 45 int *min, int *max, int *deflt) const;
lbajardsilogic@79 46 virtual QString getPropertyValueLabel(const PropertyName &,
lbajardsilogic@79 47 int value) const;
lbajardsilogic@79 48
lbajardsilogic@79 49 virtual void setProperty(const PropertyName &, int value);
lbajardsilogic@79 50
lbajardsilogic@223 51 inline float getPitchFactor() {return m_interpfactor;}
lbajardsilogic@223 52 inline float getMaxPitchFactor() {return m_pmaxfactor;}
lbajardsilogic@79 53
lbajardsilogic@223 54 inline bool bypass() {return !m_enabled;}
lbajardsilogic@223 55 inline bool transcheck() {return m_transcheck;}
lbajardsilogic@223 56 inline bool peakcheck() {return m_peakcheck;}
benoitrigolleau@276 57
benoitrigolleau@278 58 inline bool isFreezed() {return m_freezecheck;}
lbajardsilogic@181 59
lbajardsilogic@225 60 inline bool isEnabled() {return m_enabled;}
lbajardsilogic@225 61
lbajardsilogic@127 62 signals:
lbajardsilogic@127 63 void playSpeedChanged(float);
lbajardsilogic@223 64 void filterEnabled(bool);
lbajardsilogic@127 65
lbajardsilogic@136 66 public slots :
lbajardsilogic@136 67 void setFilterEnabled(bool b);
lbajardsilogic@136 68 void setFilterEnabled(int b);
lbajardsilogic@136 69
lbajardsilogic@79 70 protected:
lbajardsilogic@79 71
lbajardsilogic@225 72 bool m_enabled;
lbajardsilogic@225 73
lbajardsilogic@79 74 bool m_transcheck;
lbajardsilogic@79 75 bool m_peakcheck;
benoitrigolleau@276 76 bool m_freezecheck;
lbajardsilogic@79 77
lbajardsilogic@111 78 float m_tmaxfactor;
lbajardsilogic@111 79 float m_pmaxfactor;
lbajardsilogic@79 80
lbajardsilogic@82 81 float m_interpfactor;
lbajardsilogic@79 82
lbajardsilogic@79 83 };
lbajardsilogic@79 84
lbajardsilogic@79 85 #endif