[PD-cvs] externals/frankenstein common.c, 1.14, 1.15 common.h, 1.12, 1.13 rhythms_memory.c, 1.4, 1.5

dmorelli morellid at users.sourceforge.net
Thu Dec 22 01:58:41 CET 2005


Update of /cvsroot/pure-data/externals/frankenstein
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2921

Modified Files:
	common.c common.h rhythms_memory.c 
Log Message:
dummy rhythms_memory working, still buggy

Index: rhythms_memory.c
===================================================================
RCS file: /cvsroot/pure-data/externals/frankenstein/rhythms_memory.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** rhythms_memory.c	8 Dec 2005 16:31:10 -0000	1.4
--- rhythms_memory.c	22 Dec 2005 00:58:39 -0000	1.5
***************
*** 121,144 ****
  	x->events = 0;
  
! 	// now I evaluate this rhythm with the memory
! 	rhythm_memory_evaluate(x->rhythms_memory, x->curr_seq, &is_it_a_new_rhythm,
! 							&id, &subid, &root_closeness, &sub_closeness);
! 	// tell out the answer
! 	// allocate space for the list
! 	lista = (t_atom *) malloc(sizeof(t_atom) * 5);
! 	SETFLOAT(lista, (float) is_it_a_new_rhythm);
! 	SETFLOAT(lista+1, (float) id);
! 	SETFLOAT(lista+2, (float) subid);
! 	SETFLOAT(lista+3, (float) root_closeness);
! 	SETFLOAT(lista+4, (float) sub_closeness);
! 	outlet_anything(x->l_out,
!                      gensym("list") ,
! 					 5, 
! 					 lista);
! 	free(lista);
! 	freeBeats(x->curr_seq);
! 	x->seq_initialized = 0;
! 	x->curr_seq = 0;
! 
  	// also start the new measure!
  	start_measure(x);
--- 121,146 ----
  	x->events = 0;
  
! 	if (x->curr_seq)
! 	{
! 		// now I evaluate this rhythm with the memory
! 		rhythm_memory_evaluate(x->rhythms_memory, x->curr_seq, &is_it_a_new_rhythm,
! 								&id, &subid, &root_closeness, &sub_closeness);
! 		// tell out the answer
! 		// allocate space for the list
! 		lista = (t_atom *) malloc(sizeof(t_atom) * 5);
! 		SETFLOAT(lista, (float) is_it_a_new_rhythm);
! 		SETFLOAT(lista+1, (float) id);
! 		SETFLOAT(lista+2, (float) subid);
! 		SETFLOAT(lista+3, (float) root_closeness);
! 		SETFLOAT(lista+4, (float) sub_closeness);
! 		outlet_anything(x->l_out,
! 						gensym("list") ,
! 						5, 
! 						lista);
! 		free(lista);
! 		// rhythm_memory_evaluate freed the memory for the rhythm if needed
! 		x->seq_initialized = 0;
! 		x->curr_seq = 0;
! 	}
  	// also start the new measure!
  	start_measure(x);
***************
*** 183,187 ****
  	time_t a;
      t_rhythms_memory *x = (t_rhythms_memory *)pd_new(rhythms_memory_class);
! 	x->l_out = outlet_new(&x->x_obj, &s_list);
  	
  	x->seq_initialized = 0;
--- 185,190 ----
  	time_t a;
      t_rhythms_memory *x = (t_rhythms_memory *)pd_new(rhythms_memory_class);
! 	//x->l_out = outlet_new(&x->x_obj, &s_list);
! 	x->l_out = outlet_new(&x->x_obj, "symbol");
  	
  	x->seq_initialized = 0;

Index: common.h
===================================================================
RCS file: /cvsroot/pure-data/externals/frankenstein/common.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** common.h	6 Dec 2005 18:09:59 -0000	1.12
--- common.h	22 Dec 2005 00:58:39 -0000	1.13
***************
*** 20,25 ****
  typedef struct t_duration
  {
! 	int numerator; // like in music notation: in a 1/4 note the numerator is 1
! 	int denominator; // like in music notation: in a 1/4 note the denominator is 4
  };
  struct t_note_event
--- 20,25 ----
  typedef struct t_duration
  {
! 	unsigned short int numerator; // like in music notation: in a 1/4 note the numerator is 1
! 	unsigned short int denominator; // like in music notation: in a 1/4 note the denominator is 4
  };
  struct t_note_event

Index: common.c
===================================================================
RCS file: /cvsroot/pure-data/externals/frankenstein/common.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** common.c	8 Dec 2005 01:29:55 -0000	1.14
--- common.c	22 Dec 2005 00:58:38 -0000	1.15
***************
*** 119,123 ****
  	newElement->start.denominator = res.denominator;
  	*firstEvent = newElement;
