[PD-cvs] externals/grill/xsample/source record.cpp,1.13,1.14

xovo at users.sourceforge.net xovo at users.sourceforge.net
Wed Nov 19 04:37:42 CET 2003


Update of /cvsroot/pure-data/externals/grill/xsample/source
In directory sc8-pr-cvs1:/tmp/cvs-serv9156/source

Modified Files:
	record.cpp 
Log Message:
 ""

Index: record.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/xsample/source/record.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** record.cpp	3 Oct 2003 02:37:22 -0000	1.13
--- record.cpp	19 Nov 2003 03:37:40 -0000	1.14
***************
*** 336,385 ****
  					// don't append
  					switch(mixmode) {
!                     case 0: 
! 						for(i = 0; i < ncur; ++i,++si) {	
! 							if(*(on++) >= 0)
! 							{ 	
! 								for(int ci = 0; ci < ICHNS; ++ci)
! 									bf[ci] = sig[ci][si];	
! 								bf += BCHNS;
! 								*(pos++) = p,p += pf,++o;
! 							}
! 							else {
! 								*(pos++) = p = scale(o = 0);
! 								bf = buf->Data();
! 							}
! 						}
!                         break;
!                     case 1:
! 						for(i = 0; i < ncur; ++i,++si) {	
! 							register const S g = *(on++);
! 							if(g >= 0) {
! 								for(int ci = 0; ci < ICHNS; ++ci)
! 									bf[ci] = bf[ci]*(1.-g)+sig[ci][si]*g;
! 								bf += BCHNS;
! 								*(pos++) = p,p += pf,++o;
! 							}
! 							else {
! 								*(pos++) = p = scale(o = 0);
! 								bf = buf->Data();
! 							}
! 						}
!                         break;
!                     case 2:
! 						for(i = 0; i < ncur; ++i,++si) {	
! 							if(*(on++) >= 0)
! 							{ 	
! 								for(int ci = 0; ci < ICHNS; ++ci)
! 									bf[ci] += sig[ci][si];	
! 								bf += BCHNS;
! 								*(pos++) = p,p += pf,++o;
! 							}
! 							else {
! 								*(pos++) = p = scale(o = 0);
! 								bf = buf->Data();
! 							}
! 						}
!                         break;
! 					}
  				}
  			}
--- 336,388 ----
  					// don't append
  					switch(mixmode) {
!                         case 0: {
! 						    for(i = 0; i < ncur; ++i,++si) {	
! 							    if(*(on++) >= 0)
! 							    { 	
! 								    for(int ci = 0; ci < ICHNS; ++ci)
! 									    bf[ci] = sig[ci][si];	
! 								    bf += BCHNS;
! 								    *(pos++) = p,p += pf,++o;
! 							    }
! 							    else {
! 								    *(pos++) = p = scale(o = 0);
! 								    bf = buf->Data();
! 							    }
! 						    }
!                             break;
!                         }
!                         case 1: {
! 						    for(i = 0; i < ncur; ++i,++si) {	
! 							    register const S g = *(on++);
! 							    if(g >= 0) {
! 								    for(int ci = 0; ci < ICHNS; ++ci)
! 									    bf[ci] = bf[ci]*(1.-g)+sig[ci][si]*g;
! 								    bf += BCHNS;
! 								    *(pos++) = p,p += pf,++o;
! 							    }
! 							    else {
! 								    *(pos++) = p = scale(o = 0);
! 								    bf = buf->Data();
! 							    }
! 						    }
!                             break;
!                         }
!                         case 2: {
! 						    for(i = 0; i < ncur; ++i,++si) {	
! 							    if(*(on++) >= 0)
! 							    { 	
! 								    for(int ci = 0; ci < ICHNS; ++ci)
! 									    bf[ci] += sig[ci][si];	
! 								    bf += BCHNS;
! 								    *(pos++) = p,p += pf,++o;
! 							    }
! 							    else {
! 								    *(pos++) = p = scale(o = 0);
! 								    bf = buf->Data();
! 							    }
! 						    }
!                             break;
! 					    }
!                     }
  				}
  			}
***************
*** 389,416 ****
  				// Altivec optimization for that!
  				switch(mixmode) {
!                 case 0:
! 					for(int ci = 0; ci < ICHNS; ++ci) {	
! 						register S *b = bf+ci;
! 						register const F *s = sig[ci];
! 						for(i = 0; i < ncur; ++i,b += BCHNS,++s) *b = *s;	
! 					}
! 					si += ncur;
!                     break;
!                 case 1:
! 					for(i = 0; i < ncur; ++i,++si) {	
! 						register const S w = *(on++);
! 						for(int ci = 0; ci < ICHNS; ++ci)
! 							bf[ci] = bf[ci]*(1.-w)+sig[ci][si]*w;
! 						bf += BCHNS;
! 					}
!                     break;
!                 case 2:
! 					for(int ci = 0; ci < ICHNS; ++ci) {	
! 						register S *b = bf+ci;
! 						register const F *s = sig[ci];
! 						for(i = 0; i < ncur; ++i,b += BCHNS,++s) *b += *s;	
! 					}
! 					si += ncur;
!                     break;
  				}
  
--- 392,422 ----
  				// Altivec optimization for that!
  				switch(mixmode) {
!                     case 0: {
! 					    for(int ci = 0; ci < ICHNS; ++ci) {	
! 						    register S *b = bf+ci;
! 						    register const F *s = sig[ci];
! 						    for(i = 0; i < ncur; ++i,b += BCHNS,++s) *b = *s;	
! 					    }
! 					    si += ncur;
!                         break;
!                     }
!                     case 1: {
! 					    for(i = 0; i < ncur; ++i,++si) {	
! 						    register const S w = *(on++);
! 						    for(int ci = 0; ci < ICHNS; ++ci)
! 							    bf[ci] = bf[ci]*(1.-w)+sig[ci][si]*w;
! 						    bf += BCHNS;
! 					    }
!                         break;
!                     }
!                     case 2: {
! 					    for(int ci = 0; ci < ICHNS; ++ci) {	
! 						    register S *b = bf+ci;
! 						    register const F *s = sig[ci];
! 						    for(i = 0; i < ncur; ++i,b += BCHNS,++s) *b += *s;	
! 					    }
! 					    si += ncur;
!                         break;
!                     }
  				}
  






More information about the Pd-cvs mailing list