list-equalize-help.pd 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #N canvas 0 26 562 531 10;
  2. #X obj 93 283 list-equalize;
  3. #X obj 93 71 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
  4. -1 -1 0 1;
  5. #X obj 93 248 pack 0 0 0;
  6. #X obj 115 209 t b f;
  7. #X obj 161 212 t b f;
  8. #X obj 93 310 unpack 0 0 0;
  9. #X obj 128 71 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
  10. -1 -1 0 1;
  11. #X obj 161 71 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
  12. -1 -1 0 1;
  13. #X floatatom 93 341 5 0 0 0 - - -;
  14. #X floatatom 132 341 5 0 0 0 - - -;
  15. #X floatatom 172 341 5 0 0 0 - - -;
  16. #X obj 93 367 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144
  17. -1 -1 0 1;
  18. #X obj 132 367 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144
  19. -1 -1 0 1;
  20. #X obj 172 367 vsl 15 128 0 1 0 0 empty empty empty 0 -8 0 8 -262144
  21. -1 -1 0 1;
  22. #X text 207 34 list-equalize:;
  23. #X text 227 53 scale a list so that all float elements sum up to 1
  24. ;
  25. #X text 227 77 L_result = L_input / sum(L_input);
  26. #X obj 306 253 list-equalize;
  27. #X obj 306 280 print;
  28. #X text 258 177 Also handles non-float elements gracefully.;
  29. #X msg 306 226 90 plus 10 is 100;
  30. #X text 40 138 0-127;
  31. #X text 42 427 0-1;
  32. #N canvas 416 170 494 396 META 0;
  33. #X text 12 25 LICENSE SIBSD;
  34. #X text 12 115 AUTHOR Frank Barknecht;
  35. #X text 12 95 OUTLET_0 list;
  36. #X text 12 135 HELP_PATCH_AUTHORS Frank Barknecht. "pd meta" information
  37. added by Jonathan Wilkes for Pd version 0.42.;
  38. #X text 12 45 DESCRIPTION scale a list so that all float elements sum
  39. up to 1;
  40. #X text 12 5 KEYWORDS control list_op;
  41. #X text 12 75 INLET_0 anything;
  42. #X restore 500 502 pd META;
  43. #X connect 0 0 5 0;
  44. #X connect 1 0 2 0;
  45. #X connect 2 0 0 0;
  46. #X connect 3 0 2 0;
  47. #X connect 3 1 2 1;
  48. #X connect 4 0 2 0;
  49. #X connect 4 1 2 2;
  50. #X connect 5 0 8 0;
  51. #X connect 5 1 9 0;
  52. #X connect 5 2 10 0;
  53. #X connect 6 0 3 0;
  54. #X connect 7 0 4 0;
  55. #X connect 8 0 11 0;
  56. #X connect 9 0 12 0;
  57. #X connect 10 0 13 0;
  58. #X connect 17 0 18 0;
  59. #X connect 20 0 17 0;