[PD-cvs] externals/nusmuk/msd 02_imsdtest.pd, 1.2, 1.3 03_msdwave.pd, 1.1, 1.2 main.cpp, 1.6, 1.7

Nicolas Montgermont nimon at users.sourceforge.net
Tue Apr 26 18:10:09 CEST 2005


Update of /cvsroot/pure-data/externals/nusmuk/msd
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13192/msd

Modified Files:
	02_imsdtest.pd 03_msdwave.pd main.cpp 
Log Message:
MSD Version 0.04


Index: main.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/nusmuk/msd/main.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** main.cpp	26 Apr 2005 11:39:49 -0000	1.6
--- main.cpp	26 Apr 2005 16:10:07 -0000	1.7
***************
*** 31,35 ****
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
!  Version 0.03 -- 21.04.2005
  */
  
--- 31,35 ----
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  
!  Version 0.04 -- 26.04.2005
  */
  
***************
*** 39,43 ****
  
  // define constants
! #define MSD_VERSION  0.03
  #define nb_max_link   4000
  #define nb_max_mass   4000
--- 39,43 ----
  
  // define constants
! #define MSD_VERSION  0.04
  #define nb_max_link   4000
  #define nb_max_mass   4000
***************
*** 136,140 ****
  		t_int i;
  		struct _mass mass_1, mass_2;
! 	
  		for (i=0; i<nb_link; i++)	{
  		// compute link forces
--- 136,142 ----
  		t_int i;
  		struct _mass mass_1, mass_2;
! 
! 
! 
  		for (i=0; i<nb_link; i++)	{
  		// compute link forces
***************
*** 155,162 ****
  				link[i]->mass2->forceX -= link[i]->D2*link[i]->mass2->speedX; 	// Fx2[n] = Fx2[n] - D2 * vx2[n-1]
  				link[i]->distance_old = distance;				// L[n-1] = L[n]			
- 			
- 			
  		}
  
  		for (i=0; i<nb_mass; i++)
  		// compute new masses position only if mobile = 1
--- 157,164 ----
  				link[i]->mass2->forceX -= link[i]->D2*link[i]->mass2->speedX; 	// Fx2[n] = Fx2[n] - D2 * vx2[n-1]
  				link[i]->distance_old = distance;				// L[n-1] = L[n]			
  		}
  
+ 
+ 
  		for (i=0; i<nb_mass; i++)
  		// compute new masses position only if mobile = 1
***************
*** 199,203 ****
  		mass[nb_mass]->forceX = 0;			// Fx[n]
  		mass[nb_mass]->nbr = id_mass;			// id number
! 		nb_mass++ ;
  		id_mass++;
  		nb_mass = min ( nb_max_mass -1, nb_mass );
--- 201,205 ----
  		mass[nb_mass]->forceX = 0;			// Fx[n]
  		mass[nb_mass]->nbr = id_mass;			// id number
! 		nb_mass++;
  		id_mass++;
  		nb_mass = min ( nb_max_mass -1, nb_mass );
***************
*** 351,399 ****
  		t_atom sortie[7], aux[2];
  		t_int i;
  
