changeset 230:3c473495403f

add a master bypass if the MultiRealTimeFilter
author lbajardsilogic
date Wed, 05 Mar 2008 16:03:05 +0000
parents 7d5d51145b81
children fd17abdbef2d
files sv/filter/MultiRealTimeFilter.cpp
diffstat 1 files changed, 21 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/sv/filter/MultiRealTimeFilter.cpp	Wed Mar 05 14:08:57 2008 +0000
+++ b/sv/filter/MultiRealTimeFilter.cpp	Wed Mar 05 16:03:05 2008 +0000
@@ -329,14 +329,13 @@
 			
 			L_processedframe[i] = L_audioframe[i]*window[i];
 			R_processedframe[i] = R_audioframe[i]*window[i];
-			
 		}
 	}
 	
 	FFTReal fft_object(m_framesize);
 			
-	if (m_timeStretchFilter->bypass() == false)//DAN This bypass would stop all processing...need to replace this with a master bypass instead of just timestretch bypass
-	//if (filterEnabled)
+	//if (m_timeStretchFilter->bypass() == false)//DAN This bypass would stop all processing...need to replace this with a master bypass instead of just timestretch bypass
+	if (filterEnabled)
 	{ 
 		
 		//CURRENT FRAME LEFT AND RIGHT TIME 2 FREQUENCY ***** THIS IS REQUIRED BY ALL PROCESSES	
@@ -346,6 +345,7 @@
 		cart2pol(L_FFTframe, L_mags, L_phase, m_framesize);
 		cart2pol(R_FFTframe, R_mags, R_phase, m_framesize);
 
+
 		//CURRENT FRAME LEFT AND RIGHT TIME 2 FREQUENCY ***** THIS IS REQUIRED BY ALL PROCESSES	
 		fft_object.do_fft (L_FFTframe,pL_audioframe);
 		fft_object.do_fft (R_FFTframe,pR_audioframe);
@@ -427,23 +427,35 @@
 			if(m_transhold != 0){
 				m_transhold = m_transhold - 1;
 			}
+
+			drum = 0;
+
+			pol2cart(L_FFTframe, L_mags, cL_synthphase, m_framesize);
+			pol2cart(R_FFTframe, R_mags, cR_synthphase, m_framesize);
+		
+		} else
+		{
+			pol2cart(L_FFTframe, L_mags, L_phase, m_framesize);
+			pol2cart(R_FFTframe, R_mags, R_phase, m_framesize);
 		}
-	
-		drum = 0;
-		
-		
 		
 		// INVERSE FFTS REQUIRED BY ALL PROCESSES	
-		pol2cart(L_FFTframe, L_mags, cL_synthphase, m_framesize);
+		/*pol2cart(L_FFTframe, L_mags, cL_synthphase, m_framesize);
 		pol2cart(R_FFTframe, R_mags, cR_synthphase, m_framesize);
 	
 		fft_object.do_ifft (L_FFTframe,L_processedframe);
 		fft_object.do_ifft (R_FFTframe,R_processedframe);
 		fft_object.rescale (L_processedframe); 
 		fft_object.rescale (R_processedframe);
+		*/
 		
+		fft_object.do_ifft (L_FFTframe,L_processedframe);
+		fft_object.do_ifft (R_FFTframe,R_processedframe);
 		
-	}
+		fft_object.rescale (L_processedframe); 
+		fft_object.rescale (R_processedframe);		
+		
+	} 
 
 	for (int p = 0; p < ((int) m_framesize); p++){
 		L_processedframe[p]=L_processedframe[p]*window[p];