From 0d4b66c7bc77f6a2fafb1debe548f8621d21cf70 Mon Sep 17 00:00:00 2001 From: Miller Puckette Date: Sun, 21 Aug 2005 14:46:18 +0000 Subject: Improved samplerate~ implementation. svn path=/trunk/; revision=3438 --- pd/doc/1.manual/x5.htm | 85 ++++ pd/doc/4.fft.examples/13.partialtracer.pd | 688 +++++++++++++++--------------- pd/doc/5.reference/message-help.pd | 77 ++-- pd/src/d_misc.c | 43 -- pd/src/d_ugen.c | 77 +++- pd/src/g_canvas.c | 26 +- pd/src/g_editor.c | 18 +- pd/src/notes.txt | 44 +- 8 files changed, 586 insertions(+), 472 deletions(-) diff --git a/pd/doc/1.manual/x5.htm b/pd/doc/1.manual/x5.htm index 990893b1..b18da2a6 100644 --- a/pd/doc/1.manual/x5.htm +++ b/pd/doc/1.manual/x5.htm @@ -20,6 +20,91 @@

5.1. release notes

+

------------------ 0.39.0 -------------------------- + +

At the source level, "regular" arrays and arrays within data structures are +now the same thing. This will mean that, in the future, features introduced to +one array type will become available on the other one too. Array elements are +"scalars" (i.e., data structures) and if they have drawing instructions, each +point of the array is drawn according to them; they can be clicked on, etc., +just like any other scalars. "Regular" arrays have points which are of a +special, built-in template, "float". + +