! 		if (argc < 6 || argc > 8)
! 			error("link : Id Nomass1 Nomass2 K D1 D2 (Lmin Lmax)");
! 		link[nb_link] = new t_link;			// New pointer
! 		link[nb_link]->Id = GetSymbol(argv[0]);		// ID
! 		for (i=0; i<nb_mass;i++)
! 			if (mass[i]->nbr==GetAInt(argv[1]))	// pointer to mass1
! 				link[nb_link]->mass1 = mass[i];
! 			else if(mass[i]->nbr==GetAInt(argv[2]))	// pointer to mass2
! 				link[nb_link]->mass2 = mass[i];
! 		link[nb_link]->K1 = GetFloat(argv[3]);		// K1
! 		link[nb_link]->D1 = GetFloat(argv[4]);		// D1
! 		link[nb_link]->D2 = GetFloat(argv[5]);		// D2
! 		link[nb_link]->longx = link[nb_link]->mass1->posX - link[nb_link]->mass2->posX;	// Lx[0]
! 		if (link[nb_link]->longx < 0)
! 			link[nb_link]->longueur = -link[nb_link]->longx;
! 		else
! 			link[nb_link]->longueur = link[nb_link]->longx ;// L[0]
! 		link[nb_link]->nbr = id_link;			// id number
! 		link[nb_link]->distance_old = link[nb_link]->longueur;	// L[n-1]
! 		switch (argc)	{
! 			case 6 :	
! 				link[nb_link]->long_max = 32768;
! 				link[nb_link]->long_min = 0;
! 				break;
! 			case 7 :	
! 				link[nb_link]->long_min = GetFloat(argv[6]);
! 				link[nb_link]->long_max = 32768;
! 				break;
! 			case 8 :	
! 				link[nb_link]->long_min = GetFloat(argv[6]);
! 				link[nb_link]->long_max = GetFloat(argv[7]);
! 				break;	
! 		}
! 		nb_link++;
! 		id_link++;
! 		nb_link = min ( nb_max_link -1, nb_link );
! 		SetFloat((sortie[0]),id_link-1);
! 		SetSymbol((sortie[1]),link[nb_link-1]->Id);
! 		SetFloat((sortie[2]),GetInt(argv[1]));
! 		SetFloat((sortie[3]),GetInt(argv[2]));
! 		SetFloat((sortie[4]),link[nb_link-1]->K1);
! 		SetFloat((sortie[5]),link[nb_link-1]->D1);
! 		SetFloat((sortie[6]),link[nb_link-1]->D2);
! 		ToOutAnything(1,S_Link,7,sortie);
  	}
  
--- 353,415 ----
  		t_atom sortie[7], aux[2];
  		t_int i;
+         	t_mass *mass1 = NULL;
+         	t_mass *mass2 = NULL;
+         	
+         	if (argc < 6 || argc > 8)
+         	    error("link : Id Nomass1 Nomass2 K D1 D2 (Lmin Lmax)");
+ 			
+         	// check for existence of link masses:
+         	for (i=0; i<nb_mass;i++)
+ 				if (mass[i]->nbr==GetInt(argv[1]))	// pointer to mass1
+ 					// we found mass1
+         	        mass1 = mass[i];
+ 				else if (mass[i]->nbr==GetInt(argv[2]))	// pointer to mass2
+ 					// ... and mass2
+         	        mass2 = mass[i];
  
!         	if (mass1 and mass2)
!         	{
! 			link[nb_link] = new t_link;			// New pointer
! 			link[nb_link]->Id = GetSymbol(argv[0]);		// ID
! 			link[nb_link]->mass1 = mass1; // pointer to mass1
! 			link[nb_link]->mass2 = mass2; // pointer to mass2
! 			link[nb_link]->K1 = GetFloat(argv[3]);		// K1
! 			link[nb_link]->D1 = GetFloat(argv[4]);		// D1
! 			link[nb_link]->D2 = GetFloat(argv[5]);		// D2
! 			link[nb_link]->longx = link[nb_link]->mass1->posX - link[nb_link]->mass2->posX;	// Lx[0]
! 			if (link[nb_link]->longx < 0)
! 				link[nb_link]->longueur = -link[nb_link]->longx;
! 			else
! 				link[nb_link]->longueur = link[nb_link]->longx ;// L[0]
! 			link[nb_link]->nbr = id_link;			// id number
! 			link[nb_link]->distance_old = link[nb_link]->longueur;	// L[n-1]
! 			switch (argc)	{
! 				case 6 :	
! 					link[nb_link]->long_max = 32768;
! 					link[nb_link]->long_min = 0;
! 					break;
! 				case 7 :	
! 					link[nb_link]->long_min = GetFloat(argv[6]);
! 					link[nb_link]->long_max = 32768;
! 					break;
! 				case 8 :	
! 					link[nb_link]->long_min = GetFloat(argv[6]);
! 					link[nb_link]->long_max = GetFloat(argv[7]);
! 					break;	
! 			}
! 			nb_link++;
! 			id_link++;
! 			nb_link = min ( nb_max_link -1, nb_link );
! 			SetFloat((sortie[0]),id_link-1);
! 			SetSymbol((sortie[1]),link[nb_link-1]->Id);
! 			SetFloat((sortie[2]),GetInt(argv[1]));
! 			SetFloat((sortie[3]),GetInt(argv[2]));
! 			SetFloat((sortie[4]),link[nb_link-1]->K1);
! 			SetFloat((sortie[5]),link[nb_link-1]->D1);
! 			SetFloat((sortie[6]),link[nb_link-1]->D2);
! 			ToOutAnything(1,S_Link,7,sortie);
!         	}
!         	else
!             		error("link : Cannot create link: Not all masses for this link have been created yet.");
  	}
  
