changeset 136:de8bd6cd96c1

send the correct playspeed factor to the mainwindow when the filter is desactivated
author lbajardsilogic
date Fri, 09 Nov 2007 10:31:49 +0000
parents 9750e9c39e94
children 78b56ed1031e
files sv/filter/TimeStretchFilter.cpp sv/filter/TimeStretchFilter.h sv/main/MainWindow.cpp
diffstat 3 files changed, 45 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/sv/filter/TimeStretchFilter.cpp	Fri Nov 09 09:57:22 2007 +0000
+++ b/sv/filter/TimeStretchFilter.cpp	Fri Nov 09 10:31:49 2007 +0000
@@ -235,7 +235,8 @@
 		if(value == 0){
 			hopfactor=1;
 		}
-		emit playSpeedChanged(hopfactor);
+		if ((!m_bypass) && (isFilterEnabled()))
+			emit playSpeedChanged(hopfactor);
 
 	} else if (name == "Pitch") {
 		if (value > 0){
@@ -248,7 +249,17 @@
 			m_interpfactor=1;
 		}
 	} else if (name == "Bypass"){
-		m_bypass = (value > 0) ? true : false;
+		if (value > 0)
+		{
+			m_bypass = true;
+			if (isFilterEnabled())
+				emit playSpeedChanged(1);
+		} else 
+		{
+			m_bypass = false;
+			if (isFilterEnabled())
+				emit playSpeedChanged(hopfactor);
+		}
 	} else if (name == "Transdetect"){
 		m_transcheck = (value > 0) ? true : false;
 	} else if (name == "Peaklock"){
@@ -427,4 +438,30 @@
 			currentposition += m_hop;
 	}
 	return skip;
-}
\ No newline at end of file
+}
+
+void TimeStretchFilter::setFilterEnabled(bool b){
+	filterEnabled=b;
+	emit filterEnableChanged(b);
+
+	if (filterEnabled)
+	{
+		if (!m_bypass)
+			emit playSpeedChanged(hopfactor);
+	}
+	else 
+		emit playSpeedChanged(1);
+}
+
+void TimeStretchFilter::setFilterEnabled(int b){
+	filterEnabled=b;
+	emit filterEnableChanged(b);
+
+	if (filterEnabled)
+	{
+		if (!m_bypass)
+			emit playSpeedChanged(hopfactor);
+	}
+	else 
+		emit playSpeedChanged(1);
+}
--- a/sv/filter/TimeStretchFilter.h	Fri Nov 09 09:57:22 2007 +0000
+++ b/sv/filter/TimeStretchFilter.h	Fri Nov 09 10:31:49 2007 +0000
@@ -43,6 +43,10 @@
 signals: 
 	void playSpeedChanged(float);
 
+public slots :
+	void setFilterEnabled(bool b);
+	void setFilterEnabled(int b);
+
 protected:
 
 	bool m_bypass;
--- a/sv/main/MainWindow.cpp	Fri Nov 09 09:57:22 2007 +0000
+++ b/sv/main/MainWindow.cpp	Fri Nov 09 10:31:49 2007 +0000
@@ -4064,6 +4064,7 @@
 	*/
 	m_playSpeedVal = value;
 
+	std::cerr << "m_playSpeedVal : " << m_playSpeedVal << std::endl;
 }
 
 /*void