! 	post("DEBUG setFirstBeat: %i %i", res.numerator, res.denominator);
  }
  
--- 119,123 ----
  	newElement->start.denominator = res.denominator;
  	*firstEvent = newElement;
! 	//post("DEBUG setFirstBeat: %i %i", res.numerator, res.denominator);
  }
  
***************
*** 143,147 ****
  	newElement->start.numerator = res.numerator;
  	newElement->start.denominator = res.denominator;
! 	post("DEBUG concatenateBeat: %i %i", res.numerator, res.denominator);
  }
  
--- 143,147 ----
  	newElement->start.numerator = res.numerator;
  	newElement->start.denominator = res.denominator;
! 	//post("DEBUG concatenateBeat: %i %i", res.numerator, res.denominator);
  }
  
***************
*** 166,169 ****
--- 166,170 ----
  		free(prev);
  	} 
+ 	currentEvent = 0;
  
  }
***************
*** 298,302 ****
  			// a new champion!
  			this_rep->max_weight = this_rep->transitions[i].weight;
! 			post("DEBUG: max_weight=%i", this_rep->max_weight);
  		}
  		last = i;
--- 299,303 ----
  			// a new champion!
  			this_rep->max_weight = this_rep->transitions[i].weight;
! 			//post("DEBUG: max_weight=%i", this_rep->max_weight);
  		}
  		last = i;
***************
*** 427,431 ****
  			this_weight_int = this_rep->transitions[i].weight;
  			this_weight_float = (float) (((float) this_weight_int) / ((float) this_rep->max_weight));
! 			post("DEBUG: transition %i this_weight_int=%i max_weight=%i this_weight_float=%f", i, this_weight_int, this_rep->max_weight, this_weight_float);
  			if (this_weight_float > min_to_be_main_rhythm_beat)
  			{
--- 428,432 ----
  			this_weight_int = this_rep->transitions[i].weight;
  			this_weight_float = (float) (((float) this_weight_int) / ((float) this_rep->max_weight));
! 			//post("DEBUG: transition %i this_weight_int=%i max_weight=%i this_weight_float=%f", i, this_weight_int, this_rep->max_weight, this_weight_float);
  			if (this_weight_float > min_to_be_main_rhythm_beat)
  			{
***************
*** 435,444 ****
  					// both playing
  					strong_ok++;
! 					post("DEBUG: beat %i, both playing", i);
  				} else
  				{
  					// strong beat miss
  					strong_no++;
! 					post("DEBUG: beat %i, src not playing", i);
  				}
  				count_strong++;
--- 436,445 ----
  					// both playing
  					strong_ok++;
! 					//post("DEBUG: beat %i, both playing", i);
  				} else
  				{
  					// strong beat miss
  					strong_no++;
! 					//post("DEBUG: beat %i, src not playing", i);
  				}
  				count_strong++;
***************
*** 464,468 ****
  		strong_ratio = (float) ( ( ((float) strong_ok) / ((float)count_strong) ) -
  			( ((float) strong_no) / ((float)count_strong) )) ;
! 		post("DEBUG: strong_ratio=%f", strong_ratio);
  	}
  	// for each rhythm in the list
--- 465,469 ----
  		strong_ratio = (float) ( ( ((float) strong_ok) / ((float)count_strong) ) -
  			( ((float) strong_no) / ((float)count_strong) )) ;
! 		//post("DEBUG: strong_ratio=%f", strong_ratio);
  	}
  	// for each rhythm in the list
***************
*** 625,628 ****
--- 626,631 ----
  			*sub_id = sub_id_found;
  			*sub_closeness = sub_closeness_found;
+ 			//only in this case free the memory allocated for the rhythm
+ 			freeBeats(src_rhythm);
  		} else
  		{
***************
*** 647,651 ****
  			*sub_closeness = sub_closeness_found;
  			*new_rhythm = 2;
! 			post("DEBUG: new subrhythm");
  		}
  	} else
--- 650,654 ----
  			*sub_closeness = sub_closeness_found;
  			*new_rhythm = 2;
! 			//post("DEBUG: new subrhythm");
  		}
  	} else
***************
*** 675,679 ****
  		*root_closeness = 1;
  		*new_rhythm = 1;
! 		post("DEBUG: new rhythm");
  	}
  
--- 678,682 ----
  		*root_closeness = 1;
  		*new_rhythm = 1;
! 		//post("DEBUG: new rhythm");
  	}
  





More information about the Pd-cvs mailing list