***************
*** 534,538 ****
  		t_int i,j;
  		t_symbol *auxarg,*auxarg2, *auxtype;
! 		t_atom sortie[4];
  		auxtype = GetSymbol(argv[0]);
  		auxarg = GetASymbol(argv[1]);			//auxarg : & symbol, 0 else
--- 550,554 ----
  		t_int i,j;
  		t_symbol *auxarg,*auxarg2, *auxtype;
! 		t_atom sortie[3];
  		auxtype = GetSymbol(argv[0]);
  		auxarg = GetASymbol(argv[1]);			//auxarg : & symbol, 0 else
***************
*** 541,566 ****
  			if (auxtype == S_massesPos)		// get all masses positions
  				for (i=0; i<nb_mass; i++)
! 				{		
! 					SetFloat(sortie[0],mass[i]->posX);
! 					ToOutAnything(0,S_massesPos,1,sortie);
  				}
  			else if (auxtype == S_massesForces)	// get all masses forces
  				for (i=0; i<nb_mass; i++)
  				{
! 					SetFloat(sortie[0],mass[i]->out_forceX);
! 					ToOutAnything(0,S_massesForces,1,sortie);
  				}
  			else if (auxtype == S_linksPos)		// get all links positions
  				for (i=0; i<nb_link; i++)
  				{
! 					SetFloat(sortie[0],link[i]->mass1->posX);
! 					SetFloat(sortie[1],link[i]->mass2->posX);
! 					ToOutAnything(0,S_linksPos,2,sortie);
  				}
  			else 					// get all masses speeds
  				for (i=0; i<nb_mass; i++)
  				{
! 					SetFloat(sortie[0],mass[i]->speedX);
! 					ToOutAnything(0,S_massesSpeeds,1,sortie);
  				}
  		}
--- 557,586 ----
  			if (auxtype == S_massesPos)		// get all masses positions
  				for (i=0; i<nb_mass; i++)
! 				{	
! 					SetFloat(sortie[0],mass[i]->nbr);	
! 					SetFloat(sortie[1],mass[i]->posX);
! 					ToOutAnything(0,S_massesPos,2,sortie);
  				}
  			else if (auxtype == S_massesForces)	// get all masses forces
  				for (i=0; i<nb_mass; i++)
  				{
! 					SetFloat(sortie[0],mass[i]->nbr);
! 					SetFloat(sortie[1],mass[i]->out_forceX);
! 					ToOutAnything(0,S_massesForces,2,sortie);
  				}
  			else if (auxtype == S_linksPos)		// get all links positions
  				for (i=0; i<nb_link; i++)
  				{
! 					SetFloat(sortie[0],link[i]->nbr);
! 					SetFloat(sortie[1],link[i]->mass1->posX);
! 					SetFloat(sortie[2],link[i]->mass2->posX);
! 					ToOutAnything(0,S_linksPos,3,sortie);
  				}
  			else 					// get all masses speeds
  				for (i=0; i<nb_mass; i++)
  				{
! 					SetFloat(sortie[0],mass[i]->nbr);
! 					SetFloat(sortie[1],mass[i]->speedX);
! 					ToOutAnything(0,S_massesSpeeds,2,sortie);
  				}
  		}
***************
*** 573,578 ****
  						if (mass[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],mass[i]->posX);
! 							ToOutAnything(0,S_massesPosNo,1,sortie);
  						}
  			}
--- 593,599 ----
  						if (mass[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],mass[i]->nbr);
! 							SetFloat(sortie[1],mass[i]->posX);
! 							ToOutAnything(0,S_massesPosNo,2,sortie);
  						}
  			}
***************
*** 586,591 ****
  						if (auxarg2==mass[i]->Id)
  						{
! 							SetFloat(sortie[0],mass[i]->posX);
! 							ToOutAnything(0,S_massesPosId,1,sortie);
  						}
  					}
--- 607,613 ----
  						if (auxarg2==mass[i]->Id)
  						{
! 							SetSymbol(sortie[0],mass[i]->Id);
! 							SetFloat(sortie[1],mass[i]->posX);
! 							ToOutAnything(0,S_massesPosId,2,sortie);
  						}
  					}
