|  | @@ -428,20 +428,20 @@ int IDN_QuantizeVisit(laSynthNodeQuantize* n, laNodeVisitInfo* vi){
 | 
	
		
			
				|  |  |      LA_ADD_THIS_NODE(n,vi);
 | 
	
		
			
				|  |  |      return LA_DAG_FLAG_PERM;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -static const real QTABLE[12]={ VAL13, VAL13+VALHALF, VAL13+VALHALF*2, VAL13+VALHALF*3,
 | 
	
		
			
				|  |  | -    VAL13+VALHALF*4, VAL13+VALHALF*5, VAL13+VALHALF*6, VAL13+VALHALF*7,
 | 
	
		
			
				|  |  | -    VAL13+VALHALF*8, VAL13+VALHALF*9, VAL13+VALHALF*10, VAL13+VALHALF*11 };
 | 
	
		
			
				|  |  | +static const real QTABLE[12]={ VAL13-VALHALF*9, VAL13-VALHALF*8, VAL13-VALHALF*7, VAL13-VALHALF*6,
 | 
	
		
			
				|  |  | +    VAL13-VALHALF*5, VAL13-VALHALF*4, VAL13-VALHALF*3, VAL13-VALHALF*2,
 | 
	
		
			
				|  |  | +    VAL13-VALHALF*1, VAL13, VAL13+VALHALF*1, VAL13+VALHALF*2 };
 | 
	
		
			
				|  |  |  static void set_quantize_out_bit(laSynthNodeQuantize* n, int which){
 | 
	
		
			
				|  |  |      for(int i=0;i<12;i++){
 | 
	
		
			
				|  |  |          if(n->EnabledBits[i]){ n->EnabledBits[i]=1; }
 | 
	
		
			
				|  |  |          if(i==which && n->EnabledBits){ n->EnabledBits[i]=3; }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | -int IDN_QuantizeEval(laSynthNodeQuantize* n){ real cv0=VAL440; LA_GET_SRC_AS_VALUE(cv0, n->In);
 | 
	
		
			
				|  |  | +int IDN_QuantizeEval(laSynthNodeQuantize* n){ real cv0=QTABLE[0]+5; /*C4*/ LA_GET_SRC_AS_VALUE(cv0, n->In);
 | 
	
		
			
				|  |  |      real* cv; INPUTPACKET(cv,n->In); real dists[12];
 | 
	
		
			
				|  |  |      for(int i=0;i<LA_SYNTH_PLEN;i++){
 | 
	
		
			
				|  |  | +        int octave = (int)(cv0-QTABLE[0]); int minkey=0;
 | 
	
		
			
				|  |  |          if(cv){ cv0=cv[i]; }
 | 
	
		
			
				|  |  | -        int octave = (int)(cv0-VAL13); int minkey=0;
 | 
	
		
			
				|  |  |          real use_cv = cv0 - octave;
 | 
	
		
			
				|  |  |          for(int j=0;j<12;j++){ dists[j] = fabs(use_cv - QTABLE[j]); }
 | 
	
		
			
				|  |  |          for(int j=1;j<12;j++){ if(n->EnabledBits[j] && dists[j] < dists[minkey]){ minkey=j; } }
 |