/pdx7.adsr~.pd

http://github.com/pd-projects/pdx7 · Unknown · 426 lines · 426 code · 0 blank · 0 comment · 0 complexity · 8c5f9e47d3f92719cf39e949b9b35068 MD5 · raw file

  1. #N canvas 500 433 762 294 10;
  2. #X obj 507 8 inlet OSC;
  3. #N canvas 127 377 981 424 saves 0;
  4. #X obj 45 160 originator \$1 \$0;
  5. #X obj 152 132 inlet OSC;
  6. #X obj 47 55 r \$0-substate;
  7. #X obj 15 13 inlet substate;
  8. #X obj 15 35 route substate;
  9. #X obj 159 55 r \$0-copy;
  10. #X msg 159 76 copy;
  11. #X obj 243 50 r \$0-paste;
  12. #X msg 241 71 paste;
  13. #X text 154 15 This is the originator \, including some ready to use
  14. standard functionality.;
  15. #X text 507 56 Put your commun sends here \, if you like.;
  16. #X msg 15 91 setsub \$1;
  17. #X msg 249 184 svdir \$1;
  18. #X obj 250 139 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
  19. -1;
  20. #X obj 250 163 savepanel;
  21. #X obj 152 189 outlet OSC;
  22. #X msg 108 214 svxdir /tmp/svdir.xml;
  23. #X msg 78 241 ldxdir /tmp/svdir.xml;
  24. #X obj 538 176 s \$0-ain;
  25. #X obj 610 176 s \$0-din;
  26. #X obj 682 176 s \$0-sin;
  27. #X obj 776 179 s \$0-rin;
  28. #X obj 536 107 r \$0-a;
  29. #X obj 630 105 r \$0-d;
  30. #X obj 698 106 r \$0-s;
  31. #X obj 769 106 r \$0-r;
  32. #X obj 772 142 commun /r \$0;
  33. #X obj 682 142 commun /s \$0;
  34. #X obj 582 141 commun /d \$0;
  35. #X obj 496 137 commun /a \$0;
  36. #X connect 0 2 15 0;
  37. #X connect 1 0 0 1;
  38. #X connect 2 0 11 0;
  39. #X connect 3 0 4 0;
  40. #X connect 4 0 11 0;
  41. #X connect 4 1 0 0;
  42. #X connect 5 0 6 0;
  43. #X connect 6 0 0 0;
  44. #X connect 7 0 8 0;
  45. #X connect 8 0 0 0;
  46. #X connect 11 0 0 0;
  47. #X connect 12 0 0 0;
  48. #X connect 13 0 14 0;
  49. #X connect 14 0 12 0;
  50. #X connect 16 0 0 0;
  51. #X connect 17 0 0 0;
  52. #X connect 22 0 29 0;
  53. #X connect 23 0 28 0;
  54. #X connect 24 0 27 0;
  55. #X connect 25 0 26 0;
  56. #X connect 26 0 21 0;
  57. #X connect 27 0 20 0;
  58. #X connect 28 0 19 0;
  59. #X connect 29 0 18 0;
  60. #X restore 445 7 pd saves;
  61. #N canvas 569 61 450 300 cnv.ctl 0;
  62. #X obj 90 188 s \$0-background-cnv;
  63. #X floatatom 108 59 5 100 1000 0 width - -;
  64. #X floatatom 112 83 4 50 500 0 height - -;
  65. #X obj 92 132 pack 0 0;
  66. #X msg 92 159 vis_size \$1 \$2;
  67. #X obj 110 106 t b f;
  68. #X connect 1 0 3 0;
  69. #X connect 2 0 5 0;
  70. #X connect 3 0 4 0;
  71. #X connect 4 0 0 0;
  72. #X connect 5 0 3 0;
  73. #X connect 5 1 3 1;
  74. #X restore 524 30 pd cnv.ctl;
  75. #X obj 669 90 bng 15 250 50 0 \$0-copy empty copy 0 -6 0 8 -225271
  76. -1 -1;
  77. #X obj 669 118 bng 15 250 50 0 \$0-paste empty paste 0 -6 0 8 -257472
  78. -1 -1;
  79. #X obj 445 28 outlet OSC;
  80. #X obj 373 26 inlet;
  81. #X obj 373 77 outlet~;
  82. #N canvas 0 0 600 400 envelope 0;
  83. #X obj 220 203 r \$0-a;
  84. #X obj 252 223 r \$0-d;
  85. #X obj 277 247 r \$0-s;
  86. #X obj 333 265 r \$0-r;
  87. #X obj 25 119 inlet;
  88. #X obj 174 346 outlet~;
  89. #N canvas 322 82 891 795 adsr 0;
  90. #X text 52 50 This patch is used as an abstraction in 25.envelope.pd
  91. ;
  92. #X obj 95 108 inlet;
  93. #X obj 298 111 inlet;
  94. #X text 91 79 trigger;
  95. #X obj 95 138 sel 0;
  96. #X obj 144 138 t b;
  97. #X obj 104 399 pack 0 \$2;
  98. #X obj 362 112 inlet;
  99. #X obj 309 301 del \$2;
  100. #X obj 338 324 f \$4;
  101. #X obj 363 411 pack 0 \$3;
  102. #X obj 410 112 inlet;
  103. #X obj 459 111 inlet;
  104. #X obj 504 111 inlet;
  105. #X msg 95 191 stop;
  106. #X obj 517 360 pack 0 \$5;
  107. #X text 378 86 Traditional A \, D \, S \, R;
  108. #X text 296 88 level;
  109. #X text 32 302 ATTACK;
  110. #X obj 447 533 outlet~;
  111. #X text 7 325 recall level;
  112. #X text 7 345 and pack with;
  113. #X text 8 365 attack time;
  114. #X text 28 124 if zero;
  115. #X text 29 141 release;
  116. #X text 17 183 and cancel;
  117. #X text 17 199 decay;
  118. #X text 148 120 bang if attack;
  119. #X text 183 294 on attack \, set a;
  120. #X text 147 307 delay to go to sustain;
  121. #X text 189 324 recall sustain value;
  122. #X text 185 347 multiply by overall level;
  123. #X text 220 370 pack with decay time;
  124. #X text 510 386 on release ramp;
  125. #X text 511 403 back to zero;
  126. #X text 63 12 adsr - arguments: level \, attack time \, decay time
  127. \, sustain level \, release time;
  128. #X text 9 479 When you send this patch a nonzero trigger it schedules
  129. a line~ to do an attack and decay \, and if zero \, it starts the release
  130. ramp.;
  131. #X text 10 525 Objects such as f and pack can be given dollar sign
  132. arguments to initialize their contents from adsr's creation arguments.
  133. Inlets are supplied to update them on the fly.;
  134. #X obj 104 334 f;
  135. #X obj 364 346 * 1;
  136. #X obj 363 386 sqrt;
  137. #X obj 363 365 sqrt;
  138. #X obj 447 461 vline~;
  139. #X obj 446 491 *~;
  140. #X obj 446 511 *~;
  141. #X obj 104 376 sqrt;
  142. #X obj 104 355 sqrt;
  143. #X connect 1 0 4 0;
  144. #X connect 2 0 38 0;
  145. #X connect 2 0 39 1;
  146. #X connect 4 0 14 0;
  147. #X connect 4 0 15 0;
  148. #X connect 4 1 5 0;
  149. #X connect 5 0 8 0;
  150. #X connect 6 0 42 0;
  151. #X connect 7 0 6 1;
  152. #X connect 7 0 8 1;
  153. #X connect 8 0 9 0;
  154. #X connect 9 0 39 0;
  155. #X connect 10 0 42 0;
  156. #X connect 11 0 10 1;
  157. #X connect 12 0 9 1;
  158. #X connect 13 0 15 1;
  159. #X connect 14 0 8 0;
  160. #X connect 15 0 42 0;
  161. #X connect 38 0 46 0;
  162. #X connect 39 0 41 0;
  163. #X connect 40 0 10 0;
  164. #X connect 41 0 40 0;
  165. #X connect 42 0 43 0;
  166. #X connect 42 0 43 1;
  167. #X connect 43 0 44 0;
  168. #X connect 43 0 44 1;
  169. #X connect 44 0 19 0;
  170. #X connect 45 0 6 0;
  171. #X connect 46 0 45 0;
  172. #X restore 174 292 pd adsr -----------;
  173. #X obj 74 149 select 0;
  174. #X obj 119 175 * 1;
  175. #X obj 109 203 s \$0-level-in;
  176. #X obj 158 92 r \$0-level;
  177. #X obj 192 175 r \$0-level-in;
  178. #X obj 277 266 * 0.01;
  179. #X obj 156 124 * 0.01;
  180. #X connect 0 0 6 2;
  181. #X connect 1 0 6 3;
  182. #X connect 2 0 12 0;
  183. #X connect 3 0 6 5;
  184. #X connect 4 0 7 0;
  185. #X connect 4 0 6 0;
  186. #X connect 6 0 5 0;
  187. #X connect 7 1 8 0;
  188. #X connect 8 0 9 0;
  189. #X connect 10 0 13 0;
  190. #X connect 11 0 6 1;
  191. #X connect 12 0 6 4;
  192. #X connect 13 0 8 1;
  193. #X restore 373 52 pd envelope;
  194. #X text 625 32 Graphical ADSR;
  195. #X obj 668 146 nbx 2 14 -1e+37 1e+37 0 0 \$0-substate \$0-parentstate
  196. preset 0 -6 0 8 -195568 -1 -1 0 256;
  197. #X obj 31 34 nbx 5 14 0 1e+37 0 0 \$0-a \$0-ain a 10 -6 1 10 -158106
  198. -155649 -228225 0 256;
  199. #X obj 131 34 nbx 5 14 0 100 0 0 \$0-s \$0-sin s% 10 -6 1 10 -158106
  200. -155649 -228225 0 256;
  201. #X obj 81 34 nbx 5 14 0 1e+37 0 0 \$0-d \$0-din d 10 -6 1 10 -158106
  202. -155649 -228225 0 256;
  203. #X obj 181 34 nbx 5 14 0 1e+37 0 0 \$0-r \$0-rin r 10 -6 1 10 -158106
  204. -155649 -228225 0 256;
  205. #X obj 231 34 nbx 5 14 0 1e+37 0 0 \$0-level empty lvl% 10 -6 1 10
  206. -155649 -228225 -158106 0 256;
  207. #N canvas 0 0 590 606 colorize 0;
  208. #X obj 69 339 list prepend color;
  209. #X obj 69 362 list trim;
  210. #N canvas 281 345 447 195 rgbtopd 0;
  211. #X obj 35 59 expr -65536 * $i1 - 256 * $i2 - $i3 - 1 \;;
  212. #X obj 35 25 inlet;
  213. #X obj 35 89 outlet;
  214. #X text 26 121 -pow(2 \, 16) * R - pow(2 \, 8) * G - pow(2 \, 0) *
  215. B - 1;
  216. #X connect 0 0 2 0;
  217. #X connect 1 0 0 0;
  218. #X restore 224 152 pd rgbtopd;
  219. #N canvas 281 345 447 195 rgbtopd 0;
  220. #X obj 35 59 expr -65536 * $i1 - 256 * $i2 - $i3 - 1 \;;
  221. #X obj 35 25 inlet;
  222. #X obj 35 89 outlet;
  223. #X text 26 121 -pow(2 \, 16) * R - pow(2 \, 8) * G - pow(2 \, 0) *
  224. B - 1;
  225. #X connect 0 0 2 0;
  226. #X connect 1 0 0 0;
  227. #X restore 144 152 pd rgbtopd;
  228. #N canvas 281 345 447 195 rgbtopd 0;
  229. #X obj 35 59 expr -65536 * $i1 - 256 * $i2 - $i3 - 1 \;;
  230. #X obj 35 25 inlet;
  231. #X obj 35 89 outlet;
  232. #X text 26 121 -pow(2 \, 16) * R - pow(2 \, 8) * G - pow(2 \, 0) *
  233. B - 1;
  234. #X connect 0 0 2 0;
  235. #X connect 1 0 0 0;
  236. #X restore 69 151 pd rgbtopd;
  237. #N canvas 362 262 450 300 hexcolor 0;
  238. #X obj 152 168 * 16;
  239. #X obj 152 143 t f f;
  240. #X obj 152 201 +;
  241. #X obj 127 38 inlet;
  242. #X obj 125 61 t b a b;
  243. #X obj 133 252 list prepend;
  244. #X obj 221 255 t a;
  245. #X obj 99 290 list;
  246. #X obj 101 314 outlet;
  247. #N canvas 0 0 533 407 drip 0;
  248. #X obj 64 206 list split 1;
  249. #X obj 64 123 until;
  250. #X obj 64 181 list append;
  251. #X obj 194 206 bang;
  252. #X text 146 90 First store list \, then start the loop;
  253. #X text 163 118 "until" bangs its output until told to stop by a "bang"
  254. to its right inlet.;
  255. #X text 182 160 Store the remaining list.;
  256. #X text 239 205 third outlet of "split" tells us to stop.;
  257. #X obj 64 243 outlet;
  258. #X obj 64 57 inlet;
  259. #X text 237 44 From list-help.pd;
  260. #X obj 143 243 outlet;
  261. #X obj 64 86 t b a;
  262. #X connect 0 0 8 0;
  263. #X connect 0 1 2 1;
  264. #X connect 0 2 3 0;
  265. #X connect 0 2 11 0;
  266. #X connect 1 0 2 0;
  267. #X connect 2 0 0 0;
  268. #X connect 3 0 1 1;
  269. #X connect 9 0 12 0;
  270. #X connect 12 0 1 0;
  271. #X connect 12 1 2 1;
  272. #X restore 152 94 pd drip;
  273. #N canvas 360 251 450 300 hextonum 0;
  274. #X obj 90 96 select a b c d e f;
  275. #X obj 90 128 10;
  276. #X obj 146 131 12;
  277. #X obj 118 130 11;
  278. #X obj 178 130 13;
  279. #X obj 205 131 14;
  280. #X obj 236 130 15;
  281. #X obj 268 131 moses 10;
  282. #X obj 152 238 outlet;
  283. #X obj 268 162 moses 0;
  284. #X obj 90 37 inlet;
  285. #X obj 90 60 list;
  286. #X connect 0 0 1 0;
  287. #X connect 0 1 3 0;
  288. #X connect 0 2 2 0;
  289. #X connect 0 3 4 0;
  290. #X connect 0 4 5 0;
  291. #X connect 0 5 6 0;
  292. #X connect 0 6 7 0;
  293. #X connect 1 0 8 0;
  294. #X connect 2 0 8 0;
  295. #X connect 3 0 8 0;
  296. #X connect 4 0 8 0;
  297. #X connect 5 0 8 0;
  298. #X connect 6 0 8 0;
  299. #X connect 7 0 9 0;
  300. #X connect 9 1 8 0;
  301. #X connect 10 0 11 0;
  302. #X connect 11 0 0 0;
  303. #X restore 152 117 pd hextonum;
  304. #X connect 0 0 2 0;
  305. #X connect 1 0 0 0;
  306. #X connect 1 1 2 1;
  307. #X connect 2 0 5 0;
  308. #X connect 3 0 4 0;
  309. #X connect 4 0 7 0;
  310. #X connect 4 1 9 0;
  311. #X connect 4 2 5 1;
  312. #X connect 5 0 6 0;
  313. #X connect 5 0 7 1;
  314. #X connect 6 0 5 1;
  315. #X connect 7 0 8 0;
  316. #X connect 9 0 10 0;
  317. #X connect 10 0 1 0;
  318. #X restore 69 59 pd hexcolor;
  319. #X obj 69 86 list split 3;
  320. #X obj 144 109 list split 3;
  321. #N canvas 0 0 655 388 rotate2 0;
  322. #X obj 173 193 list prepend;
  323. #X obj 151 44 inlet;
  324. #X obj 259 115 inlet;
  325. #X text 311 115 how often to rotate;
  326. #X obj 151 220 list;
  327. #X text 198 43 list to rotate;
  328. #X obj 151 250 outlet;
  329. #X text 267 194 move right part of list to left.;
  330. #X obj 151 70 t b a b;
  331. #X obj 173 152 list split 2;
  332. #X connect 0 0 4 1;
  333. #X connect 1 0 8 0;
  334. #X connect 2 0 9 1;
  335. #X connect 4 0 6 0;
  336. #X connect 8 0 4 0;
  337. #X connect 8 1 9 0;
  338. #X connect 8 2 0 1;
  339. #X connect 9 0 0 0;
  340. #X connect 9 1 0 1;
  341. #X restore 356 318 pd rotate2;
  342. #N canvas 0 0 655 388 rotate1 0;
  343. #X obj 173 193 list prepend;
  344. #X obj 151 44 inlet;
  345. #X obj 259 115 inlet;
  346. #X text 311 115 how often to rotate;
  347. #X obj 151 220 list;
  348. #X text 198 43 list to rotate;
  349. #X obj 151 250 outlet;
  350. #X text 267 194 move right part of list to left.;
  351. #X obj 151 70 t b a b;
  352. #X obj 173 152 list split 1;
  353. #X connect 0 0 4 1;
  354. #X connect 1 0 8 0;
  355. #X connect 2 0 9 1;
  356. #X connect 4 0 6 0;
  357. #X connect 8 0 4 0;
  358. #X connect 8 1 9 0;
  359. #X connect 8 2 0 1;
  360. #X connect 9 0 0 0;
  361. #X connect 9 1 0 1;
  362. #X restore 211 320 pd rotate1;
  363. #X obj 69 386 outlet;
  364. #X obj 211 341 list prepend color;
  365. #X obj 211 364 list trim;
  366. #X obj 211 388 outlet;
  367. #X obj 356 343 list prepend color;
  368. #X obj 356 366 list trim;
  369. #X obj 356 390 outlet;
  370. #X obj 69 33 inlet;
  371. #X obj 69 178 pack 0 0 0;
  372. #X connect 0 0 1 0;
  373. #X connect 1 0 10 0;
  374. #X connect 2 0 18 2;
  375. #X connect 3 0 18 1;
  376. #X connect 4 0 18 0;
  377. #X connect 5 0 6 0;
  378. #X connect 6 0 4 0;
  379. #X connect 6 1 7 0;
  380. #X connect 7 0 3 0;
  381. #X connect 7 1 2 0;
  382. #X connect 8 0 14 0;
  383. #X connect 9 0 11 0;
  384. #X connect 11 0 12 0;
  385. #X connect 12 0 13 0;
  386. #X connect 14 0 15 0;
  387. #X connect 15 0 16 0;
  388. #X connect 17 0 5 0;
  389. #X connect 18 0 0 0;
  390. #X connect 18 0 9 0;
  391. #X connect 18 0 8 0;
  392. #X restore 213 166 pd colorize;
  393. #X msg 359 137 9 9 6 9 0 0 d b 0;
  394. #X msg 396 117 0 7 b 2 8 b b b b;
  395. #X msg 440 98 e 6 2 e 3 2 e c 2;
  396. #X msg 324 161 0 c c c f f 0 9 9;
  397. #X msg 455 74 c c c 9 9 9 3 3 3;
  398. #X msg 476 170 d d a 3 9 0 3 3 6;
  399. #X obj 50 255 unpack 0 0 0 0 0;
  400. #X obj 13 34 bng 14 250 50 0 empty empty empty 0 -6 0 8 -158106 -155649
  401. -228225;
  402. #X msg 63 203 10 40 50 500 100;
  403. #X connect 0 0 1 1;
  404. #X connect 1 0 5 0;
  405. #X connect 6 0 8 0;
  406. #X connect 8 0 7 0;
  407. #X connect 16 0 11 0;
  408. #X connect 16 0 12 0;
  409. #X connect 16 0 13 0;
  410. #X connect 16 0 14 0;
  411. #X connect 16 0 24 0;
  412. #X connect 16 1 15 0;
  413. #X connect 17 0 16 0;
  414. #X connect 18 0 16 0;
  415. #X connect 19 0 16 0;
  416. #X connect 20 0 16 0;
  417. #X connect 21 0 16 0;
  418. #X connect 22 0 16 0;
  419. #X connect 23 0 11 0;
  420. #X connect 23 1 13 0;
  421. #X connect 23 2 12 0;
  422. #X connect 23 3 14 0;
  423. #X connect 23 4 15 0;
  424. #X connect 24 0 25 0;
  425. #X connect 25 0 23 0;
  426. #X coords 0 0 1 1 273 40 1 10 10;