Mercurial > hg > easaier-soundaccess
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;