***************
*** 601,606 ****
  						if (mass[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],mass[i]->out_forceX);
! 							ToOutAnything(0,S_massesForcesNo,1,sortie);
  						}
  			}
--- 623,629 ----
  						if (mass[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],mass[i]->nbr);
! 							SetFloat(sortie[1],mass[i]->out_forceX);
! 							ToOutAnything(0,S_massesForcesNo,2,sortie);
  						}
  			}
***************
*** 614,619 ****
  						if (auxarg2==mass[i]->Id)
  						{
! 							SetFloat(sortie[0],mass[i]->out_forceX);
! 							ToOutAnything(0,S_massesForcesId,1,sortie);
  						}	
  					}
--- 637,643 ----
  						if (auxarg2==mass[i]->Id)
  						{
! 							SetSymbol(sortie[0],mass[i]->Id);
! 							SetFloat(sortie[1],mass[i]->out_forceX);
! 							ToOutAnything(0,S_massesForcesId,2,sortie);
  						}	
  					}
***************
*** 629,635 ****
  						if (link[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],link[i]->mass1->posX);
! 							SetFloat(sortie[1],link[i]->mass2->posX);
! 							ToOutAnything(0,S_linksPosNo,2,sortie);
  						}
  			}
--- 653,660 ----
  						if (link[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],link[i]->nbr);
! 							SetFloat(sortie[1],link[i]->mass1->posX);
! 							SetFloat(sortie[2],link[i]->mass2->posX);
! 							ToOutAnything(0,S_linksPosNo,3,sortie);
  						}
  			}
***************
*** 643,649 ****
  						if (auxarg2==link[i]->Id)
  						{
! 							SetFloat(sortie[0],link[i]->mass1->posX);
! 							SetFloat(sortie[1],link[i]->mass2->posX);
! 							ToOutAnything(0,S_linksPosId,2,sortie);
  						}
  					}
--- 668,675 ----
  						if (auxarg2==link[i]->Id)
  						{
! 							SetSymbol(sortie[0],link[i]->Id);
! 							SetFloat(sortie[1],link[i]->mass1->posX);
! 							SetFloat(sortie[2],link[i]->mass2->posX);
! 							ToOutAnything(0,S_linksPosId,3,sortie);
  						}
  					}
***************
*** 659,664 ****
  						if (mass[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],mass[i]->speedX);
! 							ToOutAnything(0,S_massesSpeedsNo,1,sortie);
  						}
  			}
--- 685,691 ----
  						if (mass[i]->nbr==GetInt(argv[j]))
  						{
! 							SetFloat(sortie[0],mass[i]->nbr);
! 							SetFloat(sortie[1],mass[i]->speedX);
! 							ToOutAnything(0,S_massesSpeedsNo,2,sortie);
  						}
  			}
***************
*** 672,677 ****
  						if (auxarg2==mass[i]->Id)
  						{
! 							SetFloat(sortie[0],mass[i]->speedX);
! 							ToOutAnything(0,S_massesSpeedsId,1,sortie);
  						}
  					}
--- 699,705 ----
  						if (auxarg2==mass[i]->Id)
  						{
! 							SetSymbol(sortie[0],mass[i]->Id);
! 							SetFloat(sortie[1],mass[i]->speedX);
! 							ToOutAnything(0,S_massesSpeedsId,2,sortie);
  						}
  					}

Index: 03_msdwave.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/nusmuk/msd/03_msdwave.pd,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** 03_msdwave.pd	25 Apr 2005 16:18:38 -0000	1.1
--- 03_msdwave.pd	26 Apr 2005 16:10:06 -0000	1.2
***************
*** 18,22 ****
  #X obj 127 136 t b f;
  #X obj 127 57 unpack f f f;
! #X obj 45 283 cuboid 0.065 0.065 0.07;
  #X connect 0 0 6 0;
  #X connect 1 0 7 0;
--- 18,22 ----
  #X obj 127 136 t b f;
  #X obj 127 57 unpack f f f;
! #X obj 48 283 cuboid 0.065 0.065 0.07;
  #X connect 0 0 6 0;
  #X connect 1 0 7 0;
***************
*** 35,51 ****
  #X text 418 114 Filet abstraction : x0 y0 stepx stepy ny nx;
  #X obj 454 464 msd -------------;
