From d41e58e6cd71fdacdca69ba78c29d42dc7d330d5 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 20 Nov 2002 17:46:33 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r224, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/maxlib/; revision=225 --- help/automata.txt | 178 +++++++++++++++++++++++++++++++++++++++++++++++ help/examplescore.txt | 25 +++++++ help/help-arbran.pd | 28 ++++++++ help/help-average.pd | 29 ++++++++ help/help-beat.pd | 66 ++++++++++++++++++ help/help-beta.pd | 14 ++++ help/help-bilex.pd | 12 ++++ help/help-borax.pd | 86 +++++++++++++++++++++++ help/help-cauchy.pd | 11 +++ help/help-chord.pd | 37 ++++++++++ help/help-delta.pd | 20 ++++++ help/help-dist.pd | 36 ++++++++++ help/help-divide.pd | 18 +++++ help/help-divmod.pd | 20 ++++++ help/help-edge.pd | 17 +++++ help/help-expo.pd | 12 ++++ help/help-fifo.pd | 13 ++++ help/help-gauss.pd | 14 ++++ help/help-gestalt.pd | 51 ++++++++++++++ help/help-history.pd | 30 ++++++++ help/help-ignore.pd | 15 ++++ help/help-iso.pd | 54 ++++++++++++++ help/help-lifo.pd | 16 +++++ help/help-limit.pd | 25 +++++++ help/help-linear.pd | 8 +++ help/help-listfunnel.pd | 21 ++++++ help/help-match.pd | 68 ++++++++++++++++++ help/help-maxlib.pd | 73 +++++++++++++++++++ help/help-minus.pd | 17 +++++ help/help-mlife.pd | 56 +++++++++++++++ help/help-multi.pd | 17 +++++ help/help-netclient.pd | 51 ++++++++++++++ help/help-netdist.pd | 37 ++++++++++ help/help-netrec.pd | 34 +++++++++ help/help-netserver.pd | 50 +++++++++++++ help/help-nroute.pd | 37 ++++++++++ help/help-pitch.pd | 30 ++++++++ help/help-plus.pd | 17 +++++ help/help-poisson.pd | 12 ++++ help/help-pulse.pd | 35 ++++++++++ help/help-remote.pd | 18 +++++ help/help-rhythm.pd | 35 ++++++++++ help/help-scale.pd | 31 +++++++++ help/help-score.pd | 52 ++++++++++++++ help/help-speedlim.pd | 30 ++++++++ help/help-step.pd | 22 ++++++ help/help-subst.pd | 72 +++++++++++++++++++ help/help-temperature.pd | 16 +++++ help/help-tilt.pd | 26 +++++++ help/help-triang.pd | 9 +++ help/help-velocity.pd | 14 ++++ help/help-weibull.pd | 15 ++++ 52 files changed, 1730 insertions(+) create mode 100644 help/automata.txt create mode 100644 help/examplescore.txt create mode 100644 help/help-arbran.pd create mode 100644 help/help-average.pd create mode 100644 help/help-beat.pd create mode 100644 help/help-beta.pd create mode 100644 help/help-bilex.pd create mode 100644 help/help-borax.pd create mode 100644 help/help-cauchy.pd create mode 100644 help/help-chord.pd create mode 100644 help/help-delta.pd create mode 100644 help/help-dist.pd create mode 100644 help/help-divide.pd create mode 100644 help/help-divmod.pd create mode 100644 help/help-edge.pd create mode 100644 help/help-expo.pd create mode 100644 help/help-fifo.pd create mode 100644 help/help-gauss.pd create mode 100644 help/help-gestalt.pd create mode 100644 help/help-history.pd create mode 100644 help/help-ignore.pd create mode 100644 help/help-iso.pd create mode 100644 help/help-lifo.pd create mode 100644 help/help-limit.pd create mode 100644 help/help-linear.pd create mode 100644 help/help-listfunnel.pd create mode 100644 help/help-match.pd create mode 100644 help/help-maxlib.pd create mode 100644 help/help-minus.pd create mode 100644 help/help-mlife.pd create mode 100644 help/help-multi.pd create mode 100644 help/help-netclient.pd create mode 100644 help/help-netdist.pd create mode 100644 help/help-netrec.pd create mode 100644 help/help-netserver.pd create mode 100644 help/help-nroute.pd create mode 100644 help/help-pitch.pd create mode 100644 help/help-plus.pd create mode 100644 help/help-poisson.pd create mode 100644 help/help-pulse.pd create mode 100644 help/help-remote.pd create mode 100644 help/help-rhythm.pd create mode 100644 help/help-scale.pd create mode 100644 help/help-score.pd create mode 100644 help/help-speedlim.pd create mode 100644 help/help-step.pd create mode 100644 help/help-subst.pd create mode 100644 help/help-temperature.pd create mode 100644 help/help-tilt.pd create mode 100644 help/help-triang.pd create mode 100644 help/help-velocity.pd create mode 100644 help/help-weibull.pd (limited to 'help') diff --git a/help/automata.txt b/help/automata.txt new file mode 100644 index 0000000..afa5e9e --- /dev/null +++ b/help/automata.txt @@ -0,0 +1,178 @@ +[The following note originally appeared on the emusic-l mailing list. It is +reprinted here with the author's permission] + +From xrjdm@FARSIDE.GSFC.NASA.GOV Wed Nov 23 11:26:39 1994 +Date: Tue, 4 Oct 1994 15:09:23 -0500 +From: Joe McMahon +Reply to: Electronic Music Discussion List +To: Multiple recipients of list EMUSIC-L +Subject: Automata: the long-awaited summary + +Back in August, I think, I promised to post a quick intro to cellular +automata and how they can be used as a sound-generation tool. Since I'm +going to take a couple of different sources and sum them up with little or +no direct attribution, combined with my own opinions, I'll give everybody +my references *first* so they can delete the article and draw their own +conclusions if they so prefer. + +The primary reference that got me started on all this is one in the CMJ: +Vol 14, No. 4, Winter 1990: "Digital Synthesis of Self-modifying Waveforms +by Means of Cellular Automata" (Jacques Chareyon). Those who are already +familiar with automata may just skip to that article and forget about the +rest of this one. +Note: the article gives a mail address for M. Chareyon, but he did not +answer an inquiry about any available recordings using this technique in +1990. + +So. Anyone still here? Good. + +Cellular automata are a mathematical concept first introduced in the late +1940's. Generally speaking, a cellular automaton consists of a grid of +cells. Each cell may take on any of a number of values - binary automata +(cell on or cell off) are the most commonly studied. Each cell has a +neighborhood, defined more simply as other cells which influence its state. +The exact nature of this influence is defined by what are called transition +rules. The cellular automaton starts off with some cells in any of the +allowable states. for each "step" in the automaton's history, the +neighborhood of every cell is checked, and the state of the cell is +updated. All updates occur simultaneously. + +The transition rule must describe the resulting state of a cell for every +possible configuration of other cells in the neighborhood. For large +numbers of states, the amount of memory required to hold the transition +rule becomes increasingly large, Therefore, some automata use what is known +as a "totalistic" rule. These rules simply sum the values of the cells in +the neighborhood and then assign a result on this basis. The resulting +tables are far smaller. + +Many readers may already be familiar with John Horton Conway's game of +"Life". This is a two-dimensional binary automaton with a totalistic rule. +This makes for a very small rule set: + + i) If fewer than two filled cells (cells with value 1) surround a cell, + it becomes empty next generation. + ii) If more than three filled cells surround a cell, it becomes empty + next generation. +iii) If exactly three cells filled cells surround a cell, it becomes + filled on the next generation. + +This corresponds to a totalistic rule set with a total of 8(2-1)+1 or 9 +rules (one each for the sum values of 0 (no cells with a value) through 9 +(all cells with a value) ).If the transition rule were represented as a +non-totalistic one, the rule set would need 2**8 or 256 entries. There are +many interesting totalistic automata, so giving up detailed description of +every nuance of the transitions to save memory space isn't a big sacrifice. + +Interesting as two dimensional automata are, they really aren't terribly +useful for music making. There have been some experiments which have +attempted to use a two-dimensional automaton to generate MIDI events - +synthesis at the note level, using : + +Battista, T. and M. Giri, 1988. "Composizione Tramite Automi Cellulari." +Atti del VII Cooloquio di Informatica Musicale. Rome, Italy: Edizione Arti +Grafiche Ambrosini, pp. 181-182. + +Edgar, R. and J. Ryan, 1986. "LINA" Exhibition of the 1986 International +Computer Music Conference, San Francisco: Computer Music Association. + +I have not heard any of the music from these efforts, so I certainly can't +pass any judgement on them. For the purposes of this summary, we'll just +look at one-dimensional automata. These use a linear array of cells, with +the neighborhood generally being one or two cells on either side of each +cell. +(This is the type of automaton dealt with in M. Chareyon's article, which I +will be paraphrasing broadly hereafter). + +M. Chareyon's automata are wavetables. A digitized signal is stored as a +linear array of numbers in memory. A totalistic rule is used to determine a +lookup value which indexes into an array containing the resulting value; +this is saved into a second array. After the first array is completely +processed, the roles of the two are swapped and the process is repeated. + +The limiting factor in this process is the number of bits of resolution +being used to generate the sound. For a totalistic rule using a two-cell +neighborhood and 12-bit individual samples, we have 3*(2*12) = 12288 +entries in the rule table. At 2 bytes each, this is 24K of storage. If we +go to 16-bit sample resolution, we have 196608 entries at 2 bytes each for +a total of 393216 bytes, or 384K. + +The key point of M. Charyeon's method is the use of small neighborhoods +with large numbers of cellular states. Since the computation of the new +wavetable is all table lookup, very complex transition rules can be +precomputed and loaded into the tables, allowing the synthesis to +essentially be a fast sum-and-lookup loop to calculate each new wavesample. +>From the article, it appears that M. Chareyon was able to produce 2 or 3 +voices in realtime on a Mac II with a Digidesign Sound Accelerator board. +It seems that it would probably be possible to use an AV Mac to do it +without the board. + +This LASy (Linear Automaton Synthesis) method is closely related to the +Karplus-Strong plucked-string algorithm, in that a wavesample is run +through an algorithm which recirculates the samples to "self-modify" the +wave. In fact, a judicious choice of table entries allows one to very +simply simulate the K-S algoritm directly. + +So what are the sounds like? Some automata produce waveforms which quickly +"ramp-up" to complex spectra and then drop off quickly. Others move to a +steady state and then remain there. Yet others produce never-ending and +unpredictable waveforms, whose harmonic content is constantly changing. + +Obviously enough, the original wavesample can be obtained mathematically, +or by actual sampling and using LASy as a waveshaper. As M. Chareyon notes, +a quick estimate of the number of possible automata for a 2-neighbor +totalistic rule using a 256-entry wavetable with 12-bit entries is +(2**12)**256 * (2**12)**(3*2**12) or about 10**4500 possible automata. Of +course, many, many of these would not be suitable for music (e.g., the 4096 +automata in which all values go to one vlaue in one step, etc.); however, +the number of musically useful automata is still likely to be an immense +number. + +M. Chareyon provides a number of examples of ways to fill out the rule +tables and a number of hints on creating wave tables - generally speaking, +one can create a function which is used to compute the values to be placed +into the table and then fill it so it can simply be loaded and used by the +basic algorithm. His experience in using LASy is that he manages +approximately 50% of the time to produce sounds with the desired +characteristics, and that about 10% of the remaining time he gets +unexpected but useful results which can be used as starting points for +further exploration. + +Again, the important point is that the basic automaton uses wavesamples at +full resolution, calculating a new wavesample for each step of the +automaton; the next wavesample can be played while the new one is being +calculated. Because of the large number of states, mathematical tools for +the analysis of automata and the construction of automata with specifically +desired qualities require too much storage and compute time to make them +useful for LASy purposes. + +Again, much of this article is paraphrased from M. Chareyon's article; I +take no credit for any of the work in this note. I'm just summarizing. + +The following other articles were referenced by M. Chareyon's article: + +Burks, A., ed. 1970. Essays on Cellular Automata. Champaign/Urbana, IL: +University of Illinois Press. + +Chareyon, J. 1988a. "Sound Synthesis and Processing by Means of Linear +Cellular Automata." Proceedings of the 1988 Internation Computer Music +Conference. San Francisco: Computer Music Association. + +Chareyon, J. 1988b. "Wavetable come Automa Cellulare: una Nuova Tecnica di +Sintesi." Atti del VII Colloquio di Informatica Musicale, Rome, Italy: +Edizioni Arti Grafiche Ambrosini, pp. 174-177. + +Farmer, D., T. Toffoli, and S. Wolfram, eds. 1984. Cellular Automata. +North-Holland Physics Publishing. [One of the definitive works on cellular +automata - fairly heavy math, not a popular presentation - JM] + +Gardner, M. 1970. "The Fantastic Combinations of John Conway's New Solitare +Game 'Life'". Scientific American 223(4) 120-123. [A good introduction to +cellular automata, focusing on 'life' in specific. Useful intro if my +1-paragraph summary of automata was confusing :) - JM] + + --- Joe M. + +-- +"At the end of the hour, we'll have information on the sedatives used by +the artists,,," (MST3K) + diff --git a/help/examplescore.txt b/help/examplescore.txt new file mode 100644 index 0000000..78afd45 --- /dev/null +++ b/help/examplescore.txt @@ -0,0 +1,25 @@ +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +71 +70 +69 +68 +67 +66 +65 +64 +63 +62 +61 +60 \ No newline at end of file diff --git a/help/help-arbran.pd b/help/help-arbran.pd new file mode 100644 index 0000000..9153bf5 --- /dev/null +++ b/help/help-arbran.pd @@ -0,0 +1,28 @@ +#N canvas 190 136 663 491 12; +#X obj 41 152 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 41 249 5 0 0; +#N canvas 0 0 450 300 graph1 0; +#X array array1 6 float 1; +#A 0 1.1 2.67143 3.24285 3.1 4.38571 8.67143; +#X coords 0 10 5 0 200 140 1; +#X restore 347 71 graph; +#N canvas 0 0 450 300 graph2 0; +#X array array2 6 float 1; +#A 0 0.0229077 0.204366 0.486501 0.0632986 0.204028 0.025319; +#X coords 0 1 5 0 200 140 1; +#X restore 347 220 graph; +#X obj 41 202 arbran array1 array2; +#X text 39 21 arbran :: generates a random variable that conforms +to the piecewise probability density functions specified in two arrays +; +#X text 40 297 array1 has values between 0 and 10; +#X text 40 317 array2 between 0 and 1 !; +#X msg 99 152 pdfscale; +#X text 41 389 array1 stores the values and array2 the corresponding +probabilities (0 - 1) for each of that values \, use message 'pdfscale' +to check (and adjust) the probability values to correct settings (the +area below the curve has to be 1); +#X connect 0 0 4 0; +#X connect 4 0 1 0; +#X connect 8 0 4 0; diff --git a/help/help-average.pd b/help/help-average.pd new file mode 100644 index 0000000..6155716 --- /dev/null +++ b/help/help-average.pd @@ -0,0 +1,29 @@ +#N canvas 445 253 470 320 12; +#X floatatom 47 39 5 0 0; +#X floatatom 47 276 5 0 0; +#X floatatom 122 191 5 0 0; +#X obj 47 219 average 10; +#X text 177 191 number of items to average; +#X text 139 220 creation argument = number of items; +#X floatatom 122 254 5 0 0; +#X text 105 277 average of last N items; +#X text 125 11 average :: calculates the average of the; +#X text 214 30 last N items (floats); +#X text 176 255 tendency (up = 1 \, down = -1); +#X msg 100 60 reset; +#X text 152 61 forget everything; +#X msg 129 94 linear; +#X msg 147 118 geometric; +#X text 191 93 linear average (dafault); +#X text 230 119 geometric average; +#X msg 158 146 weight; +#X text 217 147 weighted average (giving last; +#X text 218 163 items higher weight); +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 3 1 6 0; +#X connect 11 0 3 0; +#X connect 13 0 3 0; +#X connect 14 0 3 0; +#X connect 17 0 3 0; diff --git a/help/help-beat.pd b/help/help-beat.pd new file mode 100644 index 0000000..55f85ef --- /dev/null +++ b/help/help-beat.pd @@ -0,0 +1,66 @@ +#N canvas 294 98 628 562 12; +#X floatatom 20 503 8 0 0; +#X obj 20 66 notein; +#X obj 183 376 makenote 100 250; +#X floatatom 41 477 5 0 0; +#X text 43 13 beat :: beat tracker; +#X text 97 505 beats per minute; +#X msg 71 224 reset; +#X obj 183 219 tgl 20 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 183 346 60; +#X msg 53 108 print; +#X obj 63 446 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -258699 +-1; +#X text 93 447 'on beat'; +#X text 96 479 milliseconds; +#X msg 303 336 400; +#X obj 319 299 + 0; +#X text 411 245 <-- adding some jitter; +#X obj 183 271 random 4; +#X obj 183 298 select 0 1 2 3; +#X text 211 218 <-- click here to play random rhythm; +#X obj 338 243 random 3; +#X obj 338 270 - 1; +#X obj 20 414 beat 4; +#X text 88 415 creation: beat ; +#X text 349 456 certain percentage in which; +#X text 350 472 the beats have to lie; +#X msg 262 337 200; +#X msg 222 336 100; +#X obj 183 245 metro 100; +#X text 106 108 print internal data (toggle on/off); +#X text 106 136 prints out: time between current and last event \, +the five best-fitting theories (with likelyhood in brackets) \, the +time of arrival of current event (R) and the expected time of arrival +(E) of the next event; +#X text 213 439 band percentage: creates a critical time band of a +; +#X connect 1 0 21 0; +#X connect 1 1 21 1; +#X connect 2 0 21 0; +#X connect 2 1 21 1; +#X connect 6 0 21 0; +#X connect 7 0 27 0; +#X connect 8 0 2 0; +#X connect 9 0 21 0; +#X connect 13 0 14 0; +#X connect 14 0 27 1; +#X connect 16 0 17 0; +#X connect 17 0 8 0; +#X connect 17 0 26 0; +#X connect 17 1 8 0; +#X connect 17 1 25 0; +#X connect 17 2 13 0; +#X connect 17 2 8 0; +#X connect 17 3 8 0; +#X connect 17 3 13 0; +#X connect 19 0 20 0; +#X connect 20 0 14 1; +#X connect 21 0 0 0; +#X connect 21 1 3 0; +#X connect 21 2 10 0; +#X connect 25 0 14 0; +#X connect 26 0 14 0; +#X connect 27 0 16 0; +#X connect 27 0 19 0; diff --git a/help/help-beta.pd b/help/help-beta.pd new file mode 100644 index 0000000..f4b9edf --- /dev/null +++ b/help/help-beta.pd @@ -0,0 +1,14 @@ +#N canvas 438 222 487 308 12; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X floatatom 139 94 5 0 0; +#X obj 70 140 beta 0.78 1.3; +#X text 192 95 a; +#X floatatom 209 116 5 0 0; +#X text 262 117 b; +#X text 39 21 beta :: beta distributed random numbers; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 5 0 3 2; diff --git a/help/help-bilex.pd b/help/help-bilex.pd new file mode 100644 index 0000000..4e9961f --- /dev/null +++ b/help/help-bilex.pd @@ -0,0 +1,12 @@ +#N canvas 370 195 485 306 12; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X floatatom 177 103 5 0 0; +#X text 230 105 lambda; +#X text 13 20 bilex :: bilinear exponetionally distributed random +numbers; +#X obj 70 140 bilex 1.5; +#X connect 0 0 5 0; +#X connect 2 0 5 1; +#X connect 5 0 1 0; diff --git a/help/help-borax.pd b/help/help-borax.pd new file mode 100644 index 0000000..a286a60 --- /dev/null +++ b/help/help-borax.pd @@ -0,0 +1,86 @@ +#N canvas 281 85 645 549 12; +#X obj 125 230 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 125 298 6 0 0; +#X floatatom 50 451 5 0 0; +#X floatatom 26 502 5 0 0; +#X floatatom 63 425 5 0 0; +#X floatatom 38 476 5 0 0; +#X floatatom 100 349 6 0 0; +#X floatatom 75 399 5 0 0; +#X floatatom 112 323 5 0 0; +#X floatatom 87 374 5 0 0; +#X obj 26 269 borax 0 0 0 0; +#X text 103 452 number of voices currently playing; +#X text 120 422 pitch; +#X text 127 399 velocity; +#X obj 15 54 makenote 100 1500; +#X obj 336 67 metro 100; +#X obj 428 124 + 50; +#X obj 428 147 s time; +#X obj 403 43 r time; +#X obj 260 147 s pitch; +#X obj 15 17 r pitch; +#X obj 80 18 r velo; +#X msg 336 14 1; +#X msg 345 37 0; +#X obj 513 101 random 64; +#X obj 513 124 + 64; +#X obj 513 147 s velo; +#X obj 146 19 r duration; +#X obj 336 147 s duration; +#X obj 336 124 + 250; +#X text 91 477 voice allocation number - each note playing is assigned +a no; +#X obj 45 88 noteout 1; +#X obj 428 101 random 500; +#X obj 260 101 random 88; +#X obj 260 124 + 21; +#X text 120 200 borax :: analyse incoming midi notes; +#X text 363 13 <-- click to play random music; +#X obj 40 125 notein 1; +#X text 186 300 delta time value - time between note-ons; +#X text 160 350 duration value - time between note-on and note-off +; +#X text 79 502 note-on count; +#X text 141 374 duration count; +#X text 164 326 delta time count; +#X obj 336 101 random 1000; +#X text 153 228 <-- reset :: sets counters and clocks to zero and sends +; +#X text 258 243 note-off for all notes currently playing; +#X text 137 273 <--- zeroes only added to make the object larger; +#X connect 0 0 10 2; +#X connect 10 0 3 0; +#X connect 10 1 5 0; +#X connect 10 2 2 0; +#X connect 10 3 4 0; +#X connect 10 4 7 0; +#X connect 10 5 9 0; +#X connect 10 6 6 0; +#X connect 10 7 8 0; +#X connect 10 8 1 0; +#X connect 14 0 10 0; +#X connect 14 0 31 0; +#X connect 14 1 10 1; +#X connect 14 1 31 1; +#X connect 15 0 24 0; +#X connect 15 0 32 0; +#X connect 15 0 33 0; +#X connect 15 0 43 0; +#X connect 16 0 17 0; +#X connect 18 0 15 1; +#X connect 20 0 14 0; +#X connect 21 0 14 1; +#X connect 22 0 15 0; +#X connect 23 0 15 0; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 27 0 14 2; +#X connect 29 0 28 0; +#X connect 32 0 16 0; +#X connect 33 0 34 0; +#X connect 34 0 19 0; +#X connect 37 0 10 0; +#X connect 37 1 10 1; +#X connect 43 0 29 0; diff --git a/help/help-cauchy.pd b/help/help-cauchy.pd new file mode 100644 index 0000000..a7dd6f2 --- /dev/null +++ b/help/help-cauchy.pd @@ -0,0 +1,11 @@ +#N canvas 438 222 487 308 12; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X floatatom 185 103 5 0 0; +#X obj 70 140 cauchy 0.5; +#X text 238 104 alpha - governs spread; +#X text 39 21 cauchy :: Cauchy distributed random numbers; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; diff --git a/help/help-chord.pd b/help/help-chord.pd new file mode 100644 index 0000000..a509840 --- /dev/null +++ b/help/help-chord.pd @@ -0,0 +1,37 @@ +#N canvas 291 216 458 308 12; +#X floatatom 15 276 5 0 0; +#X symbolatom 44 212 48 0 0; +#X floatatom 74 149 5 0 0; +#X floatatom 131 149 5 0 0; +#X floatatom 189 149 5 0 0; +#X floatatom 248 149 5 0 0; +#X floatatom 59 182 5 0 0; +#X text 71 276 MIDI note number of bass note; +#X text 116 175 root position (0) \, 1st inversion (1); +#X text 115 188 or 2nd inversion (2); +#X floatatom 29 249 5 0 0; +#X text 84 251 class of bass note; +#X text 231 118 list of chord notes; +#X obj 15 51 notein; +#X obj 15 86 chord 59; +#X text 90 86 <-- notes higher than 59 get ignored; +#X text 15 9 chord :: tries to detect chords; +#X text 89 232 notes in chord : chord name; +#X text 89 26 written by Olaf Matthes ; +#X text 89 44 based on code by Rober Rowe; +#X obj 74 118 unpack f f f f f f; +#X floatatom 303 149 5 0 0; +#X floatatom 362 149 5 0 0; +#X connect 13 0 14 0; +#X connect 13 1 14 1; +#X connect 14 0 0 0; +#X connect 14 1 10 0; +#X connect 14 2 1 0; +#X connect 14 3 6 0; +#X connect 14 4 20 0; +#X connect 20 0 2 0; +#X connect 20 1 3 0; +#X connect 20 2 4 0; +#X connect 20 3 5 0; +#X connect 20 4 21 0; +#X connect 20 5 22 0; diff --git a/help/help-delta.pd b/help/help-delta.pd new file mode 100644 index 0000000..fa865e3 --- /dev/null +++ b/help/help-delta.pd @@ -0,0 +1,20 @@ +#N canvas 328 264 466 318 12; +#X floatatom 54 217 5 0 0; +#X floatatom 54 108 5 0 0; +#X msg 23 83 bang; +#X text 69 82 calculate and output result now; +#X obj 54 172 delta; +#X obj 54 133 * 3; +#X floatatom 127 218 5 0 0; +#X floatatom 127 109 5 0 0; +#X obj 127 134 * 3; +#X obj 127 173 delta 2; +#X text 53 259 use creation arguments to set order (1st or 2nd); +#X text 39 20 delta :: calculate 1st or 2nd order difference; +#X connect 1 0 5 0; +#X connect 2 0 4 0; +#X connect 4 0 0 0; +#X connect 5 0 4 0; +#X connect 7 0 8 0; +#X connect 8 0 9 0; +#X connect 9 0 6 0; diff --git a/help/help-dist.pd b/help/help-dist.pd new file mode 100644 index 0000000..608283f --- /dev/null +++ b/help/help-dist.pd @@ -0,0 +1,36 @@ +#N canvas 450 84 473 453 12; +#X text 33 10 dist :: send data to a list of receive objects; +#X obj 34 364 dist; +#X msg 85 127 connect bla; +#X msg 103 154 connect foo; +#X msg 131 209 disconnect bla; +#X msg 145 237 disconnect foo; +#X msg 158 295 clear; +#X obj 200 374 receive bla; +#X obj 306 374 receive foo; +#X obj 200 400 print bla; +#X obj 306 400 print foo; +#X floatatom 34 69 5 0 0; +#X msg 170 328 print; +#X msg 56 98 send anything 1 2 dog; +#X obj 34 397 d bla foo; +#X msg 122 180 connect dog cat; +#X msg 159 265 disconnect cat dog; +#X text 210 295 empty receiver list; +#X text 218 328 print list of receive names; +#X text 190 126 add 'bla' to list of receivers; +#X text 253 209 remove 'bla' from list; +#X text 238 99 send anything you want; +#X text 97 28 written by Olaf Matthes ; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 1 0; +#X connect 7 0 9 0; +#X connect 8 0 10 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 13 0 1 0; +#X connect 15 0 1 0; +#X connect 16 0 1 0; diff --git a/help/help-divide.pd b/help/help-divide.pd new file mode 100644 index 0000000..a0aea04 --- /dev/null +++ b/help/help-divide.pd @@ -0,0 +1,18 @@ +#N canvas 328 264 466 318 12; +#X floatatom 54 217 5 0 0; +#X floatatom 54 132 5 0 0; +#X floatatom 108 132 5 0 0; +#X text 39 20 divide :: like '/' but calculates result; +#X text 133 204 use creation arguments to set initial; +#X text 133 220 values for inlets; +#X msg 7 104 bang; +#X text 53 103 calculate and output result now; +#X obj 54 172 divide 8 6 4; +#X text 118 58 allows for up to 32 inlets; +#X floatatom 164 132 5 0 0; +#X text 120 38 when leftmost or second inlet is changed; +#X connect 1 0 8 0; +#X connect 2 0 8 1; +#X connect 6 0 8 0; +#X connect 8 0 0 0; +#X connect 10 0 8 2; diff --git a/help/help-divmod.pd b/help/help-divmod.pd new file mode 100644 index 0000000..5e0018b --- /dev/null +++ b/help/help-divmod.pd @@ -0,0 +1,20 @@ +#N canvas 328 264 464 316 12; +#X floatatom 54 239 5 0 0; +#X floatatom 54 127 5 0 0; +#X floatatom 129 127 5 0 0; +#X obj 54 172 divmod 8 6; +#X text 146 170 use creation arguments to set initial; +#X text 146 186 values for inlets; +#X msg 23 83 bang; +#X text 69 82 calculate and output result now; +#X floatatom 129 219 5 0 0; +#X text 182 222 modulo; +#X text 106 242 result of division; +#X text 186 127 takes int's only!; +#X text 12 19 divmod :: calculate division and modulo; +#X text 92 35 outputs results even when right inlet changes; +#X connect 1 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 0 0; +#X connect 3 1 8 0; +#X connect 6 0 3 0; diff --git a/help/help-edge.pd b/help/help-edge.pd new file mode 100644 index 0000000..ce85dfb --- /dev/null +++ b/help/help-edge.pd @@ -0,0 +1,17 @@ +#N canvas 258 208 452 302 12; +#X obj 100 154 edge; +#X obj 100 215 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 127 186 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X text 156 186 falling edge detected; +#X text 128 216 rising edge detected; +#X text 31 16 edge :: detect rising or falling edge in floats; +#X floatatom 126 111 5 0 0; +#X obj 100 79 tgl 20 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +; +#X text 94 35 written by ; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; diff --git a/help/help-expo.pd b/help/help-expo.pd new file mode 100644 index 0000000..922cf4c --- /dev/null +++ b/help/help-expo.pd @@ -0,0 +1,12 @@ +#N canvas 370 195 454 304 12; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X text 13 20 expo :: exponetionally distributed random numbers +; +#X obj 70 140 expo 0.5; +#X floatatom 169 101 5 0 0; +#X text 222 103 lambda; +#X connect 0 0 3 0; +#X connect 3 0 1 0; +#X connect 4 0 3 1; diff --git a/help/help-fifo.pd b/help/help-fifo.pd new file mode 100644 index 0000000..581a7b7 --- /dev/null +++ b/help/help-fifo.pd @@ -0,0 +1,13 @@ +#N canvas 356 196 452 302 12; +#X obj 38 176 fifo 10; +#X floatatom 38 231 5 0 0; +#X floatatom 61 132 5 0 0; +#X msg 38 98 bang; +#X text 83 98 hit to get next number; +#X text 111 176 fifo ; +#X text 92 233 output of fifo; +#X text 42 14 fifo :: first in first out buffer for floats; +#X text 105 32 written for Max by St. Rainstick; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; diff --git a/help/help-gauss.pd b/help/help-gauss.pd new file mode 100644 index 0000000..c4dce4b --- /dev/null +++ b/help/help-gauss.pd @@ -0,0 +1,14 @@ +#N canvas 438 222 487 308 12; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X floatatom 123 91 5 0 0; +#X obj 70 140 gauss 1 0; +#X floatatom 177 113 5 0 0; +#X text 39 21 gauss :: Gauss distributed random numbers; +#X text 176 92 sigma - standard deviation; +#X text 230 114 mu - mean; +#X connect 0 0 3 0; +#X connect 2 0 3 1; +#X connect 3 0 1 0; +#X connect 4 0 3 2; diff --git a/help/help-gestalt.pd b/help/help-gestalt.pd new file mode 100644 index 0000000..acf09cc --- /dev/null +++ b/help/help-gestalt.pd @@ -0,0 +1,51 @@ +#N canvas 323 155 599 396 12; +#X text 137 8 gestalt :: gestalt detection for monophonic melodies +; +#X floatatom 58 332 5 0 0; +#X obj 58 176 makenote 100 100; +#X obj 58 53 tgl 20 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X obj 58 76 metro 100; +#X obj 58 100 random 24; +#X obj 58 124 + 60; +#X obj 58 278 gestalt 100; +#X obj 142 100 random 24; +#X obj 142 124 select 0; +#X msg 201 146 100; +#X msg 142 146 400; +#X floatatom 68 154 5 0 0; +#X text 160 282 CREATION ARGUMENT: reference time; +#X obj 219 220 beat; +#X floatatom 232 245 5 0 0; +#X text 87 54 click to play random melody; +#X text 112 350 one could use 'tilt' to detect abrupt changes that +; +#X text 112 367 indicate the start of a new segment; +#X text 111 332 the higher the output the more the gestalt changes +\;; +#X text 161 298 i.e. time in ms expected to be the duration of the +; +#X text 161 314 shortest note (also setable via rightmost inlet); +#X text 281 200 use 'beat' (maxlib) to get the real; +#X text 281 217 reference time from input \, especially; +#X text 282 234 when using; +#X obj 372 235 notein; +#X text 225 26 written by ; +#X connect 2 0 7 0; +#X connect 2 0 14 0; +#X connect 2 1 7 1; +#X connect 2 1 14 1; +#X connect 3 0 4 0; +#X connect 4 0 5 0; +#X connect 4 0 8 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 6 0 12 0; +#X connect 7 0 1 0; +#X connect 8 0 9 0; +#X connect 9 0 11 0; +#X connect 9 1 10 0; +#X connect 10 0 2 2; +#X connect 11 0 2 2; +#X connect 14 1 15 0; +#X connect 14 1 7 2; diff --git a/help/help-history.pd b/help/help-history.pd new file mode 100644 index 0000000..acd1bc8 --- /dev/null +++ b/help/help-history.pd @@ -0,0 +1,30 @@ +#N canvas 445 253 480 330 12; +#X floatatom 32 49 5 0 0; +#X floatatom 32 286 5 0 0; +#X floatatom 115 201 5 0 0; +#X floatatom 115 264 5 0 0; +#X text 169 265 tendency (up = 1 \, down = -1); +#X msg 85 70 reset; +#X text 137 71 forget everything; +#X msg 114 104 linear; +#X msg 132 128 geometric; +#X text 176 103 linear average (dafault); +#X text 215 129 geometric average; +#X msg 143 156 weight; +#X text 203 173 items higher weight); +#X text 124 6 history :: calculates the average of the; +#X text 212 23 items (floats) that came in; +#X obj 32 229 history 250; +#X text 202 157 weighted average (giving newer; +#X text 130 229 creation argument = ms to look back; +#X text 171 201 milliseconds to look back; +#X text 214 40 within the last N milliseconds; +#X text 90 287 average over last N milliseconds; +#X connect 0 0 15 0; +#X connect 2 0 15 1; +#X connect 5 0 15 0; +#X connect 7 0 15 0; +#X connect 8 0 15 0; +#X connect 11 0 15 0; +#X connect 15 0 1 0; +#X connect 15 1 3 0; diff --git a/help/help-ignore.pd b/help/help-ignore.pd new file mode 100644 index 0000000..fc6314a --- /dev/null +++ b/help/help-ignore.pd @@ -0,0 +1,15 @@ +#N canvas 445 253 464 314 12; +#X floatatom 47 107 5 0 0; +#X floatatom 47 225 5 0 0; +#X text 122 197 creation argument = time in ms; +#X floatatom 122 136 5 0 0; +#X obj 47 167 ignore 500; +#X text 177 136 time in ms a value has to; +#X text 178 152 be present in order to get through; +#X text 75 24 ignore :: lets information through; +#X text 154 41 only when it was presente; +#X text 155 59 at input longer than N ms; +#X text 73 258 note: input gets delayed by N milliseconds; +#X connect 0 0 4 0; +#X connect 3 0 4 1; +#X connect 4 0 1 0; diff --git a/help/help-iso.pd b/help/help-iso.pd new file mode 100644 index 0000000..79559ab --- /dev/null +++ b/help/help-iso.pd @@ -0,0 +1,54 @@ +#N canvas 438 64 464 535 12; +#X obj 16 407 iso; +#X floatatom 16 434 5 0 0; +#X floatatom 69 434 10 0 0; +#X msg 72 156 bang; +#X msg 96 207 stop; +#X msg 106 233 pause; +#X msg 117 259 resume; +#X msg 128 285 loop; +#X msg 139 311 unloop; +#X text 214 100 list of pitches; +#X text 273 129 list of attacks [ms]; +#X text 170 284 turn loopin back on; +#X text 198 309 turn looping off; +#X obj 16 460 makenote 0 100; +#X obj 16 487 noteout; +#X text 112 156 start from beginning; +#X text 149 183 start at item specyfied; +#X text 281 145 (inter-note onsets); +#X text 88 45 ported to Pd by Olaf Matthes; +#X text 216 337 global time multiplier; +#X text 163 435 duration in ms; +#X msg 152 337 hook 2; +#X msg 161 368 duty 1.5; +#X text 234 369 duration multiplier; +#X obj 16 69 loadbang; +#X msg 82 182 start 4; +#X text 251 350 (speed adjustment); +#X text 237 389 duty < 1 - staccato; +#X text 237 404 duty > 1 - legato; +#X text 169 198 (item count starts with 0); +#X text 88 26 written for Max by Charlie Baker; +#X text 31 6 iso :: queues up lists of pitches and attack points; +#X msg 16 100 60 61 62 66 67 68 69 70; +#X msg 35 128 240 10 500 375 15 15 375 500; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 1 0 13 0; +#X connect 2 0 13 1; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X connect 8 0 0 0; +#X connect 13 0 14 0; +#X connect 13 1 14 1; +#X connect 21 0 0 0; +#X connect 22 0 0 0; +#X connect 24 0 32 0; +#X connect 24 0 33 0; +#X connect 25 0 0 0; +#X connect 32 0 0 0; +#X connect 33 0 0 1; diff --git a/help/help-lifo.pd b/help/help-lifo.pd new file mode 100644 index 0000000..c5ec758 --- /dev/null +++ b/help/help-lifo.pd @@ -0,0 +1,16 @@ +#N canvas 356 196 454 304 12; +#X obj 38 176 lifo 10; +#X floatatom 38 231 5 0 0; +#X floatatom 61 110 5 0 0; +#X msg 38 76 bang; +#X text 83 76 hit to get next number; +#X text 111 176 lifo ; +#X text 42 14 lifo :: last in first out buffer for floats; +#X text 108 33 written for Max by St. Rainstick; +#X msg 76 140 clear; +#X text 127 139 clear buffer; +#X text 92 233 output of buffer; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 8 0 0 0; diff --git a/help/help-limit.pd b/help/help-limit.pd new file mode 100644 index 0000000..4ee74da --- /dev/null +++ b/help/help-limit.pd @@ -0,0 +1,25 @@ +#N canvas 328 32 558 365 12; +#X floatatom 27 277 8 0 0; +#X floatatom 27 73 5 0 0; +#X text 215 46 written by ; +#X floatatom 54 131 5 0 0; +#X floatatom 82 152 5 0 0; +#X floatatom 110 173 5 0 0; +#X text 84 71 input value; +#X text 57 104 creation arguments can be changed dynamically:; +#X obj 27 249 limit 0 9 5; +#X text 35 316 creation arguments:; +#X text 170 172 0 = limit \, others: compression ratio; +#X text 35 340 limit ; +#X text 324 195 values between 0 and 1; +#X text 325 213 result in expansion !; +#X text 106 278 limited / compressed output value; +#X text 141 11 limit :: limits input to lie between boundaries; +#X text 213 27 allows for compression / expansion; +#X text 114 129 lower boundary; +#X text 144 151 upper boundary; +#X connect 1 0 8 0; +#X connect 3 0 8 1; +#X connect 4 0 8 2; +#X connect 5 0 8 3; +#X connect 8 0 0 0; diff --git a/help/help-linear.pd b/help/help-linear.pd new file mode 100644 index 0000000..adcf043 --- /dev/null +++ b/help/help-linear.pd @@ -0,0 +1,8 @@ +#N canvas 206 71 452 302 12; +#X obj 70 140 linear; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X text 23 20 linear :: linearly distributed random numbers; +#X connect 0 0 2 0; +#X connect 1 0 0 0; diff --git a/help/help-listfunnel.pd b/help/help-listfunnel.pd new file mode 100644 index 0000000..2d309a8 --- /dev/null +++ b/help/help-listfunnel.pd @@ -0,0 +1,21 @@ +#N canvas 280 185 452 302 12; +#X obj 47 160 listfunnel; +#X floatatom 47 89 5 0 0; +#X obj 47 219 unpack f f; +#X floatatom 47 244 5 0 0; +#X floatatom 122 246 5 0 0; +#X obj 61 194 print listfunnel; +#X msg 73 114 17.3 23 147 11; +#X text 37 23 listfunnel :: send values out as a list with; +#X text 149 38 source index; +#X text 149 55 based on code found on the web; +#X msg 210 113 99 \$1 12; +#X floatatom 210 86 5 0 0; +#X connect 0 0 2 0; +#X connect 0 0 5 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 6 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 10 0; diff --git a/help/help-match.pd b/help/help-match.pd new file mode 100644 index 0000000..8d2fbd7 --- /dev/null +++ b/help/help-match.pd @@ -0,0 +1,68 @@ +#N canvas 90 142 874 407 12; +#X obj 50 350 bng 24 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 148 212 reset; +#X obj 50 95 random 5; +#X msg 50 5 0; +#X msg 65 32 1; +#X obj 50 65 metro 100; +#X text 203 212 reset internal data storage; +#X text 182 26 input values matches the creation; +#X text 183 42 arguments; +#X text 185 82 this can be changed in the sources !; +#X text 83 351 <-- 'bang' when input matches arguments; +#X obj 62 122 hdl 20 1 0 5 empty empty empty 0 -6 0 8 -262144 -1 -1 +0; +#X floatatom 50 154 5 0 0; +#X text 228 229 -> forget all old values; +#X obj 50 243 match 3 4; +#X floatatom 81 325 5 0 0; +#X floatatom 156 324 5 0 0; +#X obj 81 294 unpack f f; +#X text 111 11 match :: outputs a list when a list of; +#X msg 93 178 1 3 4 7; +#X msg 160 178 1 2 4 5; +#X text 230 179 send a list of floats; +#X symbolatom 688 312 10 0 0; +#X symbolatom 616 336 10 0 0; +#X symbolatom 581 356 10 0 0; +#X obj 540 349 bng 24 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 540 244 match dog bytes 2 cats; +#X msg 553 186 dog bytes 2 cats; +#X msg 564 214 cat bytes 2 dogs; +#X text 384 114 same works for symbols and mixtures of floats and symbols: +; +#X obj 581 285 unpack s s f s; +#X floatatom 635 313 5 0 0; +#X text 89 271 sends out the list when a match is found; +#X msg 459 151 dog; +#X msg 494 143 cats; +#X msg 519 170 2; +#X msg 471 195 bytes; +#X text 183 68 a maximum of 16 arguments is allowed; +#X connect 1 0 14 0; +#X connect 2 0 12 0; +#X connect 3 0 5 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 11 0 12 0; +#X connect 12 0 14 0; +#X connect 14 0 0 0; +#X connect 14 0 17 0; +#X connect 17 0 15 0; +#X connect 17 1 16 0; +#X connect 19 0 14 0; +#X connect 20 0 14 0; +#X connect 26 0 25 0; +#X connect 26 0 30 0; +#X connect 27 0 26 0; +#X connect 28 0 26 0; +#X connect 30 0 24 0; +#X connect 30 1 23 0; +#X connect 30 2 31 0; +#X connect 30 3 22 0; +#X connect 33 0 26 0; +#X connect 34 0 26 0; +#X connect 35 0 26 0; +#X connect 36 0 26 0; diff --git a/help/help-maxlib.pd b/help/help-maxlib.pd new file mode 100644 index 0000000..663c605 --- /dev/null +++ b/help/help-maxlib.pd @@ -0,0 +1,73 @@ +#N canvas 70 3 889 647 12; +#X obj 290 277 average; +#X obj 19 171 beat; +#X obj 19 196 borax; +#X obj 19 146 chord; +#X obj 472 491 dist; +#X obj 290 172 divide; +#X obj 290 146 divmod; +#X obj 606 171 fifo; +#X obj 290 303 history; +#X obj 17 496 ignore; +#X obj 17 470 iso; +#X obj 605 145 lifo; +#X obj 290 329 match; +#X obj 290 197 minus; +#X obj 609 261 mlife; +#X obj 290 224 multi; +#X obj 472 516 netdist; +#X obj 19 272 pitch; +#X obj 290 251 plus; +#X obj 17 418 pulse; +#X obj 472 542 remote; +#X obj 19 221 rhythm; +#X obj 19 246 score array01; +#X obj 17 444 speedlim; +#X obj 17 522 step; +#X obj 609 236 subst; +#X text 30 27 maxlib 0.8 :: Music Analysis eXtensions LIBrary; +#X text 140 44 written by Olaf Matthes ; +#X text 139 61 download at http://www.akustische-kunst.de/puredata/maxlib +; +#X text 72 146 chord detection; +#X text 69 171 beat tracking; +#X text 78 222 beat detection; +#X text 73 197 music analysis; +#X text 136 246 score following; +#X text 73 272 pitch information; +#X text 20 115 MUSIC / MIDI ANALYSIS; +#X text 290 110 MATH; +#X text 357 147 calculate / and %; +#X text 355 172 / for several inputs; +#X text 349 252 + for several inputs; +#X text 349 224 * for several inputs; +#X text 353 198 - for several inputs; +#X text 361 276 average of last N values; +#X text 362 302 average over last N seconds; +#X text 345 329 match input to list of numbers; +#X text 17 392 TIME; +#X text 94 445 lets input through every N milliseconds; +#X text 56 472 play sequence of MIDI notes; +#X text 78 497 ignore too fast changing input; +#X text 469 459 CONTROL; +#X text 520 490 send to list of receive objects; +#X text 541 514 same for netreceive; +#X text 531 541 send to one receive object; +#X text 604 118 BUFFER; +#X text 650 145 last in first out; +#X text 653 171 first in first out; +#X text 64 524 a line object that steps; +#X text 606 204 OTHER / EXPERIMENTAL; +#X text 666 235 self-similar substitution; +#X text 665 261 cellular automaton; +#X obj 290 355 scale; +#X text 344 356 scale input to outpur range; +#X text 72 418 a 'better' metro; +#X obj 17 548 history; +#X obj 17 574 velocity; +#X text 86 548 average over last N milliseconds; +#X text 93 574 velocity of input in digits per second; +#X obj 472 569 netrec; +#X text 531 570 netreceive with extra info about sender; +#X obj 290 381 delta; +#X text 344 381 calculate 1st or 2nd order difference; diff --git a/help/help-minus.pd b/help/help-minus.pd new file mode 100644 index 0000000..64e45f3 --- /dev/null +++ b/help/help-minus.pd @@ -0,0 +1,17 @@ +#N canvas 328 264 464 316 12; +#X floatatom 54 217 5 0 0; +#X floatatom 54 127 5 0 0; +#X floatatom 107 127 5 0 0; +#X text 39 20 minus :: like '-' but calculates result; +#X text 133 204 use creation arguments to set initial; +#X text 133 220 values for inlets; +#X msg 23 83 bang; +#X text 69 82 calculate and output result now; +#X obj 54 172 minus 8 6 4; +#X floatatom 161 127 5 0 0; +#X text 120 38 when leftmost or second inlet is changed; +#X connect 1 0 8 0; +#X connect 2 0 8 1; +#X connect 6 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 8 2; diff --git a/help/help-mlife.pd b/help/help-mlife.pd new file mode 100644 index 0000000..d12e1fc --- /dev/null +++ b/help/help-mlife.pd @@ -0,0 +1,56 @@ +#N canvas 309 47 454 459 12; +#X floatatom 23 424 5 0 0; +#X floatatom 39 397 5 0 0; +#X floatatom 76 424 5 0 0; +#X floatatom 93 397 5 0 0; +#X floatatom 129 424 5 0 0; +#X floatatom 147 397 5 0 0; +#X floatatom 183 425 5 0 0; +#X floatatom 200 398 5 0 0; +#X msg 22 33 bang; +#X msg 69 123 randfill; +#X msg 84 150 fill 0; +#X msg 100 177 lo 2; +#X msg 108 204 hi 3; +#X msg 120 231 nset 3; +#X msg 161 312 display; +#X text 178 233 set neighbourhood; +#X text 151 205 set high; +#X text 146 176 set low; +#X text 151 150 fill cells with 0; +#X text 145 123 fill cells with random value; +#X text 226 312 display state of cells; +#X msg 35 72 1; +#X text 63 33 calculate next generation and output; +#X text 64 50 bangs on every cell that is alife; +#X text 68 72 calculate next generation and output; +#X text 68 89 1 if cell is alife \, 0 if dead; +#X text 227 329 in Pd console window; +#X text 142 355 mlife ; +#X text 189 370 ; +#X text 279 395 closed universe if; +#X text 279 409 = 1; +#X msg 134 258 randseed 4; +#X text 225 258 seed array with random no.; +#X text 225 284 seed array with a number; +#X msg 149 285 seed 1 4; +#X obj 23 356 mlife 8 1 8 0; +#X text 44 5 mlife :: a cellular automata object; +#X connect 8 0 35 0; +#X connect 9 0 35 0; +#X connect 10 0 35 0; +#X connect 11 0 35 0; +#X connect 12 0 35 0; +#X connect 13 0 35 0; +#X connect 14 0 35 0; +#X connect 21 0 35 0; +#X connect 31 0 35 0; +#X connect 34 0 35 0; +#X connect 35 0 0 0; +#X connect 35 1 1 0; +#X connect 35 2 2 0; +#X connect 35 3 3 0; +#X connect 35 4 4 0; +#X connect 35 5 5 0; +#X connect 35 6 6 0; +#X connect 35 7 7 0; diff --git a/help/help-multi.pd b/help/help-multi.pd new file mode 100644 index 0000000..86e6a5c --- /dev/null +++ b/help/help-multi.pd @@ -0,0 +1,17 @@ +#N canvas 328 264 464 316 12; +#X floatatom 54 217 5 0 0; +#X floatatom 54 127 5 0 0; +#X floatatom 108 128 5 0 0; +#X text 39 20 multi :: like '*' but calculates result; +#X text 133 204 use creation arguments to set initial; +#X text 133 220 values for inlets; +#X msg 23 83 bang; +#X text 69 82 calculate and output result now; +#X obj 54 172 multi 8 6 2; +#X floatatom 163 129 5 0 0; +#X text 120 38 when leftmost or second inlet is changed; +#X connect 1 0 8 0; +#X connect 2 0 8 1; +#X connect 6 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 8 2; diff --git a/help/help-netclient.pd b/help/help-netclient.pd new file mode 100644 index 0000000..46e5b52 --- /dev/null +++ b/help/help-netclient.pd @@ -0,0 +1,51 @@ +#N canvas 246 114 752 474 12; +#X floatatom 49 333 5 0 0; +#X floatatom 87 298 5 0 0; +#X symbolatom 164 251 10 0 0; +#X text 102 332 received data; +#X text 140 298 number of connections; +#X msg 49 54 print; +#X floatatom 125 272 5 0 0; +#X text 183 276 socket number; +#X msg 103 179 broadcast hallo world!; +#X text 288 179 send to all clients; +#X text 143 49 written by Olaf Matthes ; +#X obj 49 223 netserver 3000; +#X text 137 120 send message to client no. 1; +#X text 256 251 client's IP address; +#X obj 477 189 netclient; +#X msg 498 116 connect localhost 3000; +#X msg 511 143 disconnect; +#X msg 477 84 send 23; +#X floatatom 544 218 5 0 0; +#X msg 83 91 send 380 17.3; +#X floatatom 477 296 5 0 0; +#X obj 600 281 print anything; +#X obj 538 309 print list; +#X obj 477 245 route float list; +#X msg 98 142 client 1 23; +#X text 204 91 "send "; +#X text 110 70 send message on specified socket; +#X text 200 143 "client "; +#X text 48 379 This example demonstrates how to set up a client/server +connection. Data sent by the client get's received and displayed by +the server imediately. Or just try it the other way round...; +#X text 38 15 netclient :: simple client that connects to netserver +or; +#X text 142 32 to pd's native netreceive object; +#X connect 5 0 11 0; +#X connect 8 0 11 0; +#X connect 11 0 0 0; +#X connect 11 1 1 0; +#X connect 11 2 6 0; +#X connect 11 3 2 0; +#X connect 14 0 23 0; +#X connect 14 1 18 0; +#X connect 15 0 14 0; +#X connect 16 0 14 0; +#X connect 17 0 14 0; +#X connect 19 0 11 0; +#X connect 23 0 20 0; +#X connect 23 1 22 0; +#X connect 23 2 21 0; +#X connect 24 0 11 0; diff --git a/help/help-netdist.pd b/help/help-netdist.pd new file mode 100644 index 0000000..84cd2e2 --- /dev/null +++ b/help/help-netdist.pd @@ -0,0 +1,37 @@ +#N canvas 374 142 458 370 12; +#X obj 23 299 netdist; +#X obj 275 249 netreceive 3000; +#X floatatom 275 275 5 0 0; +#X floatatom 390 275 5 0 0; +#X msg 23 64 connect localhost 3000; +#X floatatom 276 328 5 0 0; +#X floatatom 391 328 5 0 0; +#X obj 276 302 netreceive 3001; +#X msg 67 120 disconnect localhost 3000; +#X msg 42 93 connect localhost 3001; +#X msg 88 147 disconnect localhost 3001; +#X msg 102 177 print; +#X msg 113 203 clear; +#X floatatom 23 326 5 0 0; +#X msg 120 232 send 23; +#X msg 146 259 send 17.3; +#X text 151 178 print list of connections; +#X text 164 202 disconnect all; +#X text 189 232 send values; +#X text 213 64 add connection to list; +#X text 278 119 remove connection; +#X text 33 8 netdist :: distribute data to several netreceive; +#X text 122 24 written by Olaf Matthes; +#X connect 0 0 13 0; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 4 0 0 0; +#X connect 7 0 5 0; +#X connect 7 1 6 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; +#X connect 11 0 0 0; +#X connect 12 0 0 0; +#X connect 14 0 0 0; +#X connect 15 0 0 0; diff --git a/help/help-netrec.pd b/help/help-netrec.pd new file mode 100644 index 0000000..80be695 --- /dev/null +++ b/help/help-netrec.pd @@ -0,0 +1,34 @@ +#N canvas 315 121 600 364 12; +#X obj 49 189 netrec 3000; +#X obj 57 130 netsend; +#X msg 57 18 connect localhost 3000; +#X msg 78 44 disconnect localhost 3000; +#X floatatom 49 297 5 0 0; +#X floatatom 76 270 5 0 0; +#X floatatom 93 73 5 0 0; +#X msg 93 99 send \$1; +#X symbolatom 132 217 10 0 0; +#X text 224 217 IP address; +#X text 100 298 received data; +#X text 129 270 number of connections; +#X obj 295 128 netsend; +#X msg 295 16 connect localhost 3000; +#X msg 316 42 disconnect localhost 3000; +#X floatatom 331 71 5 0 0; +#X msg 331 97 send \$1; +#X msg 49 162 print; +#X floatatom 104 243 5 0 0; +#X text 162 247 socket number; +#X connect 0 0 4 0; +#X connect 0 1 5 0; +#X connect 0 2 18 0; +#X connect 0 3 8 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 6 0 7 0; +#X connect 7 0 1 0; +#X connect 13 0 12 0; +#X connect 14 0 12 0; +#X connect 15 0 16 0; +#X connect 16 0 12 0; +#X connect 17 0 0 0; diff --git a/help/help-netserver.pd b/help/help-netserver.pd new file mode 100644 index 0000000..a849bd5 --- /dev/null +++ b/help/help-netserver.pd @@ -0,0 +1,50 @@ +#N canvas 246 114 752 474 12; +#X floatatom 49 333 5 0 0; +#X floatatom 87 298 5 0 0; +#X symbolatom 164 251 10 0 0; +#X text 102 332 received data; +#X text 140 298 number of connections; +#X msg 49 54 print; +#X floatatom 125 272 5 0 0; +#X text 183 276 socket number; +#X msg 103 179 broadcast hallo world!; +#X text 288 179 send to all clients; +#X text 144 33 written by Olaf Matthes ; +#X obj 49 223 netserver 3000; +#X text 137 120 send message to client no. 1; +#X text 256 251 client's IP address; +#X obj 477 189 netclient; +#X msg 498 116 connect localhost 3000; +#X msg 511 143 disconnect; +#X msg 477 84 send 23; +#X floatatom 544 218 5 0 0; +#X msg 83 91 send 380 17.3; +#X floatatom 477 296 5 0 0; +#X obj 600 281 print anything; +#X obj 538 309 print list; +#X obj 477 245 route float list; +#X msg 98 142 client 1 23; +#X text 204 91 "send "; +#X text 110 70 send message on specified socket; +#X text 200 143 "client "; +#X text 48 379 This example demonstrates how to set up a client/server +connection. Data sent by the client get's received and displayed by +the server imediately. Or just try it the other way round...; +#X text 38 15 netclient :: simple client that connects to netserver +; +#X connect 5 0 11 0; +#X connect 8 0 11 0; +#X connect 11 0 0 0; +#X connect 11 1 1 0; +#X connect 11 2 6 0; +#X connect 11 3 2 0; +#X connect 14 0 23 0; +#X connect 14 1 18 0; +#X connect 15 0 14 0; +#X connect 16 0 14 0; +#X connect 17 0 14 0; +#X connect 19 0 11 0; +#X connect 23 0 20 0; +#X connect 23 1 22 0; +#X connect 23 2 21 0; +#X connect 24 0 11 0; diff --git a/help/help-nroute.pd b/help/help-nroute.pd new file mode 100644 index 0000000..0831363 --- /dev/null +++ b/help/help-nroute.pd @@ -0,0 +1,37 @@ +#N canvas 252 37 630 380 12; +#X floatatom 116 199 5 0 0; +#X obj 41 290 print matched; +#X obj 116 256 print failed; +#X msg 78 151 8; +#X obj 41 226 nroute 8 2; +#X msg 41 77 0 8 15; +#X msg 56 105 17 3 45; +#X msg 116 153 3; +#X text 170 197 position to match; +#X floatatom 427 204 5 0 0; +#X obj 336 293 print matched; +#X obj 427 259 print failed; +#X obj 336 229 nroute fly 2; +#X msg 381 178 go; +#X msg 417 178 walk; +#X msg 336 80 swifts fly high; +#X msg 351 108 dogs walk slow; +#X msg 363 141 please go go; +#X text 153 152 what to match; +#X text 54 8 nroute :: route if Nth argument is matched; +#X text 135 24 written by Olaf Matthes ; +#X connect 0 0 4 2; +#X connect 3 0 4 1; +#X connect 4 0 1 0; +#X connect 4 1 2 0; +#X connect 5 0 4 0; +#X connect 6 0 4 0; +#X connect 7 0 4 1; +#X connect 9 0 12 2; +#X connect 12 0 10 0; +#X connect 12 1 11 0; +#X connect 13 0 12 1; +#X connect 14 0 12 1; +#X connect 15 0 12 0; +#X connect 16 0 12 0; +#X connect 17 0 12 0; diff --git a/help/help-pitch.pd b/help/help-pitch.pd new file mode 100644 index 0000000..781fd4c --- /dev/null +++ b/help/help-pitch.pd @@ -0,0 +1,30 @@ +#N canvas 166 313 439 308 12; +#X floatatom 83 266 5 0 0; +#X obj 83 35 notein; +#X floatatom 112 217 5 0 0; +#X floatatom 127 191 5 0 0; +#X floatatom 142 166 5 0 0; +#X floatatom 24 33 5 0 0; +#X symbolatom 97 242 7 0 0; +#X text 139 267 MIDI note number; +#X text 166 217 pitch class; +#X text 181 191 interval to last note; +#X text 197 166 register; +#X text 153 33 pitch :: get info about pitch; +#X text 169 243 note name (symbol); +#X text 221 54 use creation argument to; +#X text 221 71 set assumed first note; +#X text 227 104 of the first interval ); +#X text 218 89 ( needed for calculation; +#X obj 83 94 stripnote; +#X obj 83 137 pitch 72; +#X connect 1 0 17 0; +#X connect 1 1 17 1; +#X connect 5 0 18 0; +#X connect 17 0 18 0; +#X connect 17 1 18 1; +#X connect 18 0 0 0; +#X connect 18 1 6 0; +#X connect 18 2 2 0; +#X connect 18 3 3 0; +#X connect 18 4 4 0; diff --git a/help/help-plus.pd b/help/help-plus.pd new file mode 100644 index 0000000..3a0e442 --- /dev/null +++ b/help/help-plus.pd @@ -0,0 +1,17 @@ +#N canvas 328 264 464 316 12; +#X floatatom 54 217 5 0 0; +#X floatatom 54 127 5 0 0; +#X floatatom 107 127 5 0 0; +#X text 133 204 use creation arguments to set initial; +#X text 133 220 values for inlets; +#X text 26 20 plus :: like '+' but calculates result; +#X msg 23 83 bang; +#X text 69 82 calculate and output result now; +#X obj 54 172 plus 8 6 2; +#X floatatom 161 127 5 0 0; +#X text 91 40 whenever leftmost or second inlet is changed; +#X connect 1 0 8 0; +#X connect 2 0 8 1; +#X connect 6 0 8 0; +#X connect 8 0 0 0; +#X connect 9 0 8 2; diff --git a/help/help-poisson.pd b/help/help-poisson.pd new file mode 100644 index 0000000..ab6fe4b --- /dev/null +++ b/help/help-poisson.pd @@ -0,0 +1,12 @@ +#N canvas 438 222 487 308 12; +#X obj 70 95 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X floatatom 70 192 5 0 0; +#X floatatom 193 112 5 0 0; +#X text 39 21 poisson :: Poisson distributed random numbers; +#X obj 70 145 poisson 2.2; +#X text 246 113 lambda - value that is most; +#X text 317 132 likely to appear; +#X connect 0 0 4 0; +#X connect 2 0 4 1; +#X connect 4 0 1 0; diff --git a/help/help-pulse.pd b/help/help-pulse.pd new file mode 100644 index 0000000..6d1320a --- /dev/null +++ b/help/help-pulse.pd @@ -0,0 +1,35 @@ +#N canvas 499 150 464 314 12; +#X obj 23 223 pulse 120 1 4 0; +#X floatatom 23 265 5 0 0; +#X obj 138 265 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -258699 +-1; +#X msg 23 23 0; +#X msg 48 80 1; +#X floatatom 51 122 5 0 0; +#X floatatom 138 197 5 0 0; +#X floatatom 109 172 5 0 0; +#X floatatom 80 147 5 0 0; +#X msg 39 53 bang; +#X text 55 23 stop; +#X obj 313 18 metro; +#X text 80 79 start; +#X text 242 44 originally written by; +#X text 240 62 James McCartney for Max; +#X text 74 267 count; +#X text 168 18 pulse :: a better; +#X text 104 123 quarter notes per minute; +#X text 190 199 number of beats to play; +#X text 189 214 before turning off; +#X text 77 54 toggles on/off; +#X text 131 148 interval at which a bang is output; +#X text 160 174 notes to count (default = quarter); +#X text 166 264 pulse turned off automagically; +#X connect 0 0 1 0; +#X connect 0 1 2 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 0 1; +#X connect 6 0 0 4; +#X connect 7 0 0 3; +#X connect 8 0 0 2; +#X connect 9 0 0 0; diff --git a/help/help-remote.pd b/help/help-remote.pd new file mode 100644 index 0000000..54a7caf --- /dev/null +++ b/help/help-remote.pd @@ -0,0 +1,18 @@ +#N canvas 472 309 456 306 12; +#X text 9 9 remote :: send data to any receive object; +#X obj 32 224 remote; +#X obj 216 222 receive bla; +#X obj 321 222 receive foo; +#X obj 216 250 print bla; +#X obj 321 250 print foo; +#X msg 32 104 bla 17.3 23; +#X msg 76 183 foo 13 \, bla 4; +#X text 148 75 use message: ; +#X text 253 91 with data of any type; +#X text 89 26 written by Olaf Matthes ; +#X msg 61 147 foo five is 2 more than 3; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 6 0 1 0; +#X connect 7 0 1 0; +#X connect 11 0 1 0; diff --git a/help/help-rhythm.pd b/help/help-rhythm.pd new file mode 100644 index 0000000..bff970c --- /dev/null +++ b/help/help-rhythm.pd @@ -0,0 +1,35 @@ +#N canvas 262 64 579 413 12; +#X obj 25 273 rhythm 0; +#X floatatom 25 356 5 0 0; +#X obj 25 59 notein; +#X obj 348 237 makenote 100 100; +#X msg 348 209 60; +#X floatatom 54 328 5 0 0; +#X text 81 360 beats per minute; +#X text 111 331 beats in milliseconds; +#X msg 79 113 reset; +#X msg 90 146 model 0; +#X msg 96 175 model 1; +#X text 158 147 Large and Kolen adaptation model; +#X text 164 174 Toiviainen adaptation model; +#X text 53 21 rhythm :: detects the beat of rhythmic patterns; +#X text 134 39 written by Olaf Matthes ; +#X text 134 56 based on code written by Rober Rowe and published; +#X text 133 72 in 'Mashine musicianship' \, Massachusetts \, 2001; +#X text 115 275 creation: rhythm ; +#X obj 84 303 bng 20 100 10 0 empty empty empty 0 -6 0 8 -262144 -42246 +-1; +#X text 115 304 beat pulse; +#X text 132 114 reset all values \, forget rhythm and stop beat pulse +; +#X connect 0 0 1 0; +#X connect 0 1 5 0; +#X connect 0 2 18 0; +#X connect 2 0 0 0; +#X connect 2 1 0 1; +#X connect 3 0 0 0; +#X connect 3 1 0 1; +#X connect 4 0 3 0; +#X connect 8 0 0 0; +#X connect 9 0 0 0; +#X connect 10 0 0 0; diff --git a/help/help-scale.pd b/help/help-scale.pd new file mode 100644 index 0000000..816bda5 --- /dev/null +++ b/help/help-scale.pd @@ -0,0 +1,31 @@ +#N canvas 381 126 552 355 12; +#X floatatom 27 277 8 0 0; +#X floatatom 27 73 5 0 0; +#X text 213 48 written by ; +#X text 37 306 creation:; +#X text 141 11 scale :: scale input from a certain input range; +#X text 212 29 to lie between output boundaries; +#X floatatom 56 131 5 0 0; +#X floatatom 85 152 5 0 0; +#X floatatom 115 173 5 0 0; +#X floatatom 144 194 5 0 0; +#X text 84 71 input value; +#X text 106 278 scaled output value; +#X text 111 130 in low; +#X text 137 151 in high; +#X text 171 172 out low; +#X text 200 194 out high; +#X text 57 104 creation arguments can be changed dynamically:; +#X text 53 323 scale +; +#X obj 27 249 scale 0 9 100 255 0; +#X floatatom 174 220 5 0 0; +#X text 227 219 log coefficient; +#X text 265 237 0 = linear 1 = log; +#X connect 1 0 18 0; +#X connect 6 0 18 1; +#X connect 7 0 18 2; +#X connect 8 0 18 3; +#X connect 9 0 18 4; +#X connect 18 0 0 0; +#X connect 19 0 18 5; diff --git a/help/help-score.pd b/help/help-score.pd new file mode 100644 index 0000000..a049bab --- /dev/null +++ b/help/help-score.pd @@ -0,0 +1,52 @@ +#N canvas 246 86 629 516 12; +#X floatatom 30 301 5 0 0; +#X obj 30 12 notein; +#X obj 193 202 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X msg 95 93 start; +#X msg 104 118 stop; +#X text 217 203 reset; +#X text 145 92 start / stop score following; +#X msg 111 146 start 4; +#X text 176 146 start skipping first 4 notes; +#X obj 193 286 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -258699 +-1; +#X text 217 287 error; +#X text 148 24 score :: score follower that tries to match incoming +; +#X text 221 41 MIDI data to a score stored in an array; +#X text 219 57 outputs the index number of current position; +#X obj 23 423 loadbang; +#N canvas 0 0 450 300 graph2 0; +#X array sco_array 25 float 1; +#A 0 60 61 62 63 64 65 66 67 68 69 70 71 72 71 70 69 68 67 66 65 64 +63 62 61 60; +#X coords 0 127 24 0 200 140 1; +#X restore 402 361 graph; +#X obj 30 235 score sco_array 2 300; +#X msg 130 173 set sco_array; +#X msg 23 449 \; sco_array resize 25 \; sco_array read examplescore.txt +\;; +#X text 250 174 set to array that contains the score; +#X text 88 303 position on score; +#X text 86 322 (x index of array); +#X obj 30 356 tabread sco_array; +#X floatatom 30 387 5 0 0; +#X text 86 388 note from score; +#X text 291 255 array: name of array containing score; +#X text 235 234 USAGE: score ; +#X text 292 272 skipitems: max. number of notes to skip; +#X text 292 289 skip time: max. time [ms] to rewind; +#X text 378 307 input data; +#X connect 0 0 22 0; +#X connect 1 0 16 0; +#X connect 1 1 16 1; +#X connect 2 0 16 2; +#X connect 3 0 16 0; +#X connect 4 0 16 0; +#X connect 7 0 16 0; +#X connect 14 0 18 0; +#X connect 16 0 0 0; +#X connect 16 1 9 0; +#X connect 17 0 16 0; +#X connect 22 0 23 0; diff --git a/help/help-speedlim.pd b/help/help-speedlim.pd new file mode 100644 index 0000000..2ef4f82 --- /dev/null +++ b/help/help-speedlim.pd @@ -0,0 +1,30 @@ +#N canvas 445 253 464 314 12; +#X floatatom 38 54 5 0 0; +#X floatatom 18 264 5 0 0; +#X obj 38 141 speedlim 500; +#X text 126 18 speedlim :: lets information through; +#X text 222 37 only every N milliseconds; +#X text 152 171 creation argument = time in ms; +#X floatatom 129 116 5 0 0; +#X text 184 116 time between outputs in ms; +#X msg 49 82 bang; +#X obj 121 207 bng 20 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 121 236 timer; +#X floatatom 121 262 5 0 0; +#X text 175 262 this should never be less than; +#X text 175 280 the creation argument of speedlim; +#X obj 18 194 route f; +#X obj 47 236 print; +#X msg 95 82 this is speedlim; +#X connect 0 0 2 0; +#X connect 2 0 9 0; +#X connect 2 0 14 0; +#X connect 6 0 2 1; +#X connect 8 0 2 0; +#X connect 9 0 10 1; +#X connect 9 0 10 0; +#X connect 10 0 11 0; +#X connect 14 0 1 0; +#X connect 14 1 15 0; +#X connect 16 0 2 0; diff --git a/help/help-step.pd b/help/help-step.pd new file mode 100644 index 0000000..9197d01 --- /dev/null +++ b/help/help-step.pd @@ -0,0 +1,22 @@ +#N canvas 417 206 533 314 12; +#X floatatom 33 229 5 0 0; +#X text 72 7 step :: output sequence of numbers (similar to 'line') +; +#X text 138 25 written by Olaf Matthes (olaf.matthes@gmx.de); +#X text 222 250 stepsize :: step between two numbers; +#X msg 33 76 23 6000 2; +#X msg 62 119 230; +#X obj 101 282 line; +#X text 98 117 send a single number to jump; +#X text 121 77 send a triplet to step to a new value; +#X text 22 282 see also:; +#X msg 80 146 stop; +#X text 127 147 "stop" message to stop output; +#X text 121 92