diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/00.under.construction.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/00.under.construction.pd index e638b53188540372eaa2b931956e07a47694662b..47b7a28209e799c4bfddb9a47e27b5a83b9920fc 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/00.under.construction.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/00.under.construction.pd @@ -1,86 +1,112 @@ #N struct working-man-scalar float x float y; -#N canvas 226 49 895 618 10; -#N canvas 695 40 671 300 template 0; -#X obj 115 -2451 loadbang; -#X obj 115 -2409 draw path M 41.184 453.06 C 18.504 453.06 0 434.556 -0 411.804 C 0 404.532 1.872 397.476 5.544 391.212 L 219.528 20.628 -C 235.44 -6.876 274.968 -6.876 290.88 20.628 L 504.864 391.212 C 508.464 +#N canvas 0 19 895 618 10; +#N canvas 195 124 671 300 template 1; +#X obj 121 -2492 struct working-man-scalar float x float y; +#N canvas 725 143 450 300 init 0; +#X obj 88 67 line; +#X obj 88 -19 loadbang; +#X msg 88 135 transform matrix -1 0 0 1 510.336 0 translate 200 200 +scale \$1 translate -200 -200; +#X obj 88 112 pow 3; +#X msg 186 41 0.7 400; +#X obj 88 169 outlet; +#X obj 186 20 del 750; +#X msg 88 23 0.2 \, 0.9 750; +#X obj 88 2 del 750; +#X msg 41 68 0.4; +#X connect 0 0 3 0; +#X connect 1 0 9 0; +#X connect 1 0 8 0; +#X connect 2 0 5 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 6 0 4 0; +#X connect 7 0 0 0; +#X connect 8 0 7 0; +#X connect 8 0 6 0; +#X connect 9 0 3 0; +#X restore 121 -2454 pd init; +#N canvas 548 143 450 559 (subpatch) 0; +#X obj 76 44 loadbang; +#X obj 76 86 draw path M 41.184 453.06 C 18.504 453.06 0 434.556 0 +411.804 C 0 404.532 1.872 397.476 5.544 391.212 L 219.528 20.628 C +235.44 -6.876 274.968 -6.876 290.88 20.628 L 504.864 391.212 C 508.464 397.476 510.336 404.604 510.336 411.804 C 510.336 434.556 491.976 452.988 469.224 453.06 L 41.184 453.06 L 41.184 453.06 z; -#X obj 119 -2313 loadbang; -#X obj 119 -2271 draw polygon 52.2 405.468 458.136 405.468 255.168 -53.892 52.2 405.468; -#X msg 119 -2292 fill #feb82f; -#X obj 123 -2174 draw path M 419.4 378.396 L 419.4 384.444 L 90.648 -384.444 L 91.368 381.564 C 92.448 377.388 93.672 373.356 95.04 369.468 -C 96.048 366.3 97.56 363.06 99.36 360.108 C 100.584 358.092 101.736 -356.292 102.888 354.42 C 103.032 354.204 103.32 353.988 103.68 353.772 -L 104.4 352.548 L 107.064 346.716 C 107.712 345.204 108.576 343.764 -109.44 342.468 C 110.304 341.244 111.168 340.092 112.104 339.012 C -113.904 336.852 115.56 334.548 117 332.172 C 118.44 329.652 120.168 -327.42 122.184 325.332 C 122.976 324.468 123.912 323.676 124.92 323.1 -C 126.144 322.308 127.08 321.3 127.728 320.076 C 129.168 317.268 131.04 -314.604 133.128 312.228 C 135.936 308.988 140.328 307.62 144.504 308.7 -C 146.664 309.276 148.752 310.068 150.696 311.004 C 154.296 312.804 -157.608 315.036 160.56 317.7 L 162.576 316.692 C 171.648 312.3 180.144 -307.476 188.352 302.22 L 192.024 303.66 L 196.488 299.916 L 198.936 -297.252 L 203.616 293.868 C 209.304 289.692 215.424 286.164 221.832 -283.284 L 225.576 279.972 L 231.48 274.428 C 232.128 273.78 232.56 -272.988 232.776 272.196 C 233.496 269.892 233.928 267.516 234.072 265.212 -C 234.288 261.828 234.432 258.732 234.576 255.564 C 234.648 253.116 -234.864 250.668 235.152 248.22 C 235.584 244.98 235.728 241.884 235.728 -238.644 C 235.728 237.996 235.728 237.42 235.728 236.7 C 235.728 236.196 -235.656 235.116 235.656 233.964 C 235.584 232.02 235.368 231.228 234.936 -230.58 L 230.976 222.084 L 225.576 212.868 C 224.424 210.852 223.704 -208.548 223.56 206.172 C 223.416 203.796 223.632 201.42 224.136 199.116 -C 224.352 198.18 224.64 197.316 225 196.452 C 225.144 196.164 225.216 -195.804 225.216 195.444 C 225.216 194.94 225 194.436 224.712 194.004 -C 224.424 193.572 223.92 193.356 223.416 193.356 C 223.272 193.356 -223.128 193.356 222.984 193.428 C 221.4 193.788 219.744 193.428 218.52 -192.348 C 215.712 189.972 213.768 186.804 212.832 183.276 C 212.472 -181.98 212.04 180.612 211.608 179.244 C 211.32 178.236 210.744 177.444 -209.952 176.796 C 208.44 175.5 207.36 173.772 206.856 171.9 C 206.352 -169.812 206.352 167.724 206.856 165.636 C 207.432 163.332 208.656 161.172 -210.528 159.588 C 212.4 158.004 214.56 156.78 216.864 155.988 C 219.384 -155.196 221.976 154.548 224.568 154.188 C 225.936 153.972 227.376 154.188 -228.6 154.836 C 230.184 155.7 231.696 156.636 232.992 157.788 C 234.36 -158.868 235.368 160.38 235.944 162.108 C 236.52 163.764 237.024 165.42 -237.384 167.076 C 237.672 168.156 237.888 169.164 238.032 170.172 C -238.464 172.548 239.328 174.78 240.552 176.868 C 241.488 178.596 242.28 -179.892 243.144 181.188 C 243 180.972 244.152 181.836 245.52 182.268 -C 246.24 182.484 247.104 182.628 247.896 182.628 C 248.544 182.628 -249.12 182.556 249.696 182.412 C 252.072 181.908 254.376 181.62 256.752 -181.404 C 258.696 181.26 260.64 180.9 262.44 180.324 C 266.112 179.1 -269.712 178.092 273.384 177.012 C 275.4 176.436 277.704 176.292 279.936 -176.652 C 291.456 178.452 302.4 182.34 312.336 188.172 C 313.344 188.748 -314.352 189.324 315.288 189.972 C 316.728 190.908 317.88 192.204 318.528 -193.788 C 319.32 195.588 319.752 197.46 319.968 199.332 C 320.472 204.732 -321.048 209.556 321.768 214.38 C 322.2 217.548 323.784 220.86 326.304 -223.524 C 326.952 224.244 327.744 224.892 328.608 225.396 C 330.336 -226.404 331.776 227.844 332.856 229.572 C 333.36 230.292 333.576 231.156 -333.576 232.02 C 333.576 233.388 333 234.756 331.92 235.62 C 330.912 -236.412 329.832 237.204 328.752 237.852 C 327.888 238.428 326.952 238.716 -325.944 238.86 C 325.44 238.932 325.08 239.292 325.008 239.796 L 325.944 -260.604 L 326.088 277.74 L 325.8 285.948 L 325.944 293.076 L 325.512 -299.556 L 324.72 307.332 C 324.432 309.708 324.288 312.156 324.288 -314.532 C 324.288 318.132 324.576 321.66 325.08 325.188 C 325.44 327.42 -325.656 329.868 325.656 332.172 C 325.656 332.892 325.584 333.54 325.584 -334.188 L 325.728 343.548 L 325.512 354.276 L 325.224 364.212 L 325.368 -368.964 C 325.44 370.692 326.88 372.06 328.608 372.06 L 329.328 371.988 -L 333.576 368.532 C 334.224 368.028 334.584 367.236 334.584 366.444 -C 334.584 366.228 334.584 366.084 334.512 365.868 C 334.368 365.004 -334.224 363.996 334.224 363.06 C 334.152 362.196 334.44 361.404 335.016 -360.756 C 335.448 360.324 335.952 359.892 336.6 359.532 L 339.264 358.38 -L 342.144 356.796 C 344.664 355.428 347.04 353.844 349.2 351.972 C -349.776 351.468 350.28 351.036 350.784 350.676 C 351.576 349.884 352.872 -349.452 354.168 349.524 C 355.824 349.524 357.48 350.028 358.92 350.964 -C 360.072 351.756 361.008 352.836 361.584 354.132 C 365.328 362.772 -371.016 370.26 378.216 376.164 C 379.584 377.244 381.24 377.964 382.896 -378.252 L 419.4 378.396 z; -#X obj 123 -2216 loadbang; -#X obj 123 -1115 loadbang; -#X msg 123 -1094 fill #feb82f; -#X obj 123 -1073 draw path M 247.248 264.636 C 247.32 264.708 247.392 +#X obj 80 182 loadbang; +#X obj 80 224 draw polygon 52.2 405.468 458.136 405.468 255.168 53.892 +52.2 405.468; +#X msg 80 203 fill #feb82f; +#X obj 84 321 draw path M 419.4 378.396 L 419.4 384.444 L 90.648 384.444 +L 91.368 381.564 C 92.448 377.388 93.672 373.356 95.04 369.468 C 96.048 +366.3 97.56 363.06 99.36 360.108 C 100.584 358.092 101.736 356.292 +102.888 354.42 C 103.032 354.204 103.32 353.988 103.68 353.772 L 104.4 +352.548 L 107.064 346.716 C 107.712 345.204 108.576 343.764 109.44 +342.468 C 110.304 341.244 111.168 340.092 112.104 339.012 C 113.904 +336.852 115.56 334.548 117 332.172 C 118.44 329.652 120.168 327.42 +122.184 325.332 C 122.976 324.468 123.912 323.676 124.92 323.1 C 126.144 +322.308 127.08 321.3 127.728 320.076 C 129.168 317.268 131.04 314.604 +133.128 312.228 C 135.936 308.988 140.328 307.62 144.504 308.7 C 146.664 +309.276 148.752 310.068 150.696 311.004 C 154.296 312.804 157.608 315.036 +160.56 317.7 L 162.576 316.692 C 171.648 312.3 180.144 307.476 188.352 +302.22 L 192.024 303.66 L 196.488 299.916 L 198.936 297.252 L 203.616 +293.868 C 209.304 289.692 215.424 286.164 221.832 283.284 L 225.576 +279.972 L 231.48 274.428 C 232.128 273.78 232.56 272.988 232.776 272.196 +C 233.496 269.892 233.928 267.516 234.072 265.212 C 234.288 261.828 +234.432 258.732 234.576 255.564 C 234.648 253.116 234.864 250.668 235.152 +248.22 C 235.584 244.98 235.728 241.884 235.728 238.644 C 235.728 237.996 +235.728 237.42 235.728 236.7 C 235.728 236.196 235.656 235.116 235.656 +233.964 C 235.584 232.02 235.368 231.228 234.936 230.58 L 230.976 222.084 +L 225.576 212.868 C 224.424 210.852 223.704 208.548 223.56 206.172 +C 223.416 203.796 223.632 201.42 224.136 199.116 C 224.352 198.18 224.64 +197.316 225 196.452 C 225.144 196.164 225.216 195.804 225.216 195.444 +C 225.216 194.94 225 194.436 224.712 194.004 C 224.424 193.572 223.92 +193.356 223.416 193.356 C 223.272 193.356 223.128 193.356 222.984 193.428 +C 221.4 193.788 219.744 193.428 218.52 192.348 C 215.712 189.972 213.768 +186.804 212.832 183.276 C 212.472 181.98 212.04 180.612 211.608 179.244 +C 211.32 178.236 210.744 177.444 209.952 176.796 C 208.44 175.5 207.36 +173.772 206.856 171.9 C 206.352 169.812 206.352 167.724 206.856 165.636 +C 207.432 163.332 208.656 161.172 210.528 159.588 C 212.4 158.004 214.56 +156.78 216.864 155.988 C 219.384 155.196 221.976 154.548 224.568 154.188 +C 225.936 153.972 227.376 154.188 228.6 154.836 C 230.184 155.7 231.696 +156.636 232.992 157.788 C 234.36 158.868 235.368 160.38 235.944 162.108 +C 236.52 163.764 237.024 165.42 237.384 167.076 C 237.672 168.156 237.888 +169.164 238.032 170.172 C 238.464 172.548 239.328 174.78 240.552 176.868 +C 241.488 178.596 242.28 179.892 243.144 181.188 C 243 180.972 244.152 +181.836 245.52 182.268 C 246.24 182.484 247.104 182.628 247.896 182.628 +C 248.544 182.628 249.12 182.556 249.696 182.412 C 252.072 181.908 +254.376 181.62 256.752 181.404 C 258.696 181.26 260.64 180.9 262.44 +180.324 C 266.112 179.1 269.712 178.092 273.384 177.012 C 275.4 176.436 +277.704 176.292 279.936 176.652 C 291.456 178.452 302.4 182.34 312.336 +188.172 C 313.344 188.748 314.352 189.324 315.288 189.972 C 316.728 +190.908 317.88 192.204 318.528 193.788 C 319.32 195.588 319.752 197.46 +319.968 199.332 C 320.472 204.732 321.048 209.556 321.768 214.38 C +322.2 217.548 323.784 220.86 326.304 223.524 C 326.952 224.244 327.744 +224.892 328.608 225.396 C 330.336 226.404 331.776 227.844 332.856 229.572 +C 333.36 230.292 333.576 231.156 333.576 232.02 C 333.576 233.388 333 +234.756 331.92 235.62 C 330.912 236.412 329.832 237.204 328.752 237.852 +C 327.888 238.428 326.952 238.716 325.944 238.86 C 325.44 238.932 325.08 +239.292 325.008 239.796 L 325.944 260.604 L 326.088 277.74 L 325.8 +285.948 L 325.944 293.076 L 325.512 299.556 L 324.72 307.332 C 324.432 +309.708 324.288 312.156 324.288 314.532 C 324.288 318.132 324.576 321.66 +325.08 325.188 C 325.44 327.42 325.656 329.868 325.656 332.172 C 325.656 +332.892 325.584 333.54 325.584 334.188 L 325.728 343.548 L 325.512 +354.276 L 325.224 364.212 L 325.368 368.964 C 325.44 370.692 326.88 +372.06 328.608 372.06 L 329.328 371.988 L 333.576 368.532 C 334.224 +368.028 334.584 367.236 334.584 366.444 C 334.584 366.228 334.584 366.084 +334.512 365.868 C 334.368 365.004 334.224 363.996 334.224 363.06 C +334.152 362.196 334.44 361.404 335.016 360.756 C 335.448 360.324 335.952 +359.892 336.6 359.532 L 339.264 358.38 L 342.144 356.796 C 344.664 +355.428 347.04 353.844 349.2 351.972 C 349.776 351.468 350.28 351.036 +350.784 350.676 C 351.576 349.884 352.872 349.452 354.168 349.524 C +355.824 349.524 357.48 350.028 358.92 350.964 C 360.072 351.756 361.008 +352.836 361.584 354.132 C 365.328 362.772 371.016 370.26 378.216 376.164 +C 379.584 377.244 381.24 377.964 382.896 378.252 L 419.4 378.396 z +; +#X obj 84 279 loadbang; +#X obj 84 1380 loadbang; +#X msg 84 1401 fill #feb82f; +#X obj 84 1422 draw path M 247.248 264.636 C 247.32 264.708 247.392 264.708 247.536 264.708 C 247.824 264.708 248.112 264.636 248.328 264.348 C 249.768 262.692 251.064 261.108 252.288 259.452 C 253.224 258.3 254.016 257.076 254.88 255.852 C 255.528 254.844 256.176 253.764 256.896 252.756 @@ -96,14 +122,12 @@ C 253.512 237.348 253.368 238.716 253.08 240.084 C 252.936 240.732 256.572 L 248.04 259.02 L 247.032 261.972 C 246.816 262.476 246.672 263.052 246.672 263.628 C 246.672 263.772 246.672 263.916 246.744 264.06 C 246.744 264.348 246.96 264.636 247.248 264.636 z; -#X obj 148 -160; -#X obj 148 -139; -#X obj 125 -796 loadbang; -#X msg 125 -775 stroke black \, stroke-width 0.216; -#X obj 125 -754 draw line 246.744 263.988 247.176 264.636; -#X obj 126 -723 loadbang; -#X msg 126 -702 fill #feb82f; -#X obj 126 -681 draw path M 291.96 199.836 L 295.488 199.908 L 298.584 +#X obj 86 1699 loadbang; +#X msg 86 1720 stroke black \, stroke-width 0.216; +#X obj 86 1741 draw line 246.744 263.988 247.176 264.636; +#X obj 87 1772 loadbang; +#X msg 87 1793 fill #feb82f; +#X obj 87 1814 draw path M 291.96 199.836 L 295.488 199.908 L 298.584 200.268 L 303.408 201.204 C 303.624 201.276 303.912 201.42 303.984 201.708 L 305.28 204.516 L 306.216 206.604 L 306.864 208.404 L 307.872 210.78 L 309.528 214.092 L 310.536 215.892 L 311.688 218.7 L 312.768 @@ -115,9 +139,39 @@ L 303.192 219.132 L 302.328 217.476 C 301.68 216.108 301.032 214.74 300.528 213.3 L 297.288 209.628 L 293.256 205.164 L 290.016 201.996 C 289.8 201.78 289.8 201.492 290.088 201.348 L 291.024 200.196 C 291.24 199.98 291.6 199.836 291.96 199.836 z; -#X obj 127 -476 loadbang; -#X msg 127 -455 fill #feb82f; -#X obj 127 -434 draw path M 254.304 371.484 L 263.16 365.436 L 263.592 +#X obj 88 2019 loadbang; +#X msg 88 2040 fill #feb82f; +#X obj 92 2583 loadbang; +#X msg 92 2604 fill #feb82f; +#X obj 92 2625 draw path M 163.224 321.372 L 165.096 321.012 L 170.064 +319.932 C 173.448 319.212 176.688 318.204 179.856 316.836 C 182.592 +315.684 184.68 314.82 186.768 313.956 C 189.288 312.948 191.808 311.292 +194.04 309.204 L 197.568 306.252 L 200.592 303.228 L 202.536 301.572 +L 204.768 299.916 L 206.856 298.404 L 209.448 296.82 L 211.32 295.812 +L 213.336 294.804 L 215.424 293.796 L 217.656 292.644 L 219.312 291.78 +L 220.824 290.844 L 222.264 290.052 L 225.36 288.756 L 231.48 305.46 +L 231.624 306.108 L 231.768 306.756 L 234.144 314.676 L 236.16 322.812 +L 237.672 327.996 L 238.68 331.884 L 240.84 341.676 L 241.416 344.772 +C 241.776 346.356 242.496 347.796 243.648 349.02 C 244.08 349.452 244.584 +349.812 245.088 350.028 C 246.312 350.676 247.608 350.964 248.976 350.964 +C 249.192 350.964 249.48 350.964 249.696 350.892 C 250.632 350.82 251.568 +351.18 252.144 351.9 C 253.44 353.412 254.232 355.212 254.52 357.156 +C 254.52 357.228 254.52 357.372 254.52 357.444 C 254.52 357.804 254.448 +358.164 254.304 358.452 L 251.64 362.7 L 251.136 363.492 L 245.16 366.876 +C 244.728 367.092 244.44 367.596 244.44 368.1 C 244.44 368.172 244.44 +368.244 244.44 368.316 L 244.944 370.26 L 242.928 369.828 C 240.336 +369.18 237.672 368.892 234.864 368.892 C 233.28 368.892 231.624 368.964 +230.04 369.18 C 226.944 369.612 223.776 370.188 220.536 370.98 C 217.224 +371.772 213.84 372.204 210.312 372.276 C 207.936 372.348 205.56 372.06 +203.328 371.412 C 202.392 371.196 201.312 370.908 200.304 370.692 C +198.216 370.332 196.344 369.324 194.976 367.812 C 193.968 366.804 192.744 +365.436 191.448 364.212 L 188.208 359.604 L 186.408 356.724 L 184.464 +353.916 L 182.736 351.396 L 180 347.22 L 178.704 345.132 L 176.832 +341.316 L 175.464 338.292 L 174.528 336.42 L 173.736 334.908 C 171 +329.94 167.544 325.332 163.296 321.372 L 163.224 321.372 z; +#X msg 84 300 fill black; +#X msg 76 65 fill #ed171f; +#X obj 88 2064 draw path M 254.304 371.484 L 263.16 365.436 L 263.592 365.148 L 265.248 364.644 L 268.56 363.852 L 274.968 360.036 L 274.608 358.74 C 274.104 356.508 273.024 354.348 271.656 352.476 C 270.504 350.82 269.424 349.092 268.56 347.22 C 267.84 345.78 267.48 344.34 @@ -148,123 +202,68 @@ C 297.288 367.884 296.208 368.82 295.992 370.044 C 295.848 370.62 295.776 374.796 C 288.936 374.94 287.28 375.156 285.552 375.444 L 280.296 375.588 L 274.176 375.3 L 269.28 374.508 L 266.184 373.788 L 261.432 372.852 L 258.192 372.204 L 254.304 371.484 z; -#X obj 131 88 loadbang; -#X msg 131 109 fill #feb82f; -#X obj 131 130 draw path M 163.224 321.372 L 165.096 321.012 L 170.064 -319.932 C 173.448 319.212 176.688 318.204 179.856 316.836 C 182.592 -315.684 184.68 314.82 186.768 313.956 C 189.288 312.948 191.808 311.292 -194.04 309.204 L 197.568 306.252 L 200.592 303.228 L 202.536 301.572 -L 204.768 299.916 L 206.856 298.404 L 209.448 296.82 L 211.32 295.812 -L 213.336 294.804 L 215.424 293.796 L 217.656 292.644 L 219.312 291.78 -L 220.824 290.844 L 222.264 290.052 L 225.36 288.756 L 231.48 305.46 -L 231.624 306.108 L 231.768 306.756 L 234.144 314.676 L 236.16 322.812 -L 237.672 327.996 L 238.68 331.884 L 240.84 341.676 L 241.416 344.772 -C 241.776 346.356 242.496 347.796 243.648 349.02 C 244.08 349.452 244.584 -349.812 245.088 350.028 C 246.312 350.676 247.608 350.964 248.976 350.964 -C 249.192 350.964 249.48 350.964 249.696 350.892 C 250.632 350.82 251.568 -351.18 252.144 351.9 C 253.44 353.412 254.232 355.212 254.52 357.156 -C 254.52 357.228 254.52 357.372 254.52 357.444 C 254.52 357.804 254.448 -358.164 254.304 358.452 L 251.64 362.7 L 251.136 363.492 L 245.16 366.876 -C 244.728 367.092 244.44 367.596 244.44 368.1 C 244.44 368.172 244.44 -368.244 244.44 368.316 L 244.944 370.26 L 242.928 369.828 C 240.336 -369.18 237.672 368.892 234.864 368.892 C 233.28 368.892 231.624 368.964 -230.04 369.18 C 226.944 369.612 223.776 370.188 220.536 370.98 C 217.224 -371.772 213.84 372.204 210.312 372.276 C 207.936 372.348 205.56 372.06 -203.328 371.412 C 202.392 371.196 201.312 370.908 200.304 370.692 C -198.216 370.332 196.344 369.324 194.976 367.812 C 193.968 366.804 192.744 -365.436 191.448 364.212 L 188.208 359.604 L 186.408 356.724 L 184.464 -353.916 L 182.736 351.396 L 180 347.22 L 178.704 345.132 L 176.832 -341.316 L 175.464 338.292 L 174.528 336.42 L 173.736 334.908 C 171 -329.94 167.544 325.332 163.296 321.372 L 163.224 321.372 z; -#X obj 121 -2492 struct working-man-scalar float x float y; -#X msg 123 -2195 fill black; -#X obj 246 -2434 draw group; -#X msg 115 -2430 fill #ed171f; -#N canvas 725 143 450 300 init 0; -#X obj 88 67 line; -#X obj 88 -19 loadbang; -#X msg 88 135 transform matrix -1 0 0 1 510.336 0 translate 200 200 -scale \$1 translate -200 -200; -#X obj 88 112 pow 3; -#X msg 186 41 0.7 400; -#X obj 88 169 outlet; -#X obj 186 20 del 750; -#X msg 88 23 0.2 \, 0.9 750; -#X msg 41 68 0.5; -#X obj 88 2 del 750; -#X connect 0 0 3 0; -#X connect 1 0 8 0; -#X connect 1 0 9 0; -#X connect 2 0 5 0; -#X connect 3 0 2 0; -#X connect 4 0 0 0; -#X connect 6 0 4 0; -#X connect 7 0 0 0; -#X connect 8 0 3 0; -#X connect 9 0 7 0; -#X connect 9 0 6 0; -#X restore 246 -2464 pd init; -#X connect 0 0 27 0; +#X connect 0 0 22 0; #X connect 2 0 4 0; #X connect 4 0 3 0; -#X connect 6 0 25 0; +#X connect 6 0 21 0; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 10 0 11 0; -#X connect 12 0 13 0; +#X connect 11 0 12 0; #X connect 13 0 14 0; -#X connect 15 0 16 0; +#X connect 14 0 15 0; #X connect 16 0 17 0; +#X connect 17 0 23 0; #X connect 18 0 19 0; #X connect 19 0 20 0; -#X connect 21 0 22 0; -#X connect 22 0 23 0; -#X connect 25 0 5 0; -#X connect 27 0 1 0; -#X connect 28 0 26 0; +#X connect 21 0 5 0; +#X connect 22 0 1 0; +#X restore 121 -2430 group; +#X connect 1 0 2 0; #X restore 443 6 pd template; #X scalar working-man-scalar 218 -11 \;; #X text 13 0 Still under heavy development!; -#X text 43 160 * stroke and fill methods; +#X text 43 130 * stroke and fill methods; #X text 43 40 Stable methods of the new [draw] object are:; -#X text 43 120 _Close_ to stable (won't change unless some big problem +#X text 43 90 _Close_ to stable (won't change unless some big problem is revealed):; -#X text 43 190 Wish I could figure out a better way to do them:; -#X text 43 80 * stroke-opacity \, fill-opacity \, transform \, stroke-width +#X text 43 345 Wish I could figure out a better way to do them:; +#X text 43 60 * stroke-opacity \, fill-opacity \, transform \, stroke-width \, stroke-miterlimit \, rx \, ry \, and stroke-dasharray methods.; -#X text 43 330 * [draw group]. This will probably change to [group] -and feature a subpatch so that you can do svg group nesting.; -#X text 43 300 Unstable (will probably change):; -#X text 43 470 Experimental:; -#X text 43 220 * fill-rule \, stroke-linejoin \, stroke-linecap. The +#X text 43 460 Experimental:; +#X text 43 365 * fill-rule \, stroke-linejoin \, stroke-linecap. The problem is that they take symbolic arguments in the svg standard \, but with data structures a symbolic argument represents a variable field. So I just use a float argument. I could use quotes around a symbol to specify a constant string \, but that would be obscure and at odds with the rest of Pd.; -#X text 43 370 * [draw shape] pattern \, [drawsprite] name \, [drawimage] -names. They are inconsistent. I don't particularly like the two word -naming scheme of [draw shape] \, but [drawpolygon] is already taken -and has a different interface. So I'll either change [draw shape] to -some one-word selector or change [drawsprite] to make it more consistent -with what I have so far.; -#X text 43 570 * scalar bbox caching. All that code is essentially -a duplication of tkpath and needs to happen in the GUI.; -#X text 480 333 Upcoming:; -#X text 480 353 * data method and x \, y \, etc. method for changing -shape coordinates on the fly; +#X text 43 480 * mouse-dragging hotspots. This currently works like +old-school scalars \, and it even works with transforms. It's original +design is too limiting \, and with ds arrays the element hotspot may +even conflict with the coordinate hotspot. A more expressive way is +needed \, maybe something ported or inspired by Raphael.; #X text 480 393 * methods to better control mouse interaction. Something like the old "-x" flag but allowing separate control of edit-mode displacement and hotspot dragging. (Just because the drawing data contains a variable doesn't mean it should be draggable.); -#X text 480 463 * [draw image] instead of [drawimage] \, so that it's -transformable. (Maybe the same with drawsprite \, not sure...); -#X text 480 513 * [draw text] for scalable svg text.; -#X text 480 543 * better [draw group] inheritance. Currently drawing -a shape gives it a bunch of default attributes which you have to manually -turn off to inherit attributes from a group.; -#X text 43 490 * mouse-dragging hotspots. This currently works like -old-school scalars \, and it even works with transforms. Its original -design is too limiting \, and with ds arrays the element hotspot may -even conflict with the coordinate hotspot. A more expressive way is -needed \, maybe something ported or inspired by Raphael.; +#X text 480 473 * [draw text] for scalable svg text.; +#X text 43 250 Stable group handling:; +#X text 43 155 * [draw [shape-name]] pattern \, [draw sprite] \, and +[draw image] names. I don't particularly like the two word naming scheme +of [draw shape] \, but [drawpolygon] is already taken and has a different +interface. Additionally \, Gem already has the bare word polygon \, +so "draw" is as good a qualifier as I can think of.; +#X text 43 270 * [group] subpatch seems to work fine. It's basically +just a subpatch with an inlet to control svg attributes of the drawing +commands it conatins. It might also be handy to search abstractions +for drawing instructions \, but that isn't supported at the moment. +; +#X text 43 570 * scalar bbox caching. Should give more control to the +user as with mouse-dragging.; +#X text 480 503 * way to reset an svg attribute. Probably by just sending +a message with no arguments (not sure if tkpath supports this yet) +; +#X text 480 313 New:; +#X text 480 333 * messages to set path data \, polygon points \, x +\, y \, cx \, cy \, r \, height \, width \, etc.; +#X text 480 373 Needed:; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/01.intro.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/01.intro.pd index 50b0cd42d47955197acf0255bfbd417c46eb0250..437aa136ed2388bdce7b9d006ec187b2797d91f9 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/01.intro.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/01.intro.pd @@ -1,5 +1,5 @@ #N struct foo float x float y; -#N canvas -9 19 565 491 10; +#N canvas 0 19 565 491 10; #X scalar foo 96 105 \;; #N canvas 429 132 808 465 welcome-animation 0; #X obj 877 107 bng 54 250 50 0 empty empty empty 17 7 0 10 -262144 @@ -133,8 +133,6 @@ #X obj 311 66 draw rect -40 -50 200 90; #X obj 189 -26 struct foo float x float y; #X obj 189 4 loadbang; -#X msg 311 35 stroke-dasharray 10 4 \, stroke-width 4 \, stroke gray -; #N canvas 433 184 450 300 welcome-text 0; #N canvas 71 237 450 300 w 0; #X obj 40 215 draw path m 93.8047 87.029 c 0 1.17187 0.859375 2.05078 @@ -635,10 +633,12 @@ c -0.21485 -0.05859 -0.41016 -0.9375 -0.41016 -1.21094; #X restore 37 97 group exclamation-point; #X restore 189 66 group welcome-text; #X msg 189 37 fill black; -#X connect 2 0 3 0; +#X msg 311 35 stroke-dasharray 10 4 \, stroke-width 4 \, stroke gray +\, fill ""; #X connect 2 0 5 0; -#X connect 3 0 0 0; -#X connect 5 0 4 0; +#X connect 2 0 4 0; +#X connect 4 0 3 0; +#X connect 5 0 0 0; #X restore 339 39 pd welcome-struct; #X text 0 1 New Drawing Commands: Intro; #X text 0 1 ___________________________; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/04.attributes.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/04.attributes.pd index a250a15a6be0e9465c35d71287e16182e6da1213..798000e37a7664d42d903870eacbc6a23a2948bf 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/04.attributes.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/04.attributes.pd @@ -18,7 +18,6 @@ object attributes are supported in Pd. But the basic ones are.; object and a scalar created from them. Let's send a message to make the rectangle more interesting.; #X msg 53 252 fill red; -#X msg 123 252 fill white; #X text 53 229 Click a message box to change the "fill" attribute: ; #X text 53 394 As you can see \, the "fill" message changes the fill @@ -40,7 +39,8 @@ the fourth argument specifying opacity.; using a [loadbang] message. Notice that attributes will be the same for all scalars created from this [struct]. Later you will see how to set attributes to be different for each scalar.; +#X msg 123 252 fill green; #X connect 9 0 6 0; -#X connect 10 0 6 0; -#X connect 17 0 18 0; -#X connect 18 0 6 0; +#X connect 16 0 17 0; +#X connect 17 0 6 0; +#X connect 19 0 6 0; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/05.more.attributes.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/05.more.attributes.pd index fcbfcc40f14d484a6499e3b2f0922447bc94512e..b2dc9bd90f72e00ee5f26840cc52f44f0cbe9de5 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/05.more.attributes.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/05.more.attributes.pd @@ -1,55 +1,56 @@ #N struct drawtut-attr-cont float x float y; #N canvas 0 19 638 678 10; -#X obj 93 563 draw rect 0 0 50 50; -#X msg 93 92 fill red; +#X obj 93 583 draw rect 0 0 50 50; +#X msg 93 112 fill red; #X text 0 1 New Drawing Commands: attributes (continued); #X text 0 1 ____________________________________________; #X text 53 23 There are quite a few attributes we can control to change the appearance of a shape:; #X obj 53 57 struct drawtut-attr-cont float x float y; #X scalar drawtut-attr-cont 24 283 \;; -#X text 200 92 fill color. 1 symbol \, 3 floats (rgb) \, or 4 floats +#X text 200 112 fill color. 1 symbol \, 3 floats (rgb) \, or 4 floats (rgba); -#X text 200 150 opacity for fill color. float in range 0-1; -#X msg 100 149 fill-opacity \$1; -#X text 200 176 fill-rule for overlapping polygons. 0 = nonzero \, +#X text 200 170 opacity for fill color. float in range 0-1; +#X msg 100 169 fill-opacity \$1; +#X text 200 196 fill-rule for overlapping polygons. 0 = nonzero \, 1 = evenodd; -#X floatatom 113 201 5 0 0 0 - - -, f 5; -#X floatatom 120 246 5 0 0 0 - - -, f 5; -#X msg 113 223 rx \$1; -#X msg 120 270 ry \$1; -#X text 160 223 x value for rounded rectangle corner; -#X text 164 271 y value for rounded rectangle corner; -#X text 214 297 stroke color. 1 symbol \, 3 floats (rgb) \, or 4 floats +#X floatatom 113 221 5 0 0 0 - - -, f 5; +#X floatatom 120 266 5 0 0 0 - - -, f 5; +#X msg 113 243 rx \$1; +#X msg 120 290 ry \$1; +#X text 160 243 x value for rounded rectangle corner; +#X text 164 291 y value for rounded rectangle corner; +#X text 214 317 stroke color. 1 symbol \, 3 floats (rgb) \, or 4 floats (rgba); -#X text 274 324 list of numbers to specify dash lengths; -#X msg 140 351 stroke-linecap 0; -#X text 254 351 for ends of open subpaths. 0 = butt \, 1 = round \, +#X text 274 344 list of numbers to specify dash lengths; +#X msg 140 371 stroke-linecap 0; +#X text 254 371 for ends of open subpaths. 0 = butt \, 1 = round \, 2 = square; -#X text 264 379 shape of path corners. 0 = miter \, 1 = round \, 2 +#X text 264 399 shape of path corners. 0 = miter \, 1 = round \, 2 = bevel; -#X text 286 405 limit miter length; -#X text 286 432 opacity for the stroke. float in range 0-1; -#X text 286 458 width of the stroke.; -#X msg 146 378 stroke-linejoin 0; -#X msg 151 405 stroke-miterlimit 0; -#X msg 155 432 stroke-opacity 0.4; -#X text 286 536 affine transformation on the object.; -#X msg 158 459 stroke-width 10; -#X floatatom 161 491 5 0 0 0 - - -, f 5; -#X msg 161 536 transform skewx \$1; -#X obj 161 512 * 0.01; -#X text 275 580 Read more about svg attributes here:; -#X obj 275 601 pddp/pddplink http://www.w3.org/TR/SVG11/painting.html +#X text 286 425 limit miter length; +#X text 286 452 opacity for the stroke. float in range 0-1; +#X text 286 478 width of the stroke.; +#X msg 146 398 stroke-linejoin 0; +#X msg 151 425 stroke-miterlimit 0; +#X msg 155 452 stroke-opacity 0.4; +#X text 286 556 affine transformation on the object.; +#X msg 158 479 stroke-width 10; +#X floatatom 161 511 5 0 0 0 - - -, f 5; +#X msg 161 556 transform skewx \$1; +#X obj 161 532 * 0.01; +#X text 275 600 Read more about svg attributes here:; +#X obj 275 621 pddp/pddplink http://www.w3.org/TR/SVG11/painting.html ; -#X msg 107 176 fill-rule 0; -#X msg 134 324 stroke-dasharray 5 10; -#X msg 127 297 stroke purple; -#X obj 127 121 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 600 1; -#X text 107 121 0; -#X text 268 121 1; +#X msg 107 196 fill-rule 0; +#X msg 134 344 stroke-dasharray 5 10; +#X msg 127 317 stroke purple; +#X obj 127 141 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 107 141 0; +#X text 268 141 1; #X text 25 348 (scalar); +#X obj 93 85 loadbang; #X connect 1 0 0 0; #X connect 9 0 0 0; #X connect 11 0 13 0; @@ -68,3 +69,4 @@ the appearance of a shape:; #X connect 36 0 0 0; #X connect 37 0 0 0; #X connect 38 0 9 0; +#X connect 42 0 1 0; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/08.circle.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/08.circle.pd index 0e66156317303a4a7ae2da36d5f05e68dd94c484..61d1ade6a1945263c421285ec98cd2847c43b3ff 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/08.circle.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/08.circle.pd @@ -1,6 +1,6 @@ #N struct drawtut-circle float x float y; #N canvas 0 19 638 554 10; -#X msg 53 117 stroke blue; +#X msg 143 117 stroke blue; #X text 52 484 Lines are only a single stroke. They don't have any inner area to fill \, so none of the messages like "fill" or "fill-rule" have any effect.; @@ -10,7 +10,7 @@ have any effect.; #X obj 53 57 struct drawtut-circle float x float y; #X scalar drawtut-circle 157 283 \;; #X text 248 270 <- a circle; -#X msg 142 117 fill yellow; +#X msg 53 117 fill yellow; #X msg 228 117 stroke-width \$1; #X floatatom 228 93 5 0 0 0 - - -, f 5; #X obj 53 153 draw circle 0 0 80; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/09.ellipse.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/09.ellipse.pd index 5157979abbf64e0e6eed95818a00eb17da31700f..65c0619be1b65cb2dd1c816f8dc6c539c41dd464 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/09.ellipse.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/09.ellipse.pd @@ -1,7 +1,7 @@ #N struct drawtut-ellipse float x float y; #N canvas 0 19 509 498 10; -#X msg 53 117 stroke blue; -#X msg 142 117 fill yellow; +#X msg 141 117 stroke blue; +#X msg 54 117 fill yellow; #X msg 228 117 stroke-width \$1; #X floatatom 228 93 5 0 0 0 - - -, f 5; #X obj 53 153 draw ellipse 0 0 86 42; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/10.polyline.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/10.polyline.pd index 387e87181e2fb6d506a5a4f1b7cc4c8da87a9861..33e6b8a91d4f0c8a0e28b8b3c512b62477553f18 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/10.polyline.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/10.polyline.pd @@ -27,6 +27,7 @@ the [draw] object quite powerful.; #X msg 53 137 stroke purple; #X msg 142 137 fill gray; #X msg 228 95 10; +#X obj 53 103 loadbang; #X connect 0 0 6 0; #X connect 1 0 0 0; #X connect 9 0 14 0; @@ -37,3 +38,4 @@ the [draw] object quite powerful.; #X connect 15 0 6 0; #X connect 16 0 6 0; #X connect 17 0 1 0; +#X connect 18 0 15 0; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/14.group.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/14.group.pd index 505d881f864d98c085a6d126bb68424f884cc25f..d6eff9dd6d4cc397fddff6efd2d0703da453af1c 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/14.group.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/14.group.pd @@ -19,17 +19,17 @@ of individually.; #X obj 35 26 loadbang; #X msg 35 47 fill blue; #X obj 35 210 loadbang; -#X msg 35 231 stroke-width 10; #X obj 35 101 loadbang; -#X msg 35 122 stroke darkgreen \, stroke-width 10; #X msg 49 148 fill white; +#X msg 35 122 stroke darkgreen \, stroke-width 10 \, fill ""; +#X msg 35 231 stroke-width 10 \, stroke black; #X connect 3 0 4 0; #X connect 4 0 0 0; -#X connect 5 0 6 0; -#X connect 6 0 2 0; -#X connect 7 0 8 0; +#X connect 5 0 9 0; +#X connect 6 0 8 0; +#X connect 7 0 1 0; #X connect 8 0 1 0; -#X connect 9 0 1 0; +#X connect 9 0 2 0; #X restore 434 236 group; #X text 53 263 The [group] object is essentially just a subpatch with an inlet. You can send it all the same messages that you can send to diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/15.events.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/15.events.pd index f3be7f667c80c7c1026dc315b4b76d071a7f1831..c448a1bdaa00ca416ba0ed23ed89dd659ba64fe4 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/15.events.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/15.events.pd @@ -5,8 +5,8 @@ #X text 0 1 New Drawing Commands: mouse events; #X text 53 43 When the user mouses over or clicks a scalar a message gets sent to the outlet of the corresponding [struct] object.; -#X obj 373 87 loadbang; -#X msg 373 108 fill blue; +#X obj 343 87 loadbang; +#X msg 343 108 fill blue; #X text 53 430 The following events are reported:; #X text 53 490 click - clicking the scalar in "Run mode"; #X text 53 550 enter - moving the mouse over a scalar; @@ -20,9 +20,9 @@ shape or value; #X obj 53 138 list split 1; #X obj 63 113 print; #X obj 53 87 struct drawtut-events float x float y; -#X msg 411 200 fill white; +#X msg 381 200 fill white; #X text 149 261 <- Click and move the mouse over these shapes; -#X obj 373 157 loadbang; +#X obj 343 157 loadbang; #X text 149 299 Notice that when you move from the circle's border to its center \, you generate a "leave" event. This is because the circle has no fill color. Once you set a fill color-- even white-- @@ -31,14 +31,14 @@ then the middle will count as part of the shape.; event \, which will register a click for anything inside the scalar's bounding box (i.e. \, the selection rectangle that appears when you select it in edit-mode.; -#X obj 373 129 draw rect 0 0 60 60; -#X msg 373 178 stroke-width 20; -#X obj 373 221 draw circle 30 120 25; +#X obj 343 129 draw rect 0 0 60 60; +#X obj 343 221 draw circle 30 120 25; +#X msg 343 178 stroke-width 20 \, stroke black \, fill ""; #X connect 4 0 5 0; #X connect 5 0 23 0; #X connect 15 0 14 0; #X connect 17 0 15 0; #X connect 17 0 16 0; -#X connect 18 0 25 0; -#X connect 20 0 24 0; -#X connect 24 0 25 0; +#X connect 18 0 24 0; +#X connect 20 0 25 0; +#X connect 25 0 24 0; diff --git a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/16.animation.pd b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/16.animation.pd index f0264879d03d9fda8a613ed286e1db6dbf9139f3..47d9e491d65fbaf6ec0e31d4437a49c0d541680c 100644 --- a/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/16.animation.pd +++ b/pd/doc/4.data.structures/pd-l2ork/ds-tutorials/16.animation.pd @@ -1,45 +1,45 @@ #N struct drawtut-animation float x float y; -#N canvas -9 19 537 571 10; -#X scalar drawtut-animation 47 306 \;; -#X obj 47 271 draw rect 0 0 40 40; -#X obj 47 135 struct drawtut-animation float x float y; +#N canvas 0 19 537 571 10; +#X scalar drawtut-animation 47 309 \;; +#X obj 47 279 draw rect 0 0 40 40; +#X obj 47 131 struct drawtut-animation float x float y; #X text 0 1 New Drawing Commands: animation; #X text 1 1 _______________________________; -#X text 47 26 The svg specification has some handy attributes which +#X text 47 25 The svg specification has some handy attributes which can be used to animate the transition between values for other attributes. Unfortunately the new [draw] commands don't currently support those attributes.; -#X text 47 86 However \, if you can do the same thing using some of +#X text 47 82 However \, if you can do the same thing using some of Pd's core objects. For example \, with [line] you can create a ramp between values.; -#X obj 47 166 tgl 23 0 empty empty empty 17 7 0 10 -4034 -1 -1 0 1 +#X obj 47 168 tgl 23 0 empty empty empty 17 7 0 10 -4034 -1 -1 0 1 ; -#X obj 47 193 * 255; -#X msg 47 212 \$1 500; -#X text 171 271 <- use the 2nd argument to set the "grain" rate; -#X text 47 358 This is less efficient than svg's animation interface. +#X msg 47 220 \$1 500; +#X text 171 279 <- use the 2nd argument to set the "grain" rate; +#X text 47 371 This is less efficient than svg's animation interface. Here \, Pd must send a message for each change in value during the ramp. However \, you can use the 2nd argument to [line] to tell it how many milliseconds it should wait before outputting a ramp value. Use the objects below to convert between "grain" rate and frames-per-second. ; -#X floatatom 50 451 5 0 0 0 - - -, f 5; -#X msg 50 472 1000 \$1; -#X obj 50 493 /; -#X floatatom 50 514 5 0 0 1 - - -, f 5; -#X obj 47 232 line 0 33.333; -#X text 112 450 <-- If you want to convert grain-rate to fps \, type +#X floatatom 50 459 5 0 0 0 - - -, f 5; +#X msg 50 480 1000 \$1; +#X obj 50 501 /; +#X floatatom 50 522 5 0 0 1 - - -, f 5; +#X obj 47 240 line 0 33.333; +#X text 112 458 <-- If you want to convert grain-rate to fps \, type the grain-rate in the box and read out the answer in the bottom box. On the other hand if you want to convert fps to grain-rate simply think your desire at the patch and Pd will automatically do the conversion in the other direction!; -#X text 112 516 How does it know?; -#X msg 47 252 fill \$1 \$1 \$1; -#X connect 7 0 8 0; -#X connect 8 0 9 0; -#X connect 9 0 16 0; +#X text 112 524 How does it know?; +#X msg 47 260 fill \$1 \$1 \$1; +#X obj 47 198 * 255; +#X connect 7 0 19 0; +#X connect 8 0 15 0; +#X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 13 0 14 0; -#X connect 14 0 15 0; -#X connect 16 0 19 0; -#X connect 19 0 1 0; +#X connect 15 0 18 0; +#X connect 18 0 1 0; +#X connect 19 0 8 0; diff --git a/pd/doc/4.data.structures/pd-l2ork/sprite-game/game.pd b/pd/doc/4.data.structures/pd-l2ork/sprite-game/game.pd index 8d83572ee0d12317ea9351e3d4d3dda935fbeb7c..067459399877a88bd9a572f3d2f1ed3b5e1ce442 100644 --- a/pd/doc/4.data.structures/pd-l2ork/sprite-game/game.pd +++ b/pd/doc/4.data.structures/pd-l2ork/sprite-game/game.pd @@ -1,6 +1,6 @@ #N struct foo; -#N canvas 34 19 881 608 10; -#X obj 661 39 pddplink http://remusprites.carbonmade.com/ -text Sprite +#N canvas 0 19 881 608 10; +#X obj 731 39 pddplink http://remusprites.carbonmade.com/ -text Sprite by Bleed; #N canvas 480 111 853 605 (subpatch) 0; #X obj 253 455 cnv 15 378 41 empty empty empty 20 12 0 14 -204786 -66577 @@ -367,13 +367,13 @@ z m -10.2 6.76 c -16.409 -1.07188 2.85868 -24.3778 6.81644 -7.79128 #X msg 68 509 stroke-dasharray 5 6 \, fill yellow \, fill-opacity 0.5 \, stroke darkgray; #X obj 367 401 loadbang; -#X msg 367 422 fill yellow \, transform translate 27 -7 scale 0.57 -; #X msg 411 245 fill black \, transform translate -130 100 scale 0.75 \, fill-opacity 0.6 \, stroke-opacity 0.6; #X obj 411 224 loadbang; #X obj 606 168 loadbang; #X obj 259 324 r \$0-hit-object; +#X msg 367 422 fill yellow \, transform translate 27 -7 scale 0.57 +\, stroke black; #X connect 5 0 22 0; #X connect 8 0 23 0; #X connect 9 0 27 0; @@ -417,14 +417,14 @@ z m -10.2 6.76 c -16.409 -1.07188 2.85868 -24.3778 6.81644 -7.79128 #X connect 45 0 33 0; #X connect 45 0 34 0; #X connect 46 0 7 0; -#X connect 47 0 48 0; -#X connect 48 0 14 0; -#X connect 49 0 25 1; -#X connect 50 0 49 0; -#X connect 51 0 28 0; -#X connect 52 0 17 0; -#X restore 664 138 group; -#N canvas 322 56 1002 543 guts 0; +#X connect 47 0 52 0; +#X connect 48 0 25 1; +#X connect 49 0 48 0; +#X connect 50 0 28 0; +#X connect 51 0 17 0; +#X connect 52 0 14 0; +#X restore 734 138 group; +#N canvas 150 76 1002 543 guts 1; #X obj 155 292 * 6; #X obj 181 254 + 1; #X obj 155 342 pack; @@ -563,7 +563,7 @@ z m -10.2 6.76 c -16.409 -1.07188 2.85868 -24.3778 6.81644 -7.79128 #X obj 181 223 float 40; #X obj 36 223 float 47; #X obj 797 75 loadbang; -#N canvas 421 92 756 500 game-engine 0; +#N canvas 82 159 756 500 game-engine 0; #X obj 37 14 inlet; #X obj 37 65 f; #X obj 67 65 + 1; @@ -720,6 +720,11 @@ connect 10 0 11 0 \,; #X obj 134 296 send game-canvas; #X obj 254 100 send bullets; #X obj 254 79 f 14; +#X obj 347 58 b; +#X obj 347 100 send music; +#X obj 318 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 347 80 list append verse synthbass pluck1 simple-snare; #X msg 134 132 obj 190 239 float 0 \, obj 190 319 + 1 \, obj 190 149 bng 50 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, text 235 319 <- This will add '1' to the incoming value and also store that @@ -731,20 +736,15 @@ time you fire a 'bang' above. \, obj 190 392 * 7 \, floatatom 223 369 6 0 4 0 \, connect 8 0 10 0 \, connect 8 0 11 0 \, connect 11 0 12 0 \, text 200 20 Level 7: My End is My Next Bang'd Beginning \, text 200 20 ___________________________________________; -#X obj 347 58 b; -#X obj 347 100 send music; -#X obj 318 19 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 347 80 list append verse synthbass pluck1 simple-snare; -#X connect 0 0 5 0; +#X connect 0 0 9 0; #X connect 0 0 1 0; -#X connect 0 0 6 0; +#X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 4 0 3 0; -#X connect 5 0 2 0; -#X connect 6 0 9 0; +#X connect 5 0 8 0; +#X connect 7 0 5 0; #X connect 8 0 6 0; -#X connect 9 0 7 0; +#X connect 9 0 2 0; #X restore 232 198 pd accumulate; #X obj 132 146 select 0 1 2 3 4 5 6; #N canvas 677 249 537 300 dynamic 0; @@ -776,6 +776,10 @@ empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 396 328 send the_answer #X obj 134 436 send game-canvas; #X obj 254 100 send bullets; #X obj 254 79 f 21; +#X obj 353 45 b; +#X obj 353 107 send music; +#X obj 353 69 list append verse simple-bass simple-snare guitar-arpeggios +; #X msg 134 132 obj 259 125 bng 48 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 259 199 metro 1000 \, obj 259 230 float 0 \, obj 259 268 == 0 \, obj 174 309 tgl 15 0 empty empty empty 17 7 0 10 @@ -783,29 +787,26 @@ obj 259 268 == 0 \, obj 174 309 tgl 15 0 empty empty empty 17 7 0 10 10 -262144 -1 -1 0 1 \, obj 227 392 spigot 0 \, obj 157 391 spigot 0 \, obj 227 329 bng 32 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 157 329 bng 32 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1 \, obj 157 452 + \, text 200 20 Level 11: I've Got Rhythm \, -obj 227 367 f 21 \, obj 157 367 f 21 \, obj 157 473 select 42 \, obj -157 494 send the_answer \, floatatom 237 413 5 0 0 0 - - - \, f 5 \, -floatatom 167 412 5 0 0 0 - - - \, f 5 \, text 332 199 <- after you -send a bang it will send out one bang every second. \, connect 4 0 -5 0 \, connect 5 0 6 0 \, connect 6 0 7 0 \, connect 6 0 8 0 \, connect -6 0 11 1 \, connect 7 0 6 1 \, connect 7 0 9 0 \, connect 7 0 10 1 -\, connect 10 0 14 1 \, connect 10 0 20 0 \, connect 11 0 14 0 \, connect -11 0 21 0 \, connect 12 0 16 0 \, connect 13 0 17 0 \, connect 14 0 -18 0 \, connect 16 0 10 0 \, connect 17 0 11 0 \, connect 18 0 19 0 -\, text 200 20 _________________________; -#X obj 353 45 b; -#X obj 353 107 send music; -#X obj 353 69 list append verse simple-bass simple-snare guitar-arpeggios +-1 -1 \, obj 157 452 + \, text 200 20 Level 11: You and Me and a Metronome +Makes Three \, obj 227 367 f 21 \, obj 157 367 f 21 \, obj 157 473 +select 42 \, obj 157 494 send the_answer \, floatatom 237 413 5 0 0 +0 - - - \, f 5 \, floatatom 167 412 5 0 0 0 - - - \, f 5 \, text 332 +199 <- after you send a bang it will send out one bang every second. +\, connect 4 0 5 0 \, connect 5 0 6 0 \, connect 6 0 7 0 \, connect +6 0 8 0 \, connect 6 0 11 1 \, connect 7 0 6 1 \, connect 7 0 9 0 \, +connect 7 0 10 1 \, connect 10 0 14 1 \, connect 10 0 20 0 \, connect +11 0 14 0 \, connect 11 0 21 0 \, connect 12 0 16 0 \, connect 13 0 +17 0 \, connect 14 0 18 0 \, connect 16 0 10 0 \, connect 17 0 11 0 +\, connect 18 0 19 0 \, text 200 20 ________________________________________________ ; -#X connect 0 0 5 0; +#X connect 0 0 8 0; #X connect 0 0 1 0; -#X connect 0 0 6 0; +#X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 4 0 3 0; -#X connect 5 0 2 0; -#X connect 6 0 8 0; -#X connect 8 0 7 0; +#X connect 5 0 7 0; +#X connect 7 0 6 0; +#X connect 8 0 2 0; #X restore 394 322 pd metro-and-spigots; #N canvas 677 249 618 300 delay 0; #X obj 134 25 inlet; @@ -1005,9 +1006,15 @@ change it to 'X' for '1'... \, connect 4 0 10 0 \, connect 6 0 7 0 #X obj 134 436 send game-canvas; #X obj 254 100 send bullets; #X obj 254 79 f 21; +#X obj 344 38 b; +#X obj 344 100 send music; +#X obj 344 62 list append verse simple-bass simple-snare guitar-arpeggios +pluck2; +#X obj 441 33 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; #X msg 134 132 obj 367 193 bng 48 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 367 286 float 0 \, obj 367 321 == 0 \, text -268 38 Level 10: I've Got Rhythm \, text 268 38 _________________________ +268 38 Level 10: I've Got Quantized Rhythm \, text 268 38 __________________________________ \, obj 367 257 metro 1500 \, obj 334 454 spigot \, obj 167 333 bng 48 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 367 433 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 \, obj 334 475 @@ -1016,21 +1023,15 @@ text 442 255 <- This metronome sends a bang every 1 1/2 seconds. \, connect 4 0 9 0 \, connect 5 0 6 0 \, connect 6 0 5 1 \, connect 6 0 12 0 \, connect 9 0 5 0 \, connect 10 0 13 0 \, connect 11 0 15 0 \, connect 12 0 10 1 \, connect 13 0 14 0 \, connect 15 0 10 0 \,; -#X obj 344 38 b; -#X obj 344 100 send music; -#X obj 344 62 list append verse simple-bass simple-snare guitar-arpeggios -pluck2; -#X obj 441 33 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X connect 0 0 5 0; +#X connect 0 0 9 0; #X connect 0 0 1 0; -#X connect 0 0 6 0; +#X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 4 0 3 0; -#X connect 5 0 2 0; -#X connect 6 0 8 0; +#X connect 5 0 7 0; +#X connect 7 0 6 0; #X connect 8 0 7 0; -#X connect 9 0 8 0; +#X connect 9 0 2 0; #X restore 373 353 pd metro; #N canvas 674 144 639 474 toggle 0; #X obj 134 25 inlet; @@ -1042,7 +1043,7 @@ pluck2; -1 -1 0 1 \, obj 209 418 select 42 \, obj 209 439 s the_answer \, text 373 164 <- This is a toggle. When you send it a 'bang' the toggle displays an 'X' and sends a '1'. 'Bang' it again and it becomes empty and sends -'0'. \, text 200 20 Level 5: To Be or Not \, text 200 20 _____________________ +'0'. \, text 200 20 Level 6: To Be or Not \, text 200 20 _____________________ \, obj 357 298 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 306 298 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1 \, obj 298 271 select 0 1 \, obj 209 325 float 42 \, obj 209 @@ -1052,10 +1053,9 @@ an 'X' and sends a '1'. 'Bang' it again and it becomes empty and sends 0 \, connect 12 1 10 0 \, connect 12 1 15 0 \, connect 13 0 17 0 \, connect 14 0 13 0 \, connect 15 0 17 1 \, connect 16 0 17 1 \, connect 17 0 5 0 \,; -#X obj 340 58 b; -#X obj 340 100 send music; -#X obj 339 78 list append verse siren-fade-single pluck-fade simple-snare -; +#X obj 374 51 b; +#X obj 374 93 send music; +#X obj 374 72 list append verse siren-to-bass pluck1 simple-snare; #X connect 0 0 5 0; #X connect 0 0 1 0; #X connect 0 0 6 0; @@ -1064,7 +1064,7 @@ connect 14 0 13 0 \, connect 15 0 17 1 \, connect 16 0 17 1 \, connect #X connect 5 0 2 0; #X connect 6 0 8 0; #X connect 8 0 7 0; -#X restore 198 252 pd toggle; +#X restore 215 223 pd toggle; #N canvas 553 178 608 363 gate 0; #X obj 134 25 inlet; #X obj 254 58 b; @@ -1078,22 +1078,20 @@ connect 14 0 13 0 \, connect 15 0 17 1 \, connect 16 0 17 1 \, connect is a spigot. Input at left only passes if the input at right has received a number that isn't a '0'. \, connect 4 0 5 0 \, connect 5 0 6 0 \, connect 6 0 8 0 \, connect 7 0 6 1 \, connect 8 0 9 0 \, text 200 20 -Level 6: Heaven's Gate \, text 200 20 ______________________; -#X obj 346 57 b; -#X obj 346 99 send music; -#X obj 430 37 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 346 78 list append verse siren-to-bass pluck1 simple-snare; +Level 5: Heaven's Gate \, text 200 20 ______________________; +#X obj 353 56 b; +#X obj 352 98 send music; +#X obj 352 76 list append verse siren-fade-single pluck-fade simple-snare +; #X connect 0 0 5 0; #X connect 0 0 1 0; #X connect 0 0 6 0; #X connect 1 0 4 0; #X connect 4 0 3 0; #X connect 5 0 2 0; -#X connect 6 0 9 0; -#X connect 8 0 9 0; -#X connect 9 0 7 0; -#X restore 215 221 pd gate; +#X connect 6 0 8 0; +#X connect 8 0 7 0; +#X restore 198 251 pd gate; #N canvas 408 232 721 435 line 0; #X obj 134 25 inlet; #X obj 254 58 b; @@ -1393,8 +1391,8 @@ connect 14 0 16 1 \, connect 15 0 20 0 \, connect 15 1 17 0 \, connect #X connect 12 1 9 0; #X connect 12 2 7 0; #X connect 12 3 10 0; -#X connect 12 4 25 0; -#X connect 12 5 26 0; +#X connect 12 4 26 0; +#X connect 12 5 25 0; #X connect 12 6 11 0; #X connect 12 7 22 0; #X connect 18 0 34 0; @@ -1437,7 +1435,7 @@ connect 14 0 16 1 \, connect 15 0 20 0 \, connect 15 1 17 0 \, connect #X obj 786 454 list append; #X obj 786 475 send sfx; #X msg 786 314 bbox \, class; -#N canvas 717 92 574 583 check_for_object 0; +#N canvas 717 92 574 583 check_for_object 1; #X obj 38 20 inlet; #X msg 139 88 72 236; #X msg 194 88 -76 60; @@ -1804,7 +1802,7 @@ shooting the final [s the_answer] object; #X obj 58 265 route 0 1 2 3; #X obj 85 515 del 140; #X obj 58 611 rev1~; -#N canvas 905 222 450 300 cut 0; +#N canvas 373 246 450 300 cut 1; #X obj 102 10 inlet; #X obj 104 152 list split; #X msg 224 133 5; @@ -1825,7 +1823,6 @@ shooting the final [s the_answer] object; #X restore 58 440 pd cut; #X msg 112 585 2; #X obj 85 395 random 3; -#X msg 58 353 0 12 19 24 31 36; #N canvas 291 46 408 438 ks 0; #X obj 260 30 inlet; #X obj 67 130 noise~; @@ -1909,16 +1906,17 @@ shooting the final [s the_answer] object; #X obj 278 404 random 4; #X obj 58 632 *~ 0.14; #X obj 278 494 random 2; +#X msg 58 353 0 12 19 24 31 36; #X connect 0 0 2 0; #X connect 1 0 3 0; #X connect 1 1 12 0; #X connect 2 0 1 0; #X connect 2 1 0 1; -#X connect 3 0 48 0; -#X connect 4 0 47 0; -#X connect 5 0 47 0; -#X connect 6 0 47 0; -#X connect 7 0 47 0; +#X connect 3 0 47 0; +#X connect 4 0 46 0; +#X connect 5 0 46 0; +#X connect 6 0 46 0; +#X connect 7 0 46 0; #X connect 8 0 14 0; #X connect 9 0 8 0; #X connect 9 1 16 0; @@ -1928,62 +1926,62 @@ shooting the final [s the_answer] object; #X connect 11 2 6 0; #X connect 11 3 7 0; #X connect 12 0 0 0; -#X connect 13 0 58 0; +#X connect 13 0 57 0; #X connect 14 0 2 0; #X connect 15 0 13 1; #X connect 16 0 8 1; -#X connect 17 0 9 0; -#X connect 18 0 13 0; +#X connect 17 0 13 0; +#X connect 18 0 19 0; #X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 49 0; -#X connect 22 0 39 0; -#X connect 23 0 15 0; -#X connect 27 0 26 0; -#X connect 27 0 43 1; -#X connect 28 0 43 1; -#X connect 29 0 28 0; -#X connect 30 0 35 0; -#X connect 31 0 32 0; -#X connect 31 1 33 0; -#X connect 31 2 34 0; -#X connect 31 3 34 0; -#X connect 32 0 47 0; -#X connect 33 0 47 0; -#X connect 34 0 47 0; -#X connect 35 0 11 0; -#X connect 35 1 31 0; -#X connect 36 0 40 1; -#X connect 37 0 38 0; -#X connect 39 0 19 0; -#X connect 39 1 41 0; -#X connect 40 0 30 1; +#X connect 20 0 48 0; +#X connect 21 0 38 0; +#X connect 22 0 15 0; +#X connect 26 0 25 0; +#X connect 26 0 42 1; +#X connect 27 0 42 1; +#X connect 28 0 27 0; +#X connect 29 0 34 0; +#X connect 30 0 31 0; +#X connect 30 1 32 0; +#X connect 30 2 33 0; +#X connect 30 3 33 0; +#X connect 31 0 46 0; +#X connect 32 0 46 0; +#X connect 33 0 46 0; +#X connect 34 0 11 0; +#X connect 34 1 30 0; +#X connect 35 0 39 1; +#X connect 36 0 37 0; +#X connect 38 0 18 0; +#X connect 38 1 40 0; +#X connect 39 0 29 1; +#X connect 40 0 41 0; +#X connect 41 0 39 0; #X connect 41 0 42 0; -#X connect 42 0 40 0; -#X connect 42 0 43 0; -#X connect 43 0 26 0; -#X connect 43 0 46 0; -#X connect 44 0 26 0; -#X connect 44 0 43 1; -#X connect 45 0 41 1; -#X connect 46 0 45 0; +#X connect 42 0 25 0; +#X connect 42 0 45 0; +#X connect 43 0 25 0; +#X connect 43 0 42 1; +#X connect 44 0 40 1; +#X connect 45 0 44 0; +#X connect 46 0 59 0; +#X connect 46 1 3 1; #X connect 47 0 17 0; -#X connect 47 1 3 1; -#X connect 48 0 18 0; -#X connect 49 0 30 0; -#X connect 49 1 50 0; -#X connect 50 0 51 0; -#X connect 51 0 56 0; -#X connect 51 1 52 0; -#X connect 52 0 12 1; -#X connect 53 0 59 0; -#X connect 54 0 12 1; -#X connect 55 0 53 0; -#X connect 56 0 57 0; -#X connect 57 0 55 0; -#X connect 58 0 24 0; -#X connect 58 0 25 0; -#X connect 59 0 54 0; +#X connect 48 0 29 0; +#X connect 48 1 49 0; +#X connect 49 0 50 0; +#X connect 50 0 55 0; +#X connect 50 1 51 0; +#X connect 51 0 12 1; +#X connect 52 0 58 0; +#X connect 53 0 12 1; +#X connect 54 0 52 0; +#X connect 55 0 56 0; +#X connect 56 0 54 0; +#X connect 57 0 23 0; +#X connect 57 0 24 0; +#X connect 58 0 53 0; +#X connect 59 0 9 0; #X restore 795 246 pd guitar-arpeggios; #X msg 107 58 0; #X obj 107 79 send omni; @@ -2361,7 +2359,7 @@ shooting the final [s the_answer] object; #X restore 923 246 pd simple-snare; #N canvas 115 68 1190 634 baseline 0; #X obj 326 343 phasor~; -#X msg 326 186 \$12; +#X msg 326 186 \$15; #X obj 326 227 mtof; #X obj 326 279 line~; #X obj 1065 87 + 1; @@ -2534,7 +2532,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 72 0 11 0; #X restore 469 285 pd baseline; #N canvas 1 37 682 683 siren 0; -#X msg 269 204 \$3; +#X msg 269 204 \$4; #X obj 269 235 mtof; #X obj 269 287 line~; #X obj 479 152 + 1; @@ -2552,7 +2550,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X obj 350 -2 f; #X msg 269 173 \$1 \$2 \$2 \$2; #X obj 269 -87 trigger anything anything; -#X msg 789 274 \$3; +#X msg 789 274 \$4; #X obj 789 298 mtof; #X obj 789 346 line~; #X obj 969 182 + 1; @@ -2705,7 +2703,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 713 285 pd siren; #N canvas 19 60 947 608 simple-bass 0; #X obj 195 273 phasor~; -#X msg 195 166 \$12; +#X msg 195 166 \$15; #X obj 195 197 mtof; #X obj 195 249 line~; #X msg 195 74 40 52; @@ -2817,7 +2815,7 @@ adddollar 1 \, add2 0 0 0 0 0 0 0 0 0; #X restore 76 285 pd simple-bass; #N canvas 0 19 1366 684 stepwise-bass 0; #X obj 215 303 phasor~; -#X msg 215 146 \$12; +#X msg 215 146 \$15; #X obj 215 177 mtof; #X obj 215 229 line~; #X obj 565 13 + 1; @@ -2916,7 +2914,7 @@ adddollar 1 \, add2 0 0 0 0 0 0 0 0 0; adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 3 \, adddollar 3 \, adddollar 3 \, adddollar 3; -#X obj 155 423 *~ 0.15; +#X obj 155 423 *~ 0.1; #X connect 0 0 31 1; #X connect 1 0 2 0; #X connect 1 0 35 0; @@ -3044,7 +3042,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 167 285 pd stepwise-bass; #N canvas 288 49 565 650 siren-to-bass 0; #X obj 200 380 phasor~; -#X msg 75 179 \$3; +#X msg 75 179 \$4; #X obj 200 264 mtof; #X obj 200 311 line~; #X msg 75 55 40 52; @@ -3151,7 +3149,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 539 285 pd siren-to-bass; #N canvas 440 34 584 635 siren-fade 0; #X obj 192 372 phasor~; -#X msg 95 246 \$3; +#X msg 95 246 \$4; #X obj 192 300 mtof; #X obj 192 348 line~; #X msg 95 109 40 52; @@ -3271,7 +3269,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 713 335 pd siren-fade; #N canvas 440 34 584 670 siren-fade-long 0; #X obj 192 372 phasor~; -#X msg 95 246 \$3; +#X msg 95 246 \$4; #X obj 192 300 mtof; #X obj 192 348 line~; #X msg 95 109 40 52; @@ -3391,7 +3389,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 803 335 pd siren-fade-long; #N canvas 440 34 584 670 siren-fade-single 0; #X obj 192 372 phasor~; -#X msg 95 246 \$3; +#X msg 95 246 \$4; #X obj 192 300 mtof; #X obj 192 348 line~; #X msg 95 109 40 52; @@ -3698,7 +3696,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 642 175 pd pluck-fade; #N canvas 0 19 797 634 level8-bass 0; #X obj 326 343 phasor~; -#X msg 326 186 \$12; +#X msg 326 186 \$15; #X obj 326 227 mtof; #X obj 326 279 line~; #X obj 645 127 + 1; @@ -3823,7 +3821,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X obj 286 494 *~ 0.5; #X obj 493 494 *~ 0.5; #N canvas 76 51 1221 608 stepwise-osc 0; -#X msg 215 146 \$12; +#X msg 215 146 \$15; #X obj 215 177 mtof; #X obj 215 229 line~; #X obj 565 13 + 1; @@ -3924,7 +3922,6 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X obj 215 303 osc~; #X obj 681 130 r stepwise-osc; #X obj 215 345 clip~ -1 1; -#X obj 155 463 *~ 0.1; #X obj 279 216 v \$0-x; #X obj 266 168 metro 100; #X obj 254 144 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 @@ -3935,6 +3932,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X obj 274 308 line~; #X obj 215 324 *~; #X obj 529 375 loadbang; +#X obj 155 463 *~ 0.1; #X connect 0 0 1 0; #X connect 0 0 34 0; #X connect 1 0 44 0; @@ -3976,7 +3974,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 28 0 26 1; #X connect 29 0 31 0; #X connect 30 0 51 0; -#X connect 30 0 95 0; +#X connect 30 0 104 0; #X connect 31 0 30 0; #X connect 32 0 31 0; #X connect 33 0 32 0; @@ -4007,7 +4005,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 48 0 61 0; #X connect 49 0 61 0; #X connect 50 0 61 0; -#X connect 51 0 95 0; +#X connect 51 0 104 0; #X connect 52 0 53 0; #X connect 53 0 51 1; #X connect 54 0 25 0; @@ -4055,20 +4053,20 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 89 0 78 0; #X connect 90 0 87 0; #X connect 91 0 56 0; -#X connect 92 0 103 0; +#X connect 92 0 102 0; #X connect 93 0 13 0; #X connect 94 0 30 1; -#X connect 95 0 9 0; -#X connect 95 0 10 0; -#X connect 96 0 100 0; +#X connect 95 0 99 0; +#X connect 96 0 95 0; #X connect 97 0 96 0; -#X connect 98 0 97 0; -#X connect 99 0 102 0; -#X connect 100 0 101 0; -#X connect 101 0 99 0; -#X connect 102 0 103 1; -#X connect 103 0 94 0; -#X connect 104 0 97 0; +#X connect 98 0 101 0; +#X connect 99 0 100 0; +#X connect 100 0 98 0; +#X connect 101 0 102 1; +#X connect 102 0 94 0; +#X connect 103 0 96 0; +#X connect 104 0 9 0; +#X connect 104 0 10 0; #X restore 157 335 pd stepwise-osc; #N canvas 0 24 597 402 shuffle 0; #X obj 204 17 inlet; @@ -4110,7 +4108,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 16 0 7 0; #X restore 923 166 pd shuffle; #N canvas 76 51 1221 608 stepwise-fm 0; -#X msg 215 146 \$12; +#X msg 215 146 \$15; #X obj 215 177 mtof; #X obj 215 229 line~; #X obj 565 13 + 1; @@ -4250,7 +4248,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X restore 546 377 pd bang-mod; #X obj 681 130 r stepwise-fm; #X msg 274 287 \$1 900; -#X obj 155 463 *~ 0.06; +#X obj 155 463 *~ 0.05; #X connect 0 0 1 0; #X connect 0 0 34 0; #X connect 1 0 44 0; @@ -4556,9 +4554,9 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 0 0 45 0; #X connect 0 0 36 0; #X connect 0 0 54 0; -#X connect 0 0 55 0; #X connect 0 0 56 0; #X connect 0 0 57 0; +#X connect 0 0 55 0; #X connect 1 0 0 1; #X connect 2 0 46 0; #X connect 3 0 20 0; @@ -4604,7 +4602,7 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X obj 385 305 del 450; #X obj 620 203 del 600; #X obj 271 325 hsl 91 15 0 1 0 0 \$0-master \$0-from-nowhere Volume -29 8 0 10 -237503 -1 -1 6700 1; +29 8 0 10 -237503 -1 -1 7300 1; #X connect 0 0 2 0; #X connect 0 0 18 0; #X connect 1 0 3 0; @@ -4710,20 +4708,58 @@ adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar 2 \, adddollar #X connect 88 0 86 0; #X connect 89 0 68 0; #X coords 0 -1 1 1 115 61 1 262 284; -#X restore 664 61 pd guts; -#X obj 664 15 struct foo; -#X obj 450 200 bng 61 250 50 0 empty empty empty 17 7 0 10 -262144 +#X restore 734 61 pd guts; +#X obj 734 15 struct foo; +#X obj 74 87 bng 26 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 74 119 float 42; +#X obj 119 154 tgl 27 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 158 224 tgl 27 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 164 338 tgl 27 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 203 408 tgl 27 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 119 195 * 43; +#X obj 74 243 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 158 313 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 450 370 float 42; -#X obj 450 390 send the_answer; -#X text 200 50 Use the arrow keys to move; -#X text 200 80 Click 'f' to turn on the flashlight. When you hit an -object that you can shoot you'll see an exclamation mark.; -#X text 200 120 Click 'b' to shoot!; -#X text 200 20 Level 1: Send the Answer; -#X text 200 20 ________________________; +#X obj 119 427 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 164 527 select 42; +#X obj 164 548 send the_answer; +#X obj 203 498 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 200 20 Level 16: Straighten Up and Float Right; +#X obj 158 265 * 43; +#X obj 164 379 * 43; +#X obj 203 449 * 43; +#X obj 119 292 moses 0; +#X obj 164 476 moses 0; +#X obj 74 222 moses 43; +#X obj 119 406 moses 43; +#X text 200 20 _______________________________________; #X scalar foo \;; #X connect 2 0 1 0; #X connect 2 1 1 1; #X connect 4 0 5 0; -#X connect 5 0 6 0; +#X connect 5 0 23 0; +#X connect 6 0 10 0; +#X connect 7 0 18 0; +#X connect 8 0 19 0; +#X connect 9 0 20 0; +#X connect 10 0 23 1; +#X connect 14 0 15 0; +#X connect 18 0 21 1; +#X connect 19 0 24 1; +#X connect 20 0 22 1; +#X connect 21 0 24 0; +#X connect 21 1 12 0; +#X connect 22 0 14 0; +#X connect 22 1 16 0; +#X connect 23 0 11 0; +#X connect 23 1 21 0; +#X connect 24 0 13 0; +#X connect 24 1 22 0;