- #X obj 568 488 print msd;
  #X obj 33 497 msd2D --------------------------------;
- #X obj 294 522 print msd2D;
  #X obj 305 254 route mass;
  #X msg 305 275 mass msd1 \$1 \$2 \$5;
  #X obj 145 253 route mass;
  #X msg 145 274 mass msd2 \$1 \$2 \$3 \$4;
! #X obj 33 539 route massesPos;
  #X msg 33 343 bang \, get massesPos;
  #X obj 33 321 t b b;
  #X obj 265 600 pack f f f;
- #X obj 33 561 unpack f f;
- #X obj 33 583 t f b;
  #N canvas 0 0 450 300 getmasses 0;
  #X obj 84 33 inlet;
--- 35,47 ----
  #X text 418 114 Filet abstraction : x0 y0 stepx stepy ny nx;
  #X obj 454 464 msd -------------;
  #X obj 33 497 msd2D --------------------------------;
  #X obj 305 254 route mass;
  #X msg 305 275 mass msd1 \$1 \$2 \$5;
  #X obj 145 253 route mass;
  #X msg 145 274 mass msd2 \$1 \$2 \$3 \$4;
! #X obj 33 517 route massesPos;
  #X msg 33 343 bang \, get massesPos;
  #X obj 33 321 t b b;
  #X obj 265 600 pack f f f;
  #N canvas 0 0 450 300 getmasses 0;
  #X obj 84 33 inlet;
***************
*** 67,72 ****
  #X connect 6 0 2 1;
  #X connect 8 0 2 1;
! #X restore 63 698 pd getmasses;
! #X obj 454 507 route massesPosNo;
  #X msg 63 718 get massesPos \$1;
  #X obj 602 334 rotateXYZ;
--- 63,68 ----
  #X connect 6 0 2 1;
  #X connect 8 0 2 1;
! #X restore 72 657 pd getmasses;
! #X obj 454 488 route massesPosNo;
  #X msg 63 718 get massesPos \$1;
  #X obj 602 334 rotateXYZ;
***************
*** 95,99 ****
  #X msg 670 605 posX 39 \$1;
  #X msg 689 625 posX 799 \$1;
! #X msg 708 645 posX 760 \$1;
  #X text 734 508 Move corners to send a wave!;
  #X text 194 703 Each time a mass2D position is send \, the corresponding
--- 91,95 ----
  #X msg 670 605 posX 39 \$1;
  #X msg 689 625 posX 799 \$1;
! #X msg 707 645 posX 760 \$1;
  #X text 734 508 Move corners to send a wave!;
  #X text 194 703 Each time a mass2D position is send \, the corresponding
***************
*** 107,169 ****
  #X text 31 455 The 2D model is just here to help display masses and
  test synchronization between msd objects;
  #X connect 0 0 12 0;
  #X connect 2 0 1 0;
! #X connect 3 0 31 0;
  #X connect 5 0 18 0;
- #X connect 5 0 20 0;
  #X connect 6 0 12 0;
  #X connect 7 0 5 0;
! #X connect 8 0 24 0;
! #X connect 10 0 28 1;
! #X connect 10 0 45 1;
! #X connect 12 0 42 0;
! #X connect 12 0 43 0;
! #X connect 12 1 46 0;
! #X connect 12 2 45 0;
  #X connect 12 3 7 0;
  #X connect 12 3 10 0;
! #X connect 14 0 29 0;
! #X connect 14 1 15 0;
! #X connect 16 0 22 0;
! #X connect 16 1 17 0;
  #X connect 18 0 19 0;
