Exemple #1
0
static void init(state_t* state)
{
    state->color = (color_t) {0.0, 0.0, 0.0, 0.0};
    freq_init(&state->freq_state, 0.5, 0);
    state->type = OSC_SINE;
    state->last_t = 0;
    state->kx = 1.0;
    state->ky = 1.0;
    state->rho = 0.5;
}
Exemple #2
0
int num_to_freq(int n, unsigned int *f) {
    
    freq_init();
	
	if (f != NULL && n>=0 && n<32) {
		
		//*f =  (unsigned int)floor(BB_BASEFREQUENCY * pow(BB_SEMITONE, n));
		*f =  (unsigned int)floor(frequencies[n]);
        
        
		return 0;
	}
	
	return -1;
}
Exemple #3
0
int freq_to_num(unsigned int f, int *n) {
	
    /*
     frequencies[0] = (unsigned int)floor(BB_BASEFREQUENCY * pow(BB_SEMITONE, 0));
     frequencies[31] = (unsigned int)floor(BB_BASEFREQUENCY * pow(BB_SEMITONE, 31));
     
     
     if (n != NULL &&
     f >= frequencies[0]-BB_THRESHOLD*pow(BB_SEMITONE, 0) &&
     f <= frequencies[31]+BB_THRESHOLD*pow(BB_SEMITONE, 31)) {
     
     unsigned int i;
     
     for (i=0; i<32; i++) {
     
     unsigned int freq = (unsigned int)floor(BB_BASEFREQUENCY * pow(BB_SEMITONE, i));
     frequencies[i] = freq;
     
     if (abs(frequencies[i] - f) <= BB_THRESHOLD*pow(BB_SEMITONE, i)) {
     //if (abs(frequencies[i] - f) <= BB_THRESHOLD) {
     *n = i;
     return 0;
     }
     }
     }
     */
    
    freq_init();
    
    
    if (n != NULL &&
        f >= frequencies[0]-BB_THRESHOLD &&
        f <= frequencies[31]+BB_THRESHOLD) {
        
        unsigned int i;
        
        for (i=0; i<32; i++) {
            
            if (abs(frequencies[i] - f) <= BB_THRESHOLD) {
                
                *n = i;
                return 0;
            }
        }
    }
    
	
    /*
     if (n!=NULL && f>freq_range[0].start && f<freq_range[31].end) {
     
     unsigned int i;
     
     for (i=0; i<32; i++) {
     
     if (f>freq_range[i].start && f<freq_range[i].end) {
     
     *n = i;
     return 0;
     }
     }
     }
     */
	
	return -1;
}