Drawing instructions now can use variable ranges for screen coordinates; +for instance, specifying an offset of "a(0:10)(100:200)(0.2)" specifies that +the member "a", which shoudl range from 0 to 10, should be graphed at locations +ranging from 100 to 200 (relative to the scalar's base location) and should +have a "grain" of 0.2, i.e., steps of 2 pixels each. + +

Drawing instructions can be turned on and off, either globally +(for all data of the given structure) or by a data field. + +

The "struct" object has an outlet to notify you when a datum is selected or +deselected. + +

Graph-on-parent subpatches and abstractions no longer scale the GUI objects +to fit the parent rectangle; instead you get a sub-rectangle in the subpatch, +of the same size as the parent object, to place GUI objects in. GUI objects +that don't fit inside aren't shown on the parent, and the parent objects no +longer stretches itself to show things that wouldn't otherwise fit. Older +patches work as before until you try to edit them - at which point you have +no choice but to use the new functionality. + +

The font size of a Graph-on-parent abstraction is that of the abstraction +itself, not the calling patch. + +

Message boxes now take "addcomma" and similar messages. + +

A "list" object is provided for joining and splitting lists, and converting +between lists and non-list messages. + +

Pd extension is now added automatically to files on Macintish when you +do a "save as". The tcl/tk version is updated to 8.4.5. This should run on +OSX version 10.2 and later. Also on Mac, drag-and-drop startups read +"libraries" (specified in "startup" dialog) before opening the file. + +

The "pointer" object has a method to rewind to the beginning of a list. +A "sendwindow" message forwards any message to the window contining the +scalar currently pointed to. + +

Abstractions don't produce visible windows, even if subwindows of the +abstraction were visible when the abstraction was saved. + +

MIDI sysex messages should now work on all platforms. + +

Bug fixes: + +

sending lists to arrays now correctly interprets the first number of the +list as the starting index (following values are then stored seuentially in the +array.) + +

The rfft~ object's imaginary part had the wrong sign. Also, the Nyquist +bin is now supplied correctly. + +

Fixed problems writing aiff files using the writesf~ and soundfiler objects. +Writesf, if sent an "open" while a file was previously being written, closes the +previous file first. + +

Bug fix in number2 which sometimes crashed Pd. + +

Stale-pointer protection made more robust. + +

Some of Pd's tcl/tk error messages have been tracked down, but probably +not all of them yet. + +

"Find" crashed Pd when the found object was in a GOP. + +

Mouse motion over arrays no longer is quite so CPU-consuming (but is +still somewhat so.) + +

samplerate~ now reflects up/downsampling. + +

Tilde objects in blocked, overlapped subpatches no longer adjust their +internal sample rate to reflect the overlap. + +

Fixed a thread-safety problem in sys_microsleep(). + +

------------------ 0.38.1 -------------------------- Fixed two bugs that crashed Pd when deleting number boxes in certain diff --git a/pd/doc/4.fft.examples/13.partialtracer.pd b/pd/doc/4.fft.examples/13.partialtracer.pd index 7d806b64..38f62ffe 100644 --- a/pd/doc/4.fft.examples/13.partialtracer.pd +++ b/pd/doc/4.fft.examples/13.partialtracer.pd @@ -81,361 +81,383 @@ search.; ampimag float used; #X restore 351 516 pd peak-template; #N canvas 0 0 600 386 peak-list 0; -#X scalar peak-template 13.1452 330 -266.143 -0.00356225 0.272701 1 +#X scalar peak-template 7.3364 330 -238.332 0.0936304 0.00561724 1 \;; -#X scalar peak-template 26.2411 330 -188.677 -0.0124586 0.00627935 -1 \;; -#X scalar peak-template 38.792 330 -192.702 0.0107086 -0.0122645 0 +#X scalar peak-template 14.7426 330 -251.701 -0.155727 0.0172642 1 +\;; +#X scalar peak-template 29.3586 330 -199.673 0.0032691 -0.0210232 1 \;; -#X scalar peak-template 50.5319 330 -171.943 0.00265002 0.00684531 +#X scalar peak-template 36.7351 330 -206.184 -0.00415906 -0.0269962 1 \;; -#X scalar peak-template 58.3058 330 -161.228 -0.000605629 0.00482765 +#X scalar peak-template 44.2469 330 -167.16 -0.000842272 -0.0060511 1 \;; -#X scalar peak-template 71.0373 330 -243.962 0.0471989 0.106425 1 \; -; -#X scalar peak-template 88.9919 330 -164.582 0.00547503 0.000805021 +#X scalar peak-template 51.4937 330 -155.881 0.00345076 -0.00194862 +1 \;; +#X scalar peak-template 72.9503 330 -154.276 -0.00371857 0.000238775 +1 \;; +#X scalar peak-template 80.412 330 -148.84 -0.00302266 -0.000109521 0 \;; -#X scalar peak-template 107.947 330 -209.931 -0.0168408 0.0266666 1 -\;; -#X scalar peak-template 119.917 330 -160.305 0.00362793 -0.0029822 +#X scalar peak-template 88.1796 330 -141.774 0.000703239 -0.00219634 1 \;; -#X scalar peak-template 129.045 330 -153.946 0.0019865 0.00309702 1 -\;; +#X scalar peak-template 95.1357 330 -131.572 0.00150631 -0.000402192 +0 \;; #X restore 351 454 pd peak-list; #N canvas 20 23 472 426 trace-list 1; -#X scalar trace-template 5 -17 10 \; -199.613 82.4286 \; -193.527 82.3195 -\; -188.888 79.2392 \; -190.335 80.935 \; -193.692 85.069 \; -193.568 -85.3128 \; -189.446 82.4412 \; -189.463 82.6427 \; -193.472 85.715 -\; -193.644 85.7878 \; -190.286 82.9838 \; -190.22 83.2074 \; -193.608 -86.4234 \; -193.752 86.8166 \; -190.752 84.226 \; -189.701 83.7983 -\; -193.462 86.6934 \; -193.946 87.5821 \; -191.452 85.4317 \; -188.947 -84.731 \; -192.67 87.311 \; -193.589 88.3214 \; -191.457 86.3421 \; --189.539 85.4724 \; -192.837 87.7069 \; -193.597 88.6789 \; -191.638 -86.7933 \; -189.202 85.5926 \; -192.314 87.3853 \; -193.414 88.3447 -\; -191.768 86.6039 \; -189.511 85.4104 \; -192.226 87.0602 \; -193.354 -88.0144 \; -200.124 86.4402 \; -213.124 85.0898 \; -230.124 86.4172 -\; -241.124 87.5061 \; -257.124 86.4658 \; -271.124 85.3372 \; -277.124 -86.3322 \; -294.124 87.3605 \; -300.124 86.5994 \; -306.124 85.6122 -\; -315.124 86.2608 \; -230.124 86.9223 \; -216.124 86.1642 \; -202.124 -85.7039 \; -188.124 86.9326 \; -178.124 87.7093 \; -170.124 86.9776 -\; -162.124 86.3876 \; -150.124 87.2425 \; -146.124 87.8862 \; -141.124 -87.2632 \; -142.124 86.7912 \; -144.124 87.6082 \; -150.124 88.2056 -\; -156.124 87.6071 \; -164.124 87.0852 \; -172.124 87.6486 \; -276.124 -88.1112 \; -236.124 87.6803 \; -191.429 87.3594 \; -191.999 87.8509 -\; -192.288 88.1035 \; -191.762 87.6553 \; -191.442 87.48 \; -191.991 -87.8655 \; -192.282 87.9377 \; -191.819 87.4774 \; -191.528 87.3144 -\; -192.095 87.7807 \; -192.312 87.9379 \; -191.627 87.3867 \; -191.304 -87.1667 \; -192.098 87.7212 \; -192.4 87.9508 \; -191.793 87.4684 \; --191.394 87.3245 \; -191.972 87.9335 \; -192.214 88.197 \; -191.675 -87.769 \; -191.461 87.7549 \; -192.195 88.46 \; -192.467 88.6739 \; --191.769 88.1294 \; -191.444 87.9849 \; -192.159 88.5705 \; -192.338 -88.7136 \; \;; -#X scalar trace-template 0 0 9 \; -242.604 72.4257 \; -239.483 72.5931 -\; -237.938 74.2024 \; -237.967 75.1307 \; -238.432 75.6971 \; -239.134 -76.8606 \; -239.368 77.6083 \; -239.526 77.5637 \; -239.815 77.4497 -\; -239.784 77.4643 \; -239.294 77.7178 \; -239.373 78.1029 \; -239.89 -78.2493 \; -240.14 78.3881 \; -240.024 78.508 \; -239.931 78.4701 \; --239.901 78.2419 \; -240.135 78.046 \; -240.12 77.78 \; -239.985 77.2291 -\; -240.026 76.61 \; -240.314 76.3586 \; -245.427 76.4585 \; -245.427 -76.929 \; -247.427 77.7947 \; -247.427 78.7843 \; -247.427 79.2856 -\; -244.427 79.0044 \; -242.427 78.3629 \; -237.427 77.7585 \; -241.427 -77.4592 \; -236.427 77.7988 \; -236.427 78.2412 \; -242.427 77.9007 -\; -241.427 77.1143 \; -243.427 76.5427 \; -239.765 76.038 \; -239.745 -75.6009 \; -239.682 75.518 \; -239.741 75.4267 \; -239.708 75.1939 -\; -239.603 74.8523 \; -239.549 74.3391 \; -239.669 73.7522 \; -240.199 -73.2379 \; -240.163 72.0729 \; -238.873 69.5928 \; -237.836 67.9847 -\; -238.994 68.8343 \; -238.65 69.2716 \; -238.479 68.1999 \; -239.098 -66.65 \; -239.075 64.5108 \; -239.716 59.5511 \; -243.426 59.3727 \; --239.55 61.3263 \; -237.997 64.5714 \; -238.441 65.5136 \; -239.946 -65.642 \; -239.519 64.5486 \; -238.355 62.6434 \; -238.261 58.2019 -\; -231.029 54.6574 \; -231.388 53.416 \; -237.379 54.176 \; -235.315 -55.687 \; \;; -#X scalar trace-template 0 0 8 \; -267.035 74.7826 \; -267.036 74.0101 -\; -268.754 71.1861 \; -267.988 70.9211 \; -267.686 72.0078 \; -267.473 -72.4722 \; -263.142 73.1691 \; -260.694 72.459 \; -260.215 70.7694 -\; -260.032 70.3037 \; -260.078 69.6541 \; -259.805 69.8861 \; -259.903 -70.912 \; -262.604 70.5604 \; -260.805 68.8099 \; -260.154 65.6486 +#X scalar trace-template 0 0 10 \; -170.267 66.4538 \; -178.537 75.8422 +\; -178.598 82.9542 \; -177.204 85.9096 \; -174.479 86.1407 \; -172.434 +85.582 \; -172.199 84.9443 \; -172.09 84.0268 \; -169.564 82.0702 \; +-166.806 78.5575 \; -162.504 72.9202 \; -156.84 65.9576 \; -149.693 +65.3729 \; -144.236 69.5045 \; -141.557 70.9896 \; -149.55 67.6403 +\; \;; +#X scalar trace-template 0 0 9 \; -207.715 54.7785 \; \;; +#X scalar trace-template 0 0 8 \; -243.358 55.1846 \; \;; +#X scalar trace-template 0 0 7 \; -267.389 57.555 \; -271.06 66.0181 +\; -271.78 72.2014 \; -270.997 73.3758 \; -267.4 73.2636 \; -266.621 +72.001 \; -266.751 70.437 \; -263.935 68.0226 \; -259.394 61.547 \; +-255.967 54.0291 \; -256.993 46.5229 \; -260.301 50.6729 \; -262.611 +55.8411 \; -259.261 56.0363 \; -255.152 52.2934 \; \;; +#X scalar trace-template 0 0 6 \; -300.107 44.4539 \; -300.516 54.1354 +\; -299.908 58.9963 \; -297.792 60.1369 \; -295.978 58.125 \; -295.477 +53.8608 \; -295.418 48.3485 \; \;; +#X scalar trace-template 0 0 5 \; -319.57 44.8588 \; -320.507 46.5613 +\; -320.202 49.0809 \; -319.099 47.3226 \; -317.078 47.3695 \; -316.217 +46.9586 \; -315.832 43.9151 \; -316.736 40.4574 \; -318.97 38.9795 +\; \;; +#X scalar trace-template 0 0 4 \; -334.191 42.4308 \; -336.111 40.5727 +\; -336.349 43.9242 \; \;; +#X scalar trace-template 0 0 3 \; -355.448 43.2391 \; \;; +#X scalar trace-template 0 0 2 \; -360.203 40.0061 \; \;; +#X scalar trace-template 0 0 1 \; -364.305 39.0029 \; \;; +#X scalar trace-template 10 0 9 \; -225.707 77.1385 \; -220.751 82.0983 +\; -220.203 84.3479 \; -219.677 85.5786 \; -219.575 86.3599 \; -218.647 +85.9264 \; -217.451 83.5701 \; -213.495 78.7379 \; -211.599 69.0469 +\; -221.934 57.2752 \; -223.075 55.4057 \; -224.721 56.3018 \; \;; +#X scalar trace-template 10 0 8 \; -253.725 70.508 \; -250.232 72.8232 +\; -246.902 73.3931 \; -246.674 72.7729 \; -246.26 70.5063 \; -243.66 +67.4126 \; \;; +#X scalar trace-template 10 0 3 \; -287.833 60.221 \; -287.191 62.1954 +\; \;; +#X scalar trace-template 10 0 2 \; -329.144 47.6583 \; \;; +#X scalar trace-template 10 0 1 \; -343.201 39.6174 \; \;; +#X scalar trace-template 20 0 4 \; -307.248 53.2543 \; -306.63 50.6817 +\; -305.334 48.1079 \; -303.184 45.9483 \; -303.996 41.3323 \; \;; +#X scalar trace-template 20 0 2 \; -324.547 47.805 \; -324.135 46.0264 +\; -322.854 42.7846 \; \;; +#X scalar trace-template 20 0 1 \; -332.875 46.0688 \; -331.943 47.3165 +\; -330.917 46.439 \; -331.689 41.3565 \; -333.388 37.9978 \; \;; +#X scalar trace-template 25 0 3 \; -338.351 43.9524 \; \;; +#X scalar trace-template 35 0 3 \; -284.182 52.1707 \; \;; +#X scalar trace-template 40 0 6 \; -337.958 38.6551 \; \;; +#X scalar trace-template 40 0 2 \; -354.053 37.4427 \; \;; +#X scalar trace-template 45 0 8 \; -268.027 51.4722 \; \;; +#X scalar trace-template 45 0 3 \; -281.607 43.0792 \; \;; +#X scalar trace-template 50 0 6 \; -305.727 38.4694 \; -307.039 55.9214 +\; -307.146 60.4672 \; -307.359 56.9872 \; -308.617 47.1614 \; -310.28 +42.9513 \; \;; +#X scalar trace-template 50 0 5 \; -312.458 37.0268 \; \;; +#X scalar trace-template 50 0 4 \; -320.932 36.337 \; \;; +#X scalar trace-template 50 0 2 \; -325.694 36.1816 \; \;; +#X scalar trace-template 50 0 1 \; -334.319 37.4066 \; \;; +#X scalar trace-template 55 0 8 \; -339.343 53.6337 \; -339.295 57.4119 +\; \;; +#X scalar trace-template 55 0 3 \; -355.059 48.1828 \; -356.114 51.5799 +\; \;; +#X scalar trace-template 60 0 5 \; -322.591 56.6028 \; -323.967 53.0469 +\; -323.29 44.7662 \; \;; +#X scalar trace-template 60 0 4 \; -352.86 51.5962 \; \;; +#X scalar trace-template 60 0 2 \; -359.202 51.433 \; \;; +#X scalar trace-template 60 0 1 \; -368.116 50.8715 \; \;; +#X scalar trace-template 70 0 8 \; -278.014 52.8146 \; -280.955 51.7122 +\; -283.057 55.7014 \; -283.598 63.0796 \; -283.738 70.624 \; -283.818 +74.9166 \; -283.92 76.3898 \; -284.142 75.3673 \; -284.408 71.4549 +\; -286.301 64.8771 \; -286.588 55.7925 \; -284.764 54.3222 \; -283.507 +57.9578 \; -283.015 60.0599 \; -281.708 61.5304 \; -280.848 61.4616 +\; -278.33 61.3238 \; -277.397 59.5073 \; \;; +#X scalar trace-template 70 0 4 \; -289.501 52.2515 \; -292.66 48.9686 +\; \;; +#X scalar trace-template 70 0 3 \; -316.901 46.1909 \; -317.233 43.989 \; \;; -#X scalar trace-template 0 0 7 \; -297.412 68.2501 \; -298.035 66.8597 -\; -298.676 63.7056 \; -298.326 60.8013 \; \;; -#X scalar trace-template 0 32 6 \; -308.895 73.4936 \; -308.721 73.7641 -\; -308.751 74.0691 \; -308.983 74.6651 \; -308.906 74.8441 \; -308.799 -75.0179 \; -308.882 75.4667 \; -308.933 75.714 \; -309.1 76.062 \; --309.109 76.1234 \; -308.966 75.6084 \; -308.983 75.4375 \; -309.053 -75.8479 \; -309.072 76.319 \; -309.046 76.7579 \; -308.996 77.0079 -\; -309.043 77.0111 \; -309.094 76.8073 \; -309.091 76.2513 \; -309.091 -75.331 \; -309.087 74.1997 \; -309.236 73.3714 \; -309.35 73.0891 \; --309.27 72.9043 \; -309.262 73.3638 \; -309.298 74.6891 \; -309.186 -75.9138 \; -309.033 76.8267 \; -308.947 77.3623 \; -308.9 77.4239 \; --308.872 77.2091 \; -308.848 76.6783 \; -308.866 75.8629 \; -308.841 -75.056 \; -308.717 74.3867 \; -308.642 74.0261 \; -308.634 74.0402 -\; -308.742 74.3319 \; -308.865 74.6704 \; -308.916 75.1175 \; -309.009 -76.0264 \; -309.076 77.0253 \; -309.109 77.6815 \; -309.143 77.9342 -\; -309.223 77.7047 \; -309.308 77.1028 \; -309.289 76.4484 \; -309.144 -75.9489 \; -309.084 75.8889 \; -309.169 76.2907 \; -309.236 76.6955 -\; -309.285 76.8623 \; -309.341 76.9675 \; -309.346 77.1854 \; -309.318 -77.5775 \; -309.273 78.0292 \; -309.214 78.3809 \; -309.171 78.6055 -\; -309.118 78.7596 \; -309.07 78.9356 \; -309.082 79.2439 \; -309.131 -79.6026 \; -309.185 79.7686 \; -309.229 79.7092 \; -309.248 79.5094 -\; -309.24 79.1851 \; -309.209 78.6341 \; -309.186 77.9228 \; -309.233 -77.4246 \; -309.327 77.2158 \; -309.348 77.173 \; -309.268 77.4504 -\; -309.201 77.9582 \; -309.169 78.341 \; -309.148 78.2643 \; -309.083 -77.5223 \; -308.942 76.4386 \; -308.813 75.6409 \; -308.79 75.5743 -\; -308.91 76.3292 \; -309.038 77.4946 \; -309.142 78.6545 \; -309.241 -79.6217 \; -309.303 80.3403 \; -309.322 80.869 \; -309.304 81.1926 -\; -309.251 81.3606 \; -309.193 81.4641 \; -309.173 81.4543 \; -309.172 -81.3199 \; \;; -#X scalar trace-template 0 0 5 \; -319.788 57.3809 \; -320.181 57.5371 -\; -320.607 57.2243 \; -320.485 55.1315 \; \;; -#X scalar trace-template 0 0 4 \; -328.845 56.8844 \; -329.27 57.6407 -\; -330.201 55.7891 \; \;; -#X scalar trace-template 3 -31 3 \; -338.831 65.3604 \; -338.343 65.0927 -\; -337.997 67.416 \; -338.031 68.2797 \; -338.057 68.8033 \; -338.001 -69.8547 \; -337.984 70.6113 \; -338.085 70.2393 \; -338.158 69.7346 -\; -338.067 70.22 \; -338.039 70.7867 \; -338.082 70.6751 \; -338.083 -70.2366 \; -338.051 69.8163 \; -338.064 69.421 \; -338.153 69.0985 -\; -338.179 69.151 \; -338.081 69.4616 \; -338.04 69.2603 \; -338.052 -68.4481 \; -337.998 67.2775 \; -338.04 65.3766 \; -338.285 63.6914 -\; -338.182 64.1078 \; -338.085 64.8679 \; -338.257 64.3851 \; -338.23 -64.0425 \; -338.018 64.4475 \; -338.09 64.3731 \; -338.237 64.1981 -\; -338.155 64.9584 \; -338.141 65.5785 \; -338.284 65.2811 \; -338.2 -65.0292 \; -338.029 65.0808 \; -338.147 64.4456 \; -338.275 64.0782 -\; -338.184 64.021 \; -338.415 63.0838 \; -338.568 62.899 \; -338.185 -63.7816 \; -338.225 64.0316 \; -338.349 64.1353 \; -338.077 64.9335 -\; -338.024 64.9803 \; -338.229 64.0616 \; -338.165 64.0179 \; -338.02 -63.9428 \; -338.154 61.9517 \; -338.287 60.0008 \; -337.903 60.4489 -\; -337.827 60.7339 \; -338.12 59.8507 \; -338.161 61.4826 \; -337.965 -64.5731 \; -338.021 65.6403 \; -338.258 65.4583 \; -338.193 66.1111 -\; -338.036 67.1355 \; -338.092 66.8186 \; -338.278 66.0467 \; -338.251 -66.4051 \; -338.251 66.9293 \; -338.438 67.028 \; -338.314 67.3133 -\; -338.147 67.6987 \; -338.196 67.2544 \; -338.261 67.1296 \; -338.22 -68.1024 \; -338.3 69.1793 \; -338.342 70.0634 \; -338.226 70.5581 \; --338.227 70.0046 \; -338.369 68.6939 \; -338.266 68.0117 \; -338.129 -68.0847 \; -338.25 67.8763 \; -338.352 68.2743 \; -338.217 69.2533 -\; -338.214 69.6464 \; -338.272 69.5557 \; -338.179 69.9526 \; -338.18 -70.3756 \; -338.345 70.4707 \; -338.342 70.9321 \; -338.22 71.3226 -\; -338.249 70.8791 \; -338.274 70.2455 \; -338.152 70.1605 \; -338.148 -69.9763 \; \;; -#X scalar trace-template 0 0 2 \; -344.435 50.3571 \; -344.676 53.6972 -\; -344.907 57.9862 \; -345.468 59.5927 \; -345.435 57.88 \; -345.08 -53.4871 \; \;; -#X scalar trace-template 0 0 1 \; -351.66 55.5817 \; -350.919 57.0657 +#X scalar trace-template 70 0 2 \; -331.449 45.0612 \; -332.217 41.0986 +\; -333.598 40.3374 \; -332.069 45.7766 \; -331.822 53.721 \; -331.925 +57.7791 \; -332.209 58.7335 \; -332.575 57.8384 \; -333.329 55.2908 +\; -334.729 51.1644 \; -335.212 48.3664 \; -334.721 47.2837 \; -333.718 +47.5034 \; -333.463 44.4053 \; \;; +#X scalar trace-template 70 0 1 \; -343.238 42.1521 \; \;; +#X scalar trace-template 75 0 9 \; -264.098 56.9809 \; -263.754 66.2517 +\; -264.572 73.7168 \; -265.783 79.0231 \; -265.835 82 \; -264.711 +82.7954 \; -264.498 82.4753 \; -264.101 81.3044 \; -263.888 78.2512 +\; -264.716 72.3203 \; -265.384 67.1745 \; -264.261 64.4012 \; -262.314 +67.3463 \; -260.604 73.0494 \; -259.892 78.6327 \; -259.22 81.7477 +\; -258.66 81.0287 \; -255.639 76.3778 \; -255.988 66.5063 \; -259.96 +57.8551 \; -262.387 69.9938 \; -259.171 79.8035 \; -258.087 82.7587 +\; -254.969 83.4073 \; -253.7 82.0988 \; -253.057 79.3989 \; -250.953 +75.1472 \; -249.691 67.1252 \; \;; +#X scalar trace-template 80 0 7 \; -181.513 74.2874 \; -181.454 82.623 +\; -183.134 86.2068 \; -187.394 87.2597 \; -187.47 86.6502 \; -187.412 +85.5752 \; -188.138 84.9208 \; -188.952 84.8478 \; -190.033 85.0942 +\; -190.643 85.1492 \; -190.07 84.5352 \; -188.321 83.4295 \; -186.093 +82.5333 \; -184.766 82.1497 \; -183.581 82.0497 \; -182.299 81.7043 +\; -180.916 80.6679 \; -179.488 79.1333 \; -178.616 78.1185 \; -176.777 +77.6621 \; -176.205 77.6415 \; -178.884 79.4115 \; -179.056 82.0705 +\; -178.1 83.8743 \; -178.136 84.7041 \; -177.876 84.8096 \; -177.281 +83.2978 \; -176.064 79.0135 \; -172.925 71.5834 \; -172.626 61.9303 +\; -180.909 51.0706 \; -191.984 44.7216 \; \;; +#X scalar trace-template 80 0 5 \; -237.014 65.3621 \; -234.41 74.8307 +\; -234.248 80.6215 \; -234.563 82.2622 \; -235.304 81.5854 \; -236.049 +80.5077 \; -236.478 80.1592 \; -236.841 80.6753 \; -237.583 81.5822 +\; -237.372 82.0089 \; -235.886 81.9406 \; -235.882 82.2396 \; -235.509 +82.8466 \; -233.769 83.9694 \; -232.454 84.3957 \; -231.424 82.2741 +\; -225.05 80.7849 \; -223.709 80.3688 \; -225.714 80.31 \; -227.307 +80.271 \; -229.479 80.4089 \; -228.621 80.9255 \; -226.472 81.9592 +\; -225.674 82.1209 \; -225.459 81.4977 \; -224.997 79.8773 \; -221.653 +75.8547 \; -218.642 68.4292 \; \;; +#X scalar trace-template 80 0 1 \; -298.368 53.7346 \; -298.591 60.9971 +\; -299.498 64.8356 \; -299.452 66.3569 \; -299.396 66.212 \; -299.873 +65.7341 \; -300.381 63.6091 \; -301.884 58.1587 \; -301.491 51.6325 +\; -300.343 48.3215 \; -298.635 51.7761 \; -298.08 54.0172 \; -295.832 +55.0647 \; -295.149 57.6262 \; -293.491 58.1534 \; -292.528 57.013 +\; -290.468 52.2813 \; -289.619 44.9864 \; \;; +#X scalar trace-template 85 0 10 \; -311.11 52.9131 \; -311.518 59.7527 +\; -311.789 61.6922 \; -312.682 61.0013 \; -313.003 59.0595 \; -313.42 +56.923 \; -314.537 53.6844 \; -314.422 48.8935 \; -314.151 46.7301 +\; -313.885 45.45 \; -315.206 41.292 \; \;; +#X scalar trace-template 85 0 6 \; -322.297 48.2258 \; -322.465 56.2584 +\; -322.504 59.0728 \; -322.766 57.4953 \; -323.223 53.7294 \; -323.99 +49.4406 \; -325.377 44.9601 \; -325.607 41.4491 \; -324.66 43.2242 +\; -324.003 44.5596 \; -322.266 46.3835 \; -321.046 49.7449 \; -319.254 +51.1405 \; -317.161 52.6226 \; -316.872 53.3849 \; -316.943 49.3078 \; \;; -#X scalar trace-template 15 0 1 \; -290.497 62.3455 \; -289.917 64.5081 +#X scalar trace-template 85 0 4 \; -340.013 42.9492 \; -339.477 50.5147 +\; -339.567 54.3931 \; -340.368 54.5097 \; -340.671 52.8455 \; -340.651 +48.2686 \; -342.766 44.3858 \; -343.093 44.1125 \; -343.052 42.9556 +\; -343.292 38.8401 \; \;; +#X scalar trace-template 85 0 3 \; -346.456 42.4553 \; -346.77 47.8724 +\; -347.138 51.8332 \; -347.887 52.9958 \; -348.131 52.0343 \; -349.084 +47.1793 \; -350.135 43.9494 \; -350.722 43.1553 \; -350.528 40.146 \; \;; -#X scalar trace-template 20 0 4 \; -325.69 57.3878 \; \;; -#X scalar trace-template 25 0 7 \; -296.788 63.9304 \; -295.926 62.8437 +#X scalar trace-template 135 0 3 \; -338.885 45.8862 \; -338.763 44.8602 +\; -338.854 44.1465 \; -339.118 46.1276 \; -339.092 45.0448 \; -338.075 +40.945 \; \;; +#X scalar trace-template 140 0 4 \; -307.461 48.2611 \; -307.068 51.612 +\; -306.679 53.4996 \; -306.836 51.9006 \; \;; +#X scalar trace-template 145 0 10 \; -327.858 49.2255 \; -325.879 50.1747 +\; -324.381 51.7601 \; \;; +#X scalar trace-template 145 0 2 \; -333.151 39.5463 \; \;; +#X scalar trace-template 155 0 2 \; -330.654 50.258 \; -332.066 44.7205 \; \;; -#X scalar trace-template 25 0 5 \; -320.285 57.6772 \; -320.508 58.8425 -\; -320.151 58.5278 \; -320.768 60.3968 \; -320.593 60.8226 \; -320.268 -59.7789 \; -320.88 59.737 \; -320.688 59.0786 \; -320.101 59.472 \; --320.414 60.688 \; -320.308 60.3209 \; -320.371 60.0803 \; -320.671 -60.6628 \; -320.171 59.6875 \; -320.008 59.1602 \; -320.366 58.5441 -\; -320.092 57.0253 \; -320.465 55.492 \; -320.279 54.4491 \; -320.299 -55.7007 \; -320.472 56.8359 \; -319.766 55.3358 \; -319.842 53.2032 -\; -320.037 52.6049 \; -320.513 53.2324 \; -320.556 53.7244 \; -320.127 -53.3023 \; -320.255 53.3985 \; -320.563 54.1999 \; -320.37 55.1689 -\; -320.402 55.0377 \; -320.088 52.8426 \; -320.169 52.1079 \; -320.421 -54.144 \; -320.199 55.1952 \; -320.288 54.8076 \; -319.875 53.4492 -\; -320.134 52.8401 \; -320.478 53.3816 \; -320.345 53.0761 \; -320.747 -54.154 \; -320.409 55.1588 \; -320.473 56.9858 \; -320.638 58.102 \; --320.376 56.8824 \; -320.121 56.0043 \; -320.426 55.1951 \; \;; -#X scalar trace-template 30 0 4 \; -349.771 59.2302 \; -350.03 58.4881 -\; -350.375 58.8169 \; -350.455 58.2635 \; -350.341 54.9928 \; -349.617 -52.0436 \; \;; -#X scalar trace-template 30 0 1 \; -356.515 53.1229 \; -356.534 52.6592 +#X scalar trace-template 165 0 10 \; -270.232 56.4147 \; \;; +#X scalar trace-template 165 0 8 \; -300.96 43.152 \; \;; +#X scalar trace-template 165 0 4 \; -312.09 43.1107 \; -312.66 50.6073 \; \;; -#X scalar trace-template 35 0 2 \; -290.388 61.5761 \; -291.357 59.1929 +#X scalar trace-template 170 0 6 \; -276.895 56.7744 \; \;; +#X scalar trace-template 170 0 3 \; -389.413 42.1923 \; \;; +#X scalar trace-template 175 0 10 \; -294.721 56.6338 \; -292.18 65.7481 +\; -289.932 70.4197 \; -289.417 71.2832 \; -289.062 69.1358 \; -289.174 +65.0269 \; -288.156 58.6335 \; -287.451 49.8643 \; \;; +#X scalar trace-template 175 0 8 \; -316.956 57.8563 \; -315.211 61.6923 +\; -314.159 60.5945 \; -313.045 61.3422 \; -312.815 60.7652 \; -311.812 +57.7599 \; -311.703 52.1358 \; -311.47 44.2096 \; -312.176 39.0539 +\; -311.111 37.1518 \; -309.185 39.552 \; -309.861 39.037 \; -311.31 +39.7343 \; -313.424 38.7045 \; \;; +#X scalar trace-template 175 0 2 \; -327.443 58.4 \; -327.633 65.4492 +\; -329.183 65.5614 \; -329.941 62.0771 \; -329.685 57.8422 \; -329.126 +53.5099 \; -328.937 47.0011 \; -328.117 38.7356 \; \;; +#X scalar trace-template 175 0 1 \; -340.595 47.2682 \; -339.533 61.0821 +\; -339.325 66.4315 \; -339.179 64.4084 \; -337.917 58.066 \; -336.691 +50.6697 \; -335.413 43.6705 \; -334.985 37.4829 \; -332.421 36.3476 +\; -330.547 40.9969 \; -330.46 40.454 \; -331.801 38.0878 \; -331.936 +40.1754 \; -330.945 37.8979 \; \;; +#X scalar trace-template 180 0 6 \; -276.996 74.3249 \; -275.533 79.091 +\; -274.394 82.7696 \; -273.702 83.2184 \; -272.152 80.6606 \; -271.354 +75.6869 \; -270.511 67.8662 \; -270.81 58.6252 \; -272.008 51.345 \; +-271.139 48.3513 \; -271.879 45.0953 \; \;; +#X scalar trace-template 180 0 4 \; -304.462 54.5992 \; \;; +#X scalar trace-template 180 0 3 \; -335.106 61.3492 \; \;; +#X scalar trace-template 190 0 4 \; -301.028 59.0103 \; -300.991 58.1672 +\; -302.142 56.5942 \; -300.579 52.5078 \; -297.877 46.8547 \; -300.607 +38.2245 \; -301.753 34.9024 \; \;; +#X scalar trace-template 190 0 3 \; -322.321 60.1076 \; -321.238 58.0708 +\; -320.897 54.4567 \; -320.616 47.8489 \; -319.72 42.0012 \; -318.97 +39.1688 \; -318.621 37.655 \; \;; +#X scalar trace-template 220 0 10 \; -340.666 39.986 \; -341.648 39.3611 \; \;; -#X scalar trace-template 40 0 7 \; -300.055 55.9626 \; -297.103 61.9754 -\; -296.124 66.1486 \; -295.446 68.1804 \; -295.431 68.0979 \; -295.612 -67.3051 \; -296.886 64.2983 \; -297.339 62.3423 \; -295.548 62.883 -\; -294.729 65.835 \; -294.983 67.6909 \; -295.394 68.3517 \; -295.061 -66.0636 \; -294.226 62.315 \; -294.766 59.5051 \; -292.748 59.6254 +#X scalar trace-template 220 0 9 \; -344.826 37.7427 \; \;; +#X scalar trace-template 220 0 2 \; -349.421 37.072 \; -349.408 41.3466 \; \;; -#X scalar trace-template 45 0 1 \; -327.111 55.6783 \; -326.051 56.3284 +#X scalar trace-template 225 0 5 \; -255.221 45.2687 \; -254.772 42.9843 \; \;; -#X scalar trace-template 50 0 2 \; -345.333 60.4566 \; -345.37 61.9942 -\; -345.467 62.5947 \; -345.562 62.2511 \; -345.662 60.6462 \; -345.838 -59.658 \; -345.786 60.9526 \; -345.614 62.0047 \; -345.433 61.2858 -\; -345.405 59.4638 \; -345.705 57.4746 \; -345.9 55.9761 \; -345.987 -53.2427 \; \;; -#X scalar trace-template 60 0 1 \; -330.141 52.7649 \; -329.759 52.496 -\; -330.381 52.6431 \; \;; -#X scalar trace-template 65 0 4 \; -350.539 53.0849 \; \;; -#X scalar trace-template 75 0 4 \; -290.68 58.0518 \; \;; -#X scalar trace-template 113 -115 1 \; -268.376 67.4411 \; -267.51 -69.6547 \; -267.7 69.6601 \; -268.383 68.4795 \; -267.659 68.0134 \; --268.196 67.5265 \; -267.355 67.8782 \; -267.116 67.7008 \; -268.436 -67.5944 \; -267.414 69.6193 \; -267.548 70.3795 \; -267.645 70.6548 -\; -267.445 71.2117 \; -267.699 70.9501 \; -267.912 70.2365 \; -267.908 -69.646 \; -268.106 69.1182 \; -267.847 69.1953 \; -267.93 68.9679 \; --267.671 69.0811 \; -267.671 68.8746 \; -268.031 68.337 \; -267.933 -68.1967 \; -268.396 67.8426 \; -268.164 68.2264 \; -267.932 69.2783 -\; -267.808 69.922 \; -267.813 69.7453 \; -267.6 69.27 \; -267.335 -68.7903 \; -267.872 67.5196 \; -268.28 66.5335 \; \;; -#X scalar trace-template 85 0 8 \; -356.473 47.2852 \; \;; -#X scalar trace-template 85 0 4 \; -363.412 52.7933 \; \;; -#X scalar trace-template 95 0 8 \; -349.799 56.9516 \; -349.682 58.114 -\; -349.687 59.1929 \; \;; -#X scalar trace-template 95 0 4 \; -356.884 51.5826 \; \;; -#X scalar trace-template 105 0 4 \; -330.389 53.9029 \; -329.883 52.3388 +#X scalar trace-template 230 0 9 \; -111.78 56.425 \; -108.42 55.3947 +\; -116.057 51.7421 \; \;; +#X scalar trace-template 230 0 4 \; -224.409 47.8568 \; -223.553 43.7804 +\; -223.835 41.1729 \; -226.196 42.0569 \; -227.858 41.0595 \; -233.457 +40.2144 \; -235.739 41.3417 \; \;; +#X scalar trace-template 230 0 3 \; -296.314 37.2122 \; -296.19 38.2078 +\; -300.412 38.8855 \; -300.67 33.7445 \; -302.5 33.9353 \; -301.531 +38.5835 \; -301.095 43.8594 \; -299.133 49.6504 \; \;; +#X scalar trace-template 235 0 10 \; -263.428 41.5219 \; \;; +#X scalar trace-template 235 0 2 \; -302.561 39.8975 \; \;; +#X scalar trace-template 240 0 6 \; -247.492 34.3092 \; \;; +#X scalar trace-template 240 0 5 \; -271.41 42.8244 \; -271.275 38.8781 \; \;; -#X scalar trace-template 115 0 8 \; -284.263 54.2523 \; -286.764 57.4093 -\; -284.302 57.8219 \; \;; -#X scalar trace-template 120 0 4 \; -325.749 50.8459 \; \;; -#X scalar trace-template 120 0 2 \; -349.708 58.1553 \; \;; -#X scalar trace-template 125 0 7 \; -295.493 57.8245 \; -292.472 58.7783 -\; -290.459 59.449 \; -290.142 56.291 \; \;; -#X scalar trace-template 130 0 4 \; -330.477 45.5384 \; -330.271 47.7032 +#X scalar trace-template 245 0 10 \; -177.752 46.5101 \; -183.041 44.3264 +\; -187.856 44.2569 \; -181.42 45.2196 \; -187.007 48.2407 \; \;; +#X scalar trace-template 245 0 7 \; -289.524 36.0902 \; -289.2 37.9661 +\; -289.819 36.3457 \; -284.587 39.881 \; -287.032 44.7087 \; -287.357 +63.9375 \; -287.178 77.3926 \; -286.982 82.626 \; -286.856 80.9281 +\; -281.608 76.1115 \; -279.383 73.8375 \; -279.006 73.7229 \; -280.825 +73.5637 \; -283.179 73.2361 \; -284.554 73.2111 \; -285.962 73.261 +\; -285.533 72.7674 \; -284.152 72.1031 \; -283.321 70.8658 \; -283.708 +66.7845 \; \;; +#X scalar trace-template 245 0 2 \; -309.267 38.1588 \; -310.906 38.0716 \; \;; -#X scalar trace-template 130 0 2 \; -345.678 51.4742 \; \;; -#X scalar trace-template 135 0 8 \; -282.598 55.6295 \; \;; -#X scalar trace-template 140 0 2 \; -325.999 50.8365 \; -325.802 49.8431 +#X scalar trace-template 250 0 9 \; -119.845 40.481 \; \;; +#X scalar trace-template 250 0 8 \; -248.78 32.2305 \; \;; +#X scalar trace-template 250 0 6 \; -278.571 36.652 \; -278.962 37.2271 \; \;; -#X scalar trace-template 145 0 8 \; -284.439 55.5084 \; \;; -#X scalar trace-template 145 0 4 \; -300.827 56.2008 \; \;; -#X scalar trace-template 150 0 7 \; -292.842 58.4013 \; -295.507 63.9292 -\; -295.819 63.2863 \; -296.521 58.7481 \; -296.552 54.9325 \; \;; -#X scalar trace-template 155 0 8 \; -281.831 54.4155 \; -283.278 54.6575 -\; -283.95 55.4649 \; -284.509 57.7758 \; -284.535 55.9143 \; \;; -#X scalar trace-template 155 0 4 \; -329.412 47.5286 \; \;; -#X scalar trace-template 155 0 2 \; -345.383 57.572 \; -345.507 60.2884 -\; -345.523 60.771 \; -345.468 60.1862 \; -345.455 60.2852 \; -345.509 -61.2055 \; -345.531 62.0587 \; -345.533 62.1396 \; -345.49 61.5193 -\; -345.517 60.4321 \; -345.667 58.9602 \; -345.813 57.1448 \; -345.754 -55.766 \; -345.54 56.4602 \; -345.628 58.9323 \; -345.746 60.646 \; --345.77 60.0663 \; -345.676 58.1189 \; -345.639 57.3838 \; -345.742 -58.2583 \; -345.838 58.7581 \; -345.81 57.6209 \; -345.65 54.6219 \; --345.623 51.4752 \; -345.785 51.3769 \; -345.762 53.1201 \; -345.679 -54.497 \; -345.589 55.0109 \; -345.378 54.429 \; -345.454 53.1154 \; --345.782 50.7676 \; -346.038 46.6522 \; \;; -#X scalar trace-template 165 0 4 \; -325.894 48.8069 \; \;; -#X scalar trace-template 175 0 4 \; -356.334 50.4569 \; -356.247 48.779 +#X scalar trace-template 250 0 1 \; -317.632 38.2743 \; -317.35 39.9573 \; \;; -#X scalar trace-template 180 0 7 \; -301.117 55.838 \; \;; -#X scalar trace-template 185 0 8 \; -293.464 57.0721 \; -293.753 57.0661 -\; -294.981 57.0223 \; -297.216 56.2156 \; \;; -#X scalar trace-template 190 0 7 \; -284.577 56.1343 \; -285.086 55.975 -\; -286.97 53.0988 \; -287.551 52.728 \; -286.578 55.3239 \; -284.885 -56.8688 \; \;; -#X scalar trace-template 190 0 4 \; -329.396 44.9186 \; \;; -#X scalar trace-template 200 0 4 \; -356.528 50.0702 \; -356.496 50.6276 +#X scalar trace-template 255 0 5 \; -325.769 41.02 \; -327.416 39.4998 \; \;; -#X scalar trace-template 210 0 8 \; -295.441 55.6799 \; -294.951 58.3704 -\; -295.644 61.4334 \; -297.353 62.7345 \; -296.066 61.0116 \; -295.537 -60.5778 \; -295.446 60.8182 \; -295.239 58.1317 \; \;; -#X scalar trace-template 215 0 4 \; -330.67 41.5127 \; \;; -#X scalar trace-template 225 0 7 \; -356.732 50.5829 \; \;; -#X scalar trace-template 225 0 4 \; -360.188 48.7845 \; \;; -#X scalar trace-template 235 0 7 \; -284.799 58.4955 \; -287.641 56.0973 +#X scalar trace-template 260 0 9 \; -109.258 45.4016 \; \;; +#X scalar trace-template 260 0 8 \; -269.617 39.6881 \; \;; +#X scalar trace-template 260 0 2 \; -335.268 39.8662 \; -335.812 42.4017 \; \;; -#X scalar trace-template 235 0 4 \; -329.661 51.9938 \; -330.138 53.1038 -\; -329.39 54.2691 \; -329.734 53.1496 \; \;; -#X scalar trace-template 245 0 1 \; -260.175 66.9136 \; \;; -#X scalar trace-template 250 0 7 \; -267.795 67.3388 \; -268.428 67.3402 -\; -267.07 68.3468 \; -267.837 66.8513 \; \;; -#X scalar trace-template 255 0 8 \; -284.316 57.3983 \; -283.738 54.7765 +#X scalar trace-template 265 0 6 \; -251.762 43.8462 \; \;; +#X scalar trace-template 265 0 1 \; -311.124 43.3407 \; \;; +#X scalar trace-template 270 0 9 \; -216.68 57.9641 \; -201.134 74.3092 +\; -191.239 81.3912 \; -189.267 83.8831 \; -186.004 83.5798 \; -184.867 +82.5728 \; -183.805 81.7388 \; -183.962 81.3135 \; -185.24 81.2127 +\; -187.472 81.5787 \; -189.205 82.068 \; -190.013 82.6291 \; -189.536 +83.2528 \; -188.187 83.9373 \; -186.467 84.169 \; -182.621 83.4105 +\; -181.395 80.5043 \; -180.227 74.3949 \; -173.931 65.0494 \; -191.684 +60.3878 \; -190.197 65.8265 \; \;; +#X scalar trace-template 270 0 8 \; -263.563 65.4825 \; -266.829 75.8313 +\; -264.044 78.4236 \; -263.536 76.6589 \; -261.226 73.6861 \; -259.688 +71.8166 \; -259.247 70.8283 \; -260.235 70.4823 \; -262.932 70.5681 +\; -264.578 70.4191 \; -265.992 70.6123 \; -265.595 70.3134 \; -263.897 +70.1622 \; -262.608 69.6659 \; -259.472 67.3628 \; -255.89 62.8564 +\; -255.231 53.081 \; -257.709 44.1479 \; -256.3 48.1073 \; \;; +#X scalar trace-template 270 0 5 \; -305.466 55.7255 \; -301.578 67.8466 +\; -300.048 77.5537 \; -299.787 81.9104 \; -298.057 81.6461 \; -295.777 +78.5814 \; -294.332 76.2949 \; -295.59 74.6399 \; -298.09 75.479 \; +-300.162 75.9411 \; -301.182 75.9596 \; -300.955 75.2393 \; -299.885 +74.1909 \; -297.984 73.7005 \; -295.674 69.7991 \; \;; +#X scalar trace-template 270 0 4 \; -323.823 54.1059 \; -323.986 63.3397 +\; -322.427 65.7394 \; -320.774 68.0881 \; -318.959 70.0287 \; -317.588 +72.0285 \; -317.492 74.0736 \; -318.863 72.4451 \; -320.706 70.4655 \; \;; -#X scalar trace-template 255 0 1 \; -325.406 52.7829 \; -324.615 54.9147 -\; -324.294 57.288 \; -324.203 57.6853 \; -324.273 56.0984 \; -324.209 -53.9155 \; -325.029 52.9128 \; -325.562 55.9452 \; -324.674 57.6779 -\; -324.482 58.8515 \; -324.643 57.2996 \; -324.523 53.9698 \; \;; -#X scalar trace-template 260 0 4 \; -295.676 57.6808 \; -295.75 61.0421 -\; -297.136 60.2708 \; -296.992 56.8811 \; \;; -#X scalar trace-template 265 0 5 \; -330.003 52.1627 \; -329.553 53.0198 -\; -330.136 52.8048 \; -330.274 50.2378 \; \;; -#X scalar trace-template 270 0 8 \; -260.362 66.6159 \; -259.998 68.775 -\; -260.288 70.3227 \; -259.894 69.741 \; -259.523 69.4534 \; -259.486 -69.6885 \; -259.472 69.4197 \; -259.617 67.6515 \; -262.87 64.1605 -\; -267.153 62.3537 \; -268.824 61.8898 \; -267.318 64.0126 \; \;; -#X scalar trace-template 275 0 7 \; -284.716 57.0074 \; -284.733 55.4572 -\; -281.928 50.336 \; \;; -#X scalar trace-template 285 0 4 \; -295.401 56.6608 \; -295.098 61.4652 -\; -294.829 63.4592 \; -294.418 63.3665 \; -294.913 61.2281 \; -290.185 -54.9899 \; \;; -#X scalar trace-template 290 0 5 \; -349.939 56.9469 \; -349.947 58.3829 -\; -349.905 58.8964 \; -349.904 58.0441 \; \;; -#X scalar trace-template 295 0 7 \; -284.524 52.6894 \; -284.753 54.1151 +#X scalar trace-template 275 0 10 \; -312.826 62.9872 \; -313.005 67.6559 +\; -309.473 73.0265 \; -309.109 78.4206 \; -307.529 79.8607 \; -307.501 +80.1978 \; -308.541 77.1915 \; -311.13 77.0477 \; -313.107 78.0044 +\; -314 78.8237 \; -313.719 78.2212 \; -313.027 75.9063 \; -309.758 +74.6452 \; -309.146 72.1248 \; -308.75 64.002 \; -309.938 47.2857 \; +-309.592 43.0334 \; -308.741 44.6568 \; -308.961 45.4972 \; -309.145 +41.0773 \; -310.476 27.9927 \; \;; +#X scalar trace-template 275 0 6 \; -333.391 62.8385 \; -331.94 67.2884 +\; -330.586 69.631 \; -328.891 69.5286 \; -327.38 71.1622 \; -327.22 +71.3041 \; -328.983 69.498 \; -330.753 71.5048 \; -332.498 72.4036 +\; -333.827 73.5122 \; -333.684 72.5055 \; -332.324 71.1254 \; -330.69 +69.1422 \; -329.159 65.1244 \; \;; +#X scalar trace-template 275 0 3 \; -343.305 65.3004 \; \;; +#X scalar trace-template 275 0 2 \; -347.923 68.9873 \; -347.015 73.9481 +\; -345.817 76.6278 \; -344.744 76.817 \; -343.276 74.6509 \; -342.266 +73.1465 \; -341.918 67.5575 \; -339.45 69.7239 \; \;; +#X scalar trace-template 275 0 1 \; -356.03 62.0354 \; \;; +#X scalar trace-template 285 0 3 \; -233.916 79.2014 \; -233.613 78.1832 +\; -232.009 77.3057 \; -231.004 76.7674 \; -231.748 76.0078 \; -233.628 +74.9497 \; -235.823 73.8105 \; -237.555 73.6044 \; -237.714 73.7005 +\; -236.602 74.2537 \; -234.474 75.1182 \; -232.755 74.4538 \; -227.054 +71.9094 \; \;; +#X scalar trace-template 285 0 1 \; -339.353 71.1861 \; \;; +#X scalar trace-template 295 0 1 \; -335.181 71.1811 \; -334.983 71.7027 +\; -336.376 68.0478 \; \;; +#X scalar trace-template 315 0 1 \; -323.996 70.3698 \; -325.274 71.7388 +\; -324.318 72.3392 \; -322.463 72.5513 \; -320.918 72.0845 \; -319.156 +69.5358 \; -317.496 62.127 \; -319.818 48.4224 \; -321.391 41.9724 +\; -322.667 44.1215 \; -322.866 40.0692 \; \;; +#X scalar trace-template 320 0 4 \; -342.204 73.0598 \; -342.137 72.2721 +\; -340.764 69.4088 \; -338.347 68.103 \; -338.116 64.4878 \; -338.929 +56.8227 \; -338.334 44.3264 \; -336.694 40.846 \; -335.216 42.5208 +\; -333.814 43.0006 \; -333.82 36.7885 \; \;; +#X scalar trace-template 320 0 2 \; -349.44 69.1261 \; -349.34 69.1819 +\; -348.146 69.4576 \; -346.022 68.2567 \; -345.592 64.1853 \; \;; +#X scalar trace-template 350 0 7 \; -281.233 49.1083 \; -283.066 43.6474 \; \;; -#X scalar trace-template 310 0 7 \; -296.863 57.1286 \; \;; -#X scalar trace-template 315 0 5 \; -284.816 53.9214 \; -284.596 54.9496 +#X scalar trace-template 350 0 6 \; -288.815 48.4801 \; \;; +#X scalar trace-template 350 0 5 \; -297.983 48.3704 \; -296.321 44.0371 +\; -295.082 46.3521 \; -293.051 47.4113 \; -292.573 43.0368 \; -291.464 +32.2044 \; -295.451 25.9501 \; \;; +#X scalar trace-template 350 0 2 \; -330.338 45.6904 \; -330.52 43.6889 +\; -329.09 43.1221 \; -328.639 39.9607 \; \;; +#X scalar trace-template 355 0 3 \; -314.387 40.5794 \; -314.541 39.2094 \; \;; -#X scalar trace-template 320 0 7 \; -320.171 51.9045 \; -320.347 51.3616 -\; -322.505 53.1322 \; -324.186 54.2687 \; -324.502 54.4695 \; \;; -#X scalar trace-template 320 0 4 \; -329.516 50.9914 \; -329.725 49.6337 -\; -329.542 49.0654 \; \;; -#X scalar trace-template 320 0 2 \; -350.616 44.3007 \; -349.136 39.8323 -\; -349.706 44.8691 \; -349.938 50.5439 \; -350.159 53.5943 \; -350.112 -55.4278 \; \;; -#X scalar trace-template 320 0 1 \; -363.542 53.8649 \; \;; -#X scalar trace-template 330 0 5 \; -259.247 64.5953 \; -259.259 67.1753 -\; -259.361 68.9221 \; -259.778 70.1734 \; -259.63 70.295 \; -259.791 -69.9517 \; -258.949 67.496 \; \;; -#X scalar trace-template 330 0 1 \; -294.874 59.6277 \; -294.569 60.6568 -\; -293.491 60.5702 \; -295.325 59.6616 \; -295.557 58.3896 \; -294.992 -56.3442 \; -294.978 55.5158 \; -292.896 56.9972 \; -292.411 58.1426 -\; -289.819 58.4956 \; -291.533 55.9555 \; -291.911 56.1568 \; -289.755 -56.6256 \; -290.9 54.5125 \; -291.945 57.3661 \; -290.122 58.9368 \; --286.596 55.7548 \; \;; -#X scalar trace-template 335 0 9 \; -237.005 59.1482 \; -238.073 61.6695 -\; -238.836 63.0239 \; -239.009 62.1566 \; -238.742 60.0554 \; -239.431 -59.83 \; -239.46 61.1191 \; -239.544 61.8287 \; -240.597 62.3122 \; --240.803 62.7475 \; -240.157 62.7397 \; -240.643 62.9889 \; -240.646 -63.5014 \; -239.535 62.9037 \; -238.322 61.0068 \; -239.465 60.0128 -\; -240.84 59.9064 \; \;; -#X scalar trace-template 335 0 8 \; -345.352 53.4543 \; -345.419 54.423 -\; -345.578 54.6303 \; -345.653 53.7819 \; -345.435 50.5486 \; -344.958 -47.408 \; -344.949 45.1376 \; \;; -#X scalar trace-template 340 0 4 \; -359.773 42.1258 \; \;; -#X scalar trace-template 350 0 7 \; -281.74 47.8143 \; \;; -#X scalar trace-template 350 0 4 \; -319.707 53.5851 \; \;; -#X scalar trace-template 355 0 2 \; -324.763 55.4632 \; -324.598 58.0268 -\; -324.417 58.4832 \; -324.31 57.1883 \; -324.716 53.63 \; -324.911 -52.6199 \; \;; -#X scalar trace-template 360 0 7 \; -286.767 55.6536 \; -285.371 56.8644 +#X scalar trace-template 360 0 6 \; -339.262 42.5993 \; -339.244 43.0695 +\; -339.413 37.4517 \; -337.549 26.822 \; \;; +#X scalar trace-template 365 0 7 \; -122.01 61.0322 \; \;; +#X scalar trace-template 370 0 8 \; -345.861 34.5328 \; -347.691 24.7933 +\; -345.728 19.1542 \; -343.873 26.246 \; \;; +#X scalar trace-template 370 0 3 \; -353.896 33.2262 \; \;; +#X scalar trace-template 375 0 7 \; -163.455 65.2103 \; \;; +#X scalar trace-template 375 0 2 \; -318.437 27.844 \; -318.883 21.278 +\; -320.745 24.1777 \; -322.421 41.1348 \; -320.71 45.5788 \; -320.953 +44.2937 \; -320.541 43.4054 \; \;; +#X scalar trace-template 375 0 1 \; -327.275 21.8229 \; \;; +#X scalar trace-template 380 0 9 \; -118.7 59.9369 \; \;; +#X scalar trace-template 380 0 4 \; -260.874 35.019 \; \;; +#X scalar trace-template 380 0 3 \; -273.201 28.0989 \; \;; +#X scalar trace-template 385 0 10 \; -215.225 38.0728 \; \;; +#X scalar trace-template 385 0 7 \; -244.239 33.7982 \; \;; +#X scalar trace-template 385 0 6 \; -283.247 28.9686 \; \;; +#X scalar trace-template 385 0 1 \; -325.977 25.203 \; \;; +#X scalar trace-template 390 0 9 \; -259.277 48.6592 \; -259.449 55.9509 +\; -261.384 61.9747 \; -254.631 71.8289 \; -255.296 77.3791 \; -258.724 +76.7177 \; -262.737 73.5229 \; -264.133 70.5136 \; -263.004 68.6541 +\; -263.282 69.1919 \; -263.618 68.9122 \; -263.503 68.7272 \; \;; +#X scalar trace-template 390 0 5 \; -292.561 47.8268 \; -292.232 53.266 +\; -290.855 54.5168 \; -290.212 56.191 \; -292.463 58.4212 \; \;; +#X scalar trace-template 390 0 4 \; -335.219 34.7897 \; -335.35 39.9462 +\; -335.582 41.9998 \; -335.929 43.1906 \; -336.195 46.3078 \; -336.605 +46.9069 \; -336.992 47.5436 \; -336.821 47.8521 \; -338.182 47.3036 \; \;; -#X scalar trace-template 360 0 4 \; -350.076 58.1741 \; \;; -#X scalar trace-template 370 0 5 \; -267.823 66.7676 \; -267.617 66.2574 -\; -268.521 64.7118 \; -267.715 64.1857 \; -268.197 63.5378 \; \;; -#X scalar trace-template 370 0 4 \; -300.553 54.778 \; -298.021 52.3256 -\; -298.507 54.8007 \; -300.353 55.6097 \; \;; -#X scalar trace-template 375 0 8 \; -329.626 44.5155 \; -330.072 42.9968 -\; -330.81 42.5293 \; -330.889 42.7742 \; -330.559 42.9291 \; -331.103 -41.2239 \; \;; -#X scalar trace-template 375 0 7 \; -350.292 55.4035 \; \;; -#X scalar trace-template 385 0 7 \; -320.39 52.7026 \; \;; -#X scalar trace-template 390 0 2 \; -324.542 55.3817 \; -324.707 57.0009 -\; -324.544 57.5226 \; -324.899 55.5216 \; \;; -#X scalar trace-template 395 0 7 \; -259.027 64.4146 \; -259.007 66.9203 -\; -259.441 69.1434 \; -259.5 70.1276 \; -259.89 70.7056 \; -259.916 -69.7508 \; -260.128 68.3644 \; -260.331 65.6348 \; -267.385 63.6946 +#X scalar trace-template 390 0 3 \; -346.996 39.4808 \; -346.99 43.3214 +\; -346.422 40.7872 \; \;; +#X scalar trace-template 395 0 10 \; -148.631 56.6779 \; -163.201 65.7947 +\; -175.117 73.3527 \; -175.558 79.2966 \; -163.413 81.5996 \; -157.971 +81.0469 \; -153.782 80.3158 \; -153.11 79.8227 \; -152.026 79.4565 +\; -152.627 79.5941 \; -151.951 79.4431 \; \;; +#X scalar trace-template 395 0 8 \; -233.662 53.8301 \; \;; +#X scalar trace-template 395 0 7 \; -356.112 35.779 \; \;; +#X scalar trace-template 395 0 6 \; -360.25 42.0357 \; \;; +#X scalar trace-template 395 0 1 \; -365.769 41.4297 \; \;; +#X scalar trace-template 405 0 8 \; -226.225 68.263 \; \;; +#X scalar trace-template 405 0 7 \; -273.128 64.1971 \; -271.669 70.9635 +\; -271.08 74.2519 \; \;; +#X scalar trace-template 405 0 6 \; -300.183 49.8365 \; -302.819 53.7442 +\; -302.732 54.4952 \; -300.474 51.454 \; \;; +#X scalar trace-template 405 0 1 \; -313.42 47.8852 \; -311.392 53.0185 +\; -313.219 51.4886 \; -314.808 51.5057 \; -313.335 47.8505 \; -312.66 +46.3702 \; -311.892 46.6486 \; -311.415 49.4011 \; -311.012 51.4249 \; \;; -#X scalar trace-template 395 0 4 \; -350.225 56.0847 \; -350.217 58.4649 -\; -350.1 59.1759 \; \;; -#X scalar trace-template 400 0 5 \; -345.488 51.8104 \; -345.665 52.719 -\; -345.633 50.7978 \; -345.605 48.4163 \; -345.948 47.7253 \; -346.224 -49.8565 \; -345.932 52.1893 \; -345.638 53.757 \; -345.479 53.9585 -\; -345.43 53.4346 \; \;; -#X scalar trace-template 410 0 8 \; -300.379 54.217 \; -297.547 58.6683 -\; -295.217 59.6517 \; -292.936 55.7664 \; -295.09 54.4867 \; \;; -#X scalar trace-template 415 0 4 \; -320.477 53.3217 \; \;; -#X scalar trace-template 415 0 2 \; -330.91 44.7758 \; -330.491 46.8739 -\; -330.23 48.1383 \; -330.09 48.4249 \; \;; -#X scalar trace-template 420 0 1 \; -324.662 52.6471 \; -324.826 53.9825 -\; -324.672 55.4613 \; \;; -#X scalar trace-template 425 0 9 \; -299.778 57.1575 \; \;; -#X scalar trace-template 425 0 4 \; -350.297 55.9899 \; \;; -#X scalar trace-template 435 0 9 \; -238.899 61.5224 \; -239.72 62.7197 -\; -240.208 62.8918 \; \;; -#X scalar trace-template 435 0 4 \; -290.04 57.5717 \; -289.683 58.866 -\; -285.585 57.3138 \; \;; -#X scalar trace-template 440 0 8 \; -299.946 52.3215 \; -295.495 53.742 +#X scalar trace-template 410 0 3 \; -284.295 61.2014 \; \;; +#X scalar trace-template 415 0 8 \; -203.255 79.7278 \; -203.461 82.0699 +\; -201.387 83.0518 \; -201.096 83.7732 \; -200.517 84.0975 \; -199.92 +84.0691 \; -200.279 83.8995 \; \;; +#X scalar trace-template 415 0 2 \; -326.023 49.6935 \; -326.421 50.4614 +\; -325.828 49.3451 \; -324.103 50.0691 \; -323.839 51.0057 \; -324.269 +49.5694 \; -324.141 47.2574 \; \;; +#X scalar trace-template 420 0 5 \; -289.35 60.7322 \; -287.964 57.982 +\; -287.114 55.2035 \; -286.859 54.6219 \; -287.13 53.5386 \; -286.891 +51.9598 \; \;; +#X scalar trace-template 420 0 3 \; -332.16 47.7155 \; -330.798 47.4667 +\; -329.449 46.006 \; -329.571 46.3268 \; \;; +#X scalar trace-template 425 0 7 \; -247.914 66.5039 \; -248.428 66.218 +\; -247.601 66.3943 \; -248.331 66.1283 \; -247.981 66.5571 \; \;; +#X scalar trace-template 430 0 6 \; -303.843 42.3956 \; -304.586 41.9574 \; \;; -#X scalar trace-template 440 0 2 \; -320.287 54.1989 \; \;; -#X scalar trace-template 440 0 1 \; -350.833 47.8947 \; -350.51 51.3149 +#X scalar trace-template 440 0 4 \; -276.363 55.7109 \; -276.388 55.7195 \; \;; -#X scalar trace-template 445 0 7 \; -267.276 64.2333 \; \;; +#X scalar trace-template 445 0 6 \; -317.756 49.613 \; \;; +#X scalar trace-template 445 0 3 \; -329.399 43.8569 \; \;; #X restore 351 494 pd trace-list; #N canvas 56 84 527 179 trace-template 0; #X obj 121 72 plot bazoo 0 1 0 500 5; @@ -1034,7 +1056,6 @@ f-threshold 40 \; incr 10 \; clear-all bang; #X restore 569 538 pd test; #X text 317 140 read a sample; #X msg 214 163 \; read-sample ../sound/bell.aiff 44100; -#X msg 213 200 \; read-sample ../sound/voice.wav 32000; #N canvas 190 43 405 461 test-signal 0; #X obj 174 293 tabread4~ sample; #X obj 174 268 line~; @@ -1084,8 +1105,8 @@ f-threshold 40 \; incr 10 \; clear-all bang; #X restore 125 436 pd test-signal; #N canvas 132 255 634 331 insample 0; #N canvas 0 0 450 300 graph1 0; -#X array sample 155948 float 0; -#X coords 0 1 155947 -1 400 150 1; +#X array sample 62079 float 0; +#X coords 0 1 62078 -1 400 150 1; #X restore 259 18 graph; #X obj 25 70 r read-sample; #X obj 25 95 unpack s f; @@ -1109,6 +1130,7 @@ above.; a sampled sound using pique~ and the data structure facilities. It turns out to be quite hard \, not least because pique~ 0.1 puts out all sorts of spurious peaks.; +#X msg 213 200 \; read-sample ../sound/voice.wav 44100; #X connect 0 0 2 0; #X connect 1 0 0 0; #X connect 3 0 4 0; @@ -1121,7 +1143,7 @@ all sorts of spurious peaks.; #X connect 10 0 44 1; #X connect 11 0 57 0; #X connect 12 0 11 0; -#X connect 19 0 77 0; +#X connect 19 0 76 0; #X connect 20 0 21 0; #X connect 21 0 27 0; #X connect 22 0 20 0; @@ -1131,10 +1153,10 @@ all sorts of spurious peaks.; #X connect 27 0 28 0; #X connect 28 0 29 0; #X connect 28 0 29 1; -#X connect 30 0 77 0; +#X connect 30 0 76 0; #X connect 32 0 24 0; #X connect 37 0 39 0; -#X connect 40 0 75 0; +#X connect 40 0 74 0; #X connect 41 0 44 0; #X connect 41 0 45 0; #X connect 41 0 50 0; @@ -1156,4 +1178,4 @@ all sorts of spurious peaks.; #X connect 61 0 65 0; #X connect 62 0 65 1; #X connect 65 0 64 0; -#X connect 75 0 28 0; +#X connect 74 0 28 0; diff --git a/pd/doc/5.reference/message-help.pd b/pd/doc/5.reference/message-help.pd index 13a74f55..5823473c 100644 --- a/pd/doc/5.reference/message-help.pd +++ b/pd/doc/5.reference/message-help.pd @@ -1,46 +1,67 @@ -#N canvas 0 365 726 512 12; -#X msg 88 13 message boxes; -#X text 55 36 Message boxes hold one or more message. Anytime the message +#N canvas 70 162 648 546 12; +#X msg 67 10 message boxes; +#X text 34 33 Message boxes hold one or more message. Anytime the message box receives any message at all \, the messages in the box are all sent to their destinations.; -#X obj 178 301 print; -#X msg 178 241 60 64; -#X msg 178 271 pitch \$1 \, velocity \$2; +#X obj 120 295 print; +#X msg 120 235 60 64; +#X msg 120 265 pitch \$1 \, velocity \$2; #X msg 49 378 123 \; my-receiver-name 858 \; another-receiver -45; -#X text 55 84 Clicking on a message also sends it \, so you can use +#X text 34 81 Clicking on a message also sends it \, so you can use messsage boxes for push buttins. For instance \, click here while watching the printout window:; -#X msg 164 141 walk the dog; -#X obj 164 170 print; -#X text 281 141 <--- message; -#X text 265 167 <--- object (different border); -#X text 35 200 You can separate multiple messages by commas. Also \, +#X msg 122 139 walk the dog; +#X obj 122 168 print; +#X text 239 139 <--- message; +#X text 223 165 <--- object (different border); +#X text 14 197 You can separate multiple messages by commas. Also \, you can use "$1" \, "$2" \, etc. to make variable messages:; #X text 14 323 Finally \, if you separate messages by a semicolon instead of a comma \, the following message(s) are re-routed to named objects such as "receives":; #X obj 49 433 print; #X obj 253 378 receive my-receiver-name; -#X floatatom 253 402 0 0 0; -#X floatatom 252 449 0 0 0; +#X floatatom 253 402 0 0 0 0 - - -; +#X floatatom 252 449 0 0 0 0 - - -; #X obj 252 425 receive another-receiver; -#X msg 559 349 dog bird monkey \; monkey \;; -#X msg 559 229 set dog; -#X msg 567 252 set cat; -#X text 593 189 this is; -#X text 592 206 arcane:; -#X msg 576 303 add monkey; -#X msg 581 327 add2 bird; -#X msg 573 277 set; -#X text 415 479 updated for Pd version 0.34; +#X text 396 519 updated for Pd version 0.39; +#X text 19 471 You can send messages to message boxes to change their +content - open the subpatch below for details:; +#N canvas 0 0 718 466 changing-messages 0; +#X msg 55 380 dog bird monkey \; bird; +#X msg 58 69 set dog; +#X msg 75 143 add monkey; +#X msg 77 188 add2 bird; +#X msg 72 117 set; +#X text 92 29 Messages to change contents of messages boxes:; +#X msg 66 92 set 1 2 3 skidoo; +#X text 236 120 "set" with no arguments clears it; +#X text 240 75 "set" to set contents (numbers and/or symbols); +#X text 180 146 "add" to add numbers and/or symbols \, plus a terminating +semicolon; +#X text 168 190 "add2" to add contents without the terminating semicolon +; +#X msg 83 222 addcomma; +#X msg 82 248 addsemi; +#X msg 78 305 adddollsym 4-foo; +#X msg 84 275 adddollar 3; +#X text 174 225 add a comma; +#X text 173 244 add a semicolon; +#X text 199 275 add a dollar-sign argument; +#X text 235 305 add a dollar-sign-plus-symbol argument; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 6 0 0 0; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X connect 13 0 0 0; +#X connect 14 0 0 0; +#X restore 153 512 pd changing-messages; #X connect 3 0 4 0; #X connect 4 0 2 0; #X connect 5 0 13 0; #X connect 7 0 8 0; #X connect 14 0 15 0; #X connect 17 0 16 0; -#X connect 19 0 18 0; -#X connect 20 0 18 0; -#X connect 23 0 18 0; -#X connect 24 0 18 0; -#X connect 25 0 18 0; diff --git a/pd/src/d_misc.c b/pd/src/d_misc.c index 1056f0cb..3a327dc5 100644 --- a/pd/src/d_misc.c +++ b/pd/src/d_misc.c @@ -127,48 +127,6 @@ static void bang_tilde_setup(void) gensym("dsp"), 0); } -/* ------------------------ samplerate~~ -------------------------- */ - -static t_class *samplerate_tilde_class; - -typedef struct _samplerate -{ - t_object x_obj; - float x_sr; -} t_samplerate; - -static void samplerate_tilde_bang(t_samplerate *x) -{ - if (!canvas_dspstate) - { - post( - "NB: samplerate~ momentarily started DSP to learn sample rate"); - canvas_resume_dsp(1); - canvas_suspend_dsp(); - } - outlet_float(x->x_obj.ob_outlet, x->x_sr); -} - -static void samplerate_tilde_dsp(t_samplerate *x, t_signal **sp) -{ - x->x_sr = sp[0]->s_sr; -} - -static void *samplerate_tilde_new(t_symbol *s) -{ - t_samplerate *x = (t_samplerate *)pd_new(samplerate_tilde_class); - outlet_new(&x->x_obj, &s_float); - return (x); -} - -static void samplerate_tilde_setup(void) -{ - samplerate_tilde_class = class_new(gensym("samplerate~"), - (t_newmethod)samplerate_tilde_new, 0, sizeof(t_samplerate), 0, 0); - class_addbang(samplerate_tilde_class, samplerate_tilde_bang); - class_addmethod(samplerate_tilde_class, (t_method)samplerate_tilde_dsp, - gensym("dsp"), A_CANT, 0); -} /* ------------------------ global setup routine ------------------------- */ @@ -176,7 +134,6 @@ void d_misc_setup(void) { print_setup(); bang_tilde_setup(); - samplerate_tilde_setup(); } diff --git a/pd/src/d_ugen.c b/pd/src/d_ugen.c index 17a4ecc3..c1dcbffc 100644 --- a/pd/src/d_ugen.c +++ b/pd/src/d_ugen.c @@ -247,6 +247,18 @@ static void block_dsp(t_block *x, t_signal **sp) /* do nothing here */ } +void block_tilde_setup(void) +{ + block_class = class_new(gensym("block~"), (t_newmethod)block_new, 0, + sizeof(t_block), 0, A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); + class_addcreator((t_newmethod)switch_new, gensym("switch~"), + A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(block_class, (t_method)block_set, gensym("set"), + A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); + class_addmethod(block_class, (t_method)block_dsp, gensym("dsp"), 0); + class_addfloat(block_class, block_float); +} + /* ------------------ DSP call list ----------------------- */ static t_int *dsp_chain; @@ -660,7 +672,7 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u) t_siginlet *uin; t_sigoutconnect *oc, *oc2; t_class *class = pd_class(&u->u_obj->ob_pd); - int i, n, totnsig; + int i, n; /* suppress creating new signals for the outputs of signal inlets and subpatchs; except in the case we're an inlet and "blocking" is set. We don't yet know if a subcanvas will be "blocking" so there @@ -695,8 +707,7 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u) s3->s_refcount = 1; } } - totnsig = u->u_nin + u->u_nout; - insig = (t_signal **)getbytes((totnsig ? totnsig : 1) * sizeof(t_signal *)); + insig = (t_signal **)getbytes((u->u_nin + u->u_nout) * sizeof(t_signal *)); outsig = insig + u->u_nin; for (sig = insig, uin = u->u_in, i = u->u_nin; i--; sig++, uin++) { @@ -731,11 +742,6 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u) *sig = uout->o_signal = signal_new(dc->dc_vecsize, dc->dc_srate); (*sig)->s_refcount = uout->o_nconnect; } - /* if thre are no input or output signals, supply one fake signal so - the object can learn the sample rate and block size. Used by the - samplerate~ object. */ - if (!totnsig) - insig[0] = signal_new(dc->dc_vecsize, dc->dc_srate); /* now call the DSP scheduling routine for the ugen. This routine must fill in "borrowed" signal outputs in case it's either a subcanvas or a signal inlet. */ @@ -750,9 +756,6 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u) if (!(*sig)->s_refcount) signal_makereusable(*sig); } - /* special case: no inputs or outputs: free the fake signal we made */ - if (!totnsig) - signal_makereusable(insig[0]); if (ugen_loud) { if (u->u_nin + u->u_nout == 0) post("put %s %d", @@ -1099,18 +1102,52 @@ t_signal *ugen_getiosig(int index, int inout) return (ugen_currentcontext->dc_iosigs[index]); } +/* ------------------------ samplerate~~ -------------------------- */ + +static t_class *samplerate_tilde_class; + +typedef struct _samplerate +{ + t_object x_obj; + float x_sr; + t_canvas *x_canvas; +} t_samplerate; + +void *canvas_getblock(t_class *blockclass, t_canvas **canvasp); + +static void samplerate_tilde_bang(t_samplerate *x) +{ + float srate = sys_getsr(); + t_canvas *canvas = x->x_canvas; + while (canvas) + { + t_block *b = (t_block *)canvas_getblock(block_class, &canvas); + if (b) + srate *= (float)(b->x_upsample) / (float)(b->x_downsample); + } + outlet_float(x->x_obj.ob_outlet, srate); +} + +static void *samplerate_tilde_new(t_symbol *s) +{ + t_samplerate *x = (t_samplerate *)pd_new(samplerate_tilde_class); + outlet_new(&x->x_obj, &s_float); + x->x_canvas = canvas_getcurrent(); + return (x); +} + +static void samplerate_tilde_setup(void) +{ + samplerate_tilde_class = class_new(gensym("samplerate~"), + (t_newmethod)samplerate_tilde_new, 0, sizeof(t_samplerate), 0, 0); + class_addbang(samplerate_tilde_class, samplerate_tilde_bang); +} /* -------------------- setup routine -------------------------- */ -void d_ugen_setup(void) /* really just block_setup */ +void d_ugen_setup(void) { - block_class = class_new(gensym("block~"), (t_newmethod)block_new, 0, - sizeof(t_block), 0, A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); - class_addcreator((t_newmethod)switch_new, gensym("switch~"), - A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(block_class, (t_method)block_set, gensym("set"), - A_DEFFLOAT, A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(block_class, (t_method)block_dsp, gensym("dsp"), 0); - class_addfloat(block_class, block_float); + block_tilde_setup(); + samplerate_tilde_setup(); } diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c index 4019807f..dd8e6467 100644 --- a/pd/src/g_canvas.c +++ b/pd/src/g_canvas.c @@ -1224,12 +1224,6 @@ int canvas_showtext(t_canvas *x) return (!isarray); } -static void canvas_dodsp(t_canvas *x, int toplevel, t_signal **sp); -static void canvas_dsp(t_canvas *x, t_signal **sp) -{ - canvas_dodsp(x, 0, sp); -} - /* get the document containing this canvas */ t_canvas *canvas_getrootfor(t_canvas *x) { @@ -1289,6 +1283,11 @@ static void canvas_dodsp(t_canvas *x, int toplevel, t_signal **sp) ugen_done_graph(dc); } +static void canvas_dsp(t_canvas *x, t_signal **sp) +{ + canvas_dodsp(x, 0, sp); +} + /* this routine starts DSP for all root canvases. */ static void canvas_start_dsp(void) { @@ -1356,6 +1355,21 @@ void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv) else post("dsp state %d", canvas_dspstate); } +void *canvas_getblock(t_class *blockclass, t_canvas **canvasp) +{ + t_canvas *canvas = *canvasp; + t_gobj *g; + void *ret = 0; + for (g = canvas->gl_list; g; g = g->g_next) + { + if (g->g_pd == blockclass) + ret = g; + } + *canvasp = canvas->gl_owner; + return(ret); +} + +/******************* redrawing data *********************/ /* redraw all "scalars" (do this if a drawing command is changed.) LATER we'll use the "template" information to select which ones we diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c index 938842a6..c621d299 100644 --- a/pd/src/g_editor.c +++ b/pd/src/g_editor.c @@ -1686,7 +1686,12 @@ void canvas_menuclose(t_canvas *x, t_floatarg fforce) g); return; } - else pd_free(&x->gl_pd); + else + { + sys_vgui( +"pdtk_check {Close this window??} {.x%lx menuclose 1;\n} yes\n", + x); + } } else if (force == 1) pd_free(&x->gl_pd); @@ -1695,7 +1700,16 @@ void canvas_menuclose(t_canvas *x, t_floatarg fforce) canvas_dirty(x, 0); while (x->gl_owner) x = x->gl_owner; - canvas_menuclose(x, 0); + g = glist_finddirty(x); + if (g) + { + canvas_vis(g, 1); + sys_vgui( +"pdtk_check {Discard changes to this window??} {.x%lx menuclose 2;\n} no\n", + g); + return; + } + else pd_free(&x->gl_pd); } else if (force == 3) { diff --git a/pd/src/notes.txt b/pd/src/notes.txt index 49f5a90c..257e24ca 100644 --- a/pd/src/notes.txt +++ b/pd/src/notes.txt @@ -1,46 +1,12 @@ ---------------- dolist -------------------- -done for 0.39: -At the source level, "regular" arrays and arrays withing data structures -are now the same thing. The main user-visible effect of this is that now -"arrays" may be graphed as "bezier curves". -array elements can be clicked on, etc -fixed array onset bug -rfft bug fix -bug fix in d_soundfile.c -bugfix in number2 -plot drawing instructions turn on and off -ranges in drawing instructions -select/deselect hook -unify graph properties dialogs -GOP font depends on abstraction, not parent -bug fixes, stale pointers -message "addcomma" etc -"list" object -Mac to tcl/tk 8.4.5; pd extension added automatically -bug fix writing aiff gfiles -bug fix (tcl error messages when starting open dialogs) -pointer rewind (also check if send-window documented?) -stop vis-ing subpatches of abstractions -save dirty abstractions on close -close dirty patches on quit -"find" fixed to open GOPs correctly -cheat to speed up mouse motion over arrays -fix samplerate~ to figure out blocking -thread-unsafe callbacks from sys_microsleep() -writesf -- "open" without "0" misses closing the previous file. - ------------- 0.39 --------- +test: +compile on various versions of linux windows: modal dialogs confuse watchdog check the right-click-on-empty-canvas -mac: - load libraries first before opening patches on drag-and-drop + MIDI I/O (inc. sysex) -check: -MIDI I/O for windows -blechman patch for s_inter.c -check what happens when going back and forth between graph-on-parent doc: object list @@ -76,6 +42,7 @@ check if _vsnprintf with zero argument in windows works any better... detect adc~ and dac~ reblocking features: +integrate video into tilde objects flag to suppress printing array name above graph flag to suppress scrollbars in canvases fix copyright notices @@ -109,7 +76,6 @@ editing: data: data copy/paste doesn't check templates aren't changed -figure out why Pd sometimes crashes when you close example after adding fields arrays of non-existent templates crash vget, vset traversal objects cursor to show (x, y) location @@ -119,8 +85,6 @@ sublists should display on parent if desired? (new drawing instruction) sublists seem not to handle canvas allocation right (get.pd->pointer.pd bug) scalar hook to catch the mouse protect against "plots" going away while you drag on them -when last drawing instruction leaves, glist_redrawitem() fails to erase it; - perhaps scalar_vis(...0) should just delete for the tag, itself? more features: -- cgit v1.2.1