! #X connect 18 1 14 0;
! #X connect 19 0 14 0;
! #X connect 20 0 21 0;
! #X connect 20 1 16 0;
! #X connect 21 0 16 0;
! #X connect 22 0 26 0;
! #X connect 23 0 16 0;
! #X connect 24 0 23 0;
! #X connect 24 1 14 0;
! #X connect 25 0 9 0;
! #X connect 26 0 27 0;
! #X connect 26 1 25 1;
! #X connect 27 0 25 0;
! #X connect 27 1 28 0;
! #X connect 28 0 30 0;
! #X connect 29 0 25 2;
! #X connect 30 0 14 0;
! #X connect 31 0 4 0;
! #X connect 32 0 36 0;
! #X connect 33 0 48 0;
! #X connect 34 0 49 0;
! #X connect 35 0 50 0;
! #X connect 36 0 14 0;
! #X connect 37 0 31 1;
! #X connect 38 0 1 0;
! #X connect 39 0 1 0;
! #X connect 40 0 31 2;
! #X connect 41 0 1 0;
! #X connect 41 0 44 0;
! #X connect 42 0 16 0;
! #X connect 43 0 14 0;
! #X connect 44 0 39 0;
! #X connect 44 0 40 0;
! #X connect 44 0 37 0;
! #X connect 45 0 5 0;
! #X connect 46 0 5 0;
! #X connect 47 0 1 0;
! #X connect 48 0 14 0;
! #X connect 49 0 14 0;
! #X connect 50 0 14 0;
--- 103,169 ----
  #X text 31 455 The 2D model is just here to help display masses and
  test synchronization between msd objects;
+ #X obj 33 537 unpack f f f;
+ #X obj 443 546 unpack f f;
+ #X obj 173 598 f;
+ #X obj 33 574 t b f;
  #X connect 0 0 12 0;
  #X connect 2 0 1 0;
! #X connect 3 0 27 0;
! #X connect 5 0 16 0;
  #X connect 5 0 18 0;
  #X connect 6 0 12 0;
  #X connect 7 0 5 0;
! #X connect 8 0 22 0;
! #X connect 10 0 24 1;
! #X connect 10 0 41 1;
! #X connect 12 0 38 0;
! #X connect 12 0 39 0;
! #X connect 12 1 42 0;
! #X connect 12 2 41 0;
  #X connect 12 3 7 0;
  #X connect 12 3 10 0;
! #X connect 14 0 25 0;
! #X connect 15 0 20 0;
! #X connect 16 0 17 0;
! #X connect 16 1 14 0;
! #X connect 17 0 14 0;
  #X connect 18 0 19 0;
! #X connect 18 1 15 0;
! #X connect 19 0 15 0;
! #X connect 20 0 55 0;
! #X connect 21 0 15 0;
! #X connect 22 0 21 0;
! #X connect 22 1 14 0;
! #X connect 23 0 9 0;
! #X connect 25 0 56 0;
! #X connect 26 0 14 0;
! #X connect 27 0 4 0;
! #X connect 28 0 32 0;
! #X connect 29 0 44 0;
! #X connect 30 0 45 0;
! #X connect 31 0 46 0;
! #X connect 32 0 14 0;
! #X connect 33 0 27 1;
! #X connect 34 0 1 0;
! #X connect 35 0 1 0;
! #X connect 36 0 27 2;
! #X connect 37 0 1 0;
! #X connect 37 0 40 0;
! #X connect 38 0 15 0;
! #X connect 39 0 14 0;
! #X connect 40 0 35 0;
! #X connect 40 0 36 0;
! #X connect 40 0 33 0;
! #X connect 41 0 5 0;
! #X connect 42 0 5 0;
! #X connect 43 0 1 0;
! #X connect 44 0 14 0;
! #X connect 45 0 14 0;
! #X connect 46 0 14 0;
! #X connect 55 0 58 0;
! #X connect 55 1 57 1;
! #X connect 55 2 23 1;
! #X connect 56 1 23 2;
! #X connect 57 0 23 0;
! #X connect 58 0 57 0;
! #X connect 58 1 26 0;

Index: 02_imsdtest.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/nusmuk/msd/02_imsdtest.pd,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** 02_imsdtest.pd	21 Apr 2005 14:28:53 -0000	1.2
--- 02_imsdtest.pd	26 Apr 2005 16:10:06 -0000	1.3
***************
*** 22,29 ****
  #X obj 46 380 cnv 15 700 90 empty empty empty 20 12 0 14 -262131 -66577
  0;
- #X msg 176 385 setD souple 0.01;
- #X msg 66 384 setK souple 1;
- #X msg 176 407 setD souple 1;
- #X msg 66 406 setK souple 2;
  #X text 455 399 SET RIGIDITY AND VISCOSITY OF LINKS;
  #X text 455 438 ADD FORCE ON ALL MOBILE MASSES;
--- 22,25 ----
***************
*** 32,45 ****
  0;
  #X obj 88 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 6249 1;
  #X obj 111 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 0 1;
  #X obj 66 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 6860 1;
  #X msg 52 736 posX fix \$1;
  #X obj 156 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 0 1;
  #X obj 134 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 0 1;
  #X text 199 638 MOVE FIRST SLIDER;
  #X text 182 662 TO MOVE THE FIXED MASS;
--- 28,41 ----
  0;
  #X obj 88 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 12166 1;
  #X obj 111 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 7166 1;
  #X obj 66 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 9960 1;
  #X msg 52 736 posX fix \$1;
  #X obj 156 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 2370 1;
  #X obj 134 590 vsl 15 128 0 100 0 0 empty empty empty 0 -8 0 8 -261689
! -1 -1 12700 1;
  #X text 199 638 MOVE FIRST SLIDER;
  #X text 182 662 TO MOVE THE FIXED MASS;
***************
*** 52,63 ****
  #X obj 52 545 unpack f f f f f;
  #X text 490 126 CREATION : 5 MASSES \, 1 iLINK;
! #X msg 184 223 iLink inter fix mob 10 2.5 0.5 5 20;
! #X connect 0 0 35 0;
! #X connect 2 0 37 0;
  #X connect 2 1 1 0;
  #X connect 3 0 6 0;
! #X connect 6 0 38 0;
  #X connect 9 0 2 0;
! #X connect 10 0 35 0;
  #X connect 11 0 9 0;
  #X connect 12 0 9 0;
--- 48,63 ----
  #X obj 52 545 unpack f f f f f;
  #X text 490 126 CREATION : 5 MASSES \, 1 iLINK;
! #X msg 66 384 setK inter 1;
! #X msg 66 406 setK inter 2;
! #X msg 176 385 setD inter 0.01;
! #X msg 176 407 setD inter 1;
! #X msg 184 223 iLink inter fix mob 10 2.5 0.5 5;
! #X connect 0 0 31 0;
! #X connect 2 0 33 0;
  #X connect 2 1 1 0;
  #X connect 3 0 6 0;
! #X connect 6 0 34 0;
  #X connect 9 0 2 0;
! #X connect 10 0 31 0;
  #X connect 11 0 9 0;
  #X connect 12 0 9 0;
***************
*** 65,92 ****
  #X connect 14 0 9 0;
  #X connect 15 0 12 0;
! #X connect 17 0 2 0;
! #X connect 18 0 2 0;
! #X connect 19 0 2 0;
! #X connect 20 0 2 0;
! #X connect 23 0 3 0;
! #X connect 27 0 28 0;
! #X connect 28 0 2 0;
! #X connect 33 0 2 0;
  #X connect 34 0 2 0;
! #X connect 35 0 33 0;
! #X connect 35 0 3 0;
! #X connect 35 1 23 0;
! #X connect 35 1 41 0;
! #X connect 35 2 13 0;
! #X connect 35 3 15 0;
! #X connect 35 4 14 0;
! #X connect 35 5 11 0;
! #X connect 37 0 39 0;
! #X connect 37 1 1 0;
  #X connect 38 0 2 0;
! #X connect 39 0 27 0;
! #X connect 39 1 25 0;
! #X connect 39 2 26 0;
! #X connect 39 3 30 0;
! #X connect 39 4 29 0;
  #X connect 41 0 9 0;
--- 65,91 ----
  #X connect 14 0 9 0;
  #X connect 15 0 12 0;
! #X connect 19 0 3 0;
! #X connect 23 0 24 0;
! #X connect 24 0 2 0;
! #X connect 29 0 2 0;
! #X connect 30 0 2 0;
! #X connect 31 0 3 0;
! #X connect 31 1 19 0;
! #X connect 31 1 41 0;
! #X connect 31 2 13 0;
! #X connect 31 3 15 0;
! #X connect 31 4 14 0;
! #X connect 31 5 11 0;
! #X connect 33 0 35 0;
! #X connect 33 1 1 0;
  #X connect 34 0 2 0;
! #X connect 35 0 23 0;
! #X connect 35 1 21 0;
! #X connect 35 2 22 0;
! #X connect 35 3 26 0;
! #X connect 35 4 25 0;
! #X connect 37 0 2 0;
  #X connect 38 0 2 0;
! #X connect 39 0 2 0;
! #X connect 40 0 2 0;
  #X connect 41 0 9 0;





More information about the Pd-cvs mailing list