From d6e37fa5490c8e3465eb4e92a0f9d9a60d3dbc4b Mon Sep 17 00:00:00 2001 From: Thomas O Fredericks Date: Mon, 26 Oct 2009 02:12:13 +0000 Subject: Updated help files svn path=/trunk/externals/tof/; revision=12677 --- help/OSCToParam-help.pd | 10 +-- help/argument-abs.pd | 33 ++++---- help/argument-help.pd | 72 +++++++++-------- help/breakpoints-help.pd | 166 +++++++++++++++++++-------------------- help/breakpoints~-help.pd | 144 +++++++++++++++++++++------------- help/crossfade~-help.pd | 30 ++++---- help/folderpanel-help.pd | 26 ++++--- help/openHelp-help.pd | 16 ++-- help/param-help.pd | 192 +++++++++++++++++++++++++++++++++------------- help/paramDump-help.pd | 32 -------- help/paramFile-help.pd | 52 ------------- help/paramGui-help.pd | 39 ---------- help/paramRoute-help.pd | 39 ---------- help/phasorshot~-help.pd | 142 +++++++++++++++++----------------- help/streamMinMax-help.pd | 14 ++-- src/breakpoints.c | 80 +++++++++---------- src/breakpoints~.c | 137 ++++++++++----------------------- src/breakpoints~.h | 8 +- src/param.c | 10 +-- src/paramCustom.h | 2 +- src/paramId.h | 54 ------------- src/paramPath.h | 54 +++++++++++++ src/w_breakpoints.h | 8 +- 23 files changed, 629 insertions(+), 731 deletions(-) delete mode 100644 help/paramDump-help.pd delete mode 100644 help/paramFile-help.pd delete mode 100644 help/paramGui-help.pd delete mode 100644 help/paramRoute-help.pd delete mode 100644 src/paramId.h create mode 100644 src/paramPath.h diff --git a/help/OSCToParam-help.pd b/help/OSCToParam-help.pd index cfd0d04..104218a 100644 --- a/help/OSCToParam-help.pd +++ b/help/OSCToParam-help.pd @@ -1,15 +1,11 @@ -#N canvas 1298 247 515 325 10; +#N canvas 431 304 515 325 10; #X obj -8 -53 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 0; #X text -3 -9 author: mrtoftrash@gmail.com; #X text -3 2 version: 2009-04-14 (initial release); -#X text -3 13 arguments: @; #X text -3 -54 description: forwards all incomming OSC messages to matching params.; -#X obj -3 82 OSCToParam 3475; #X text -3 -20 tags: routing param OSC; -#X text 97 71 All OSC messages received on port 3475 will be forwarded +#X text 137 72 All OSC messages received on port 3475 will be forwarded to matching children params.; -#X text 46 124 See the param object's help for more information on -params:; -#X obj 139 153 param /a_param; +#X obj -3 81 tof/OSCToParam 3475; diff --git a/help/argument-abs.pd b/help/argument-abs.pd index 3826748..d227c72 100644 --- a/help/argument-abs.pd +++ b/help/argument-abs.pd @@ -4,24 +4,27 @@ #X text 220 105 first; #X text 159 192 second; #X text 73 282 third; -#X text 305 127 <-Outputs the first parent argument "symbol a"; #X obj 158 67 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X text 256 207 <-Outputs "100" because the types of the second argument -("symbol b") and the default argument ("float 100") do not match.; -#X text 130 300 <- Outputs "500" because there is not third parent -argument; #X obj 210 166 print arg1; -#X obj 129 258 print arg2; -#X obj 11 342 print arg3; +#X obj 134 246 print arg2; +#X obj 11 330 print arg3; #X obj 210 130 tof/argument 1; #X obj 134 213 tof/argument 2 100; #X obj 11 303 tof/argument 3 500; -#X connect 0 0 6 0; -#X connect 1 0 14 0; -#X connect 1 1 13 0; -#X connect 1 2 12 0; -#X connect 6 0 1 0; -#X connect 12 0 9 0; -#X connect 13 0 10 0; -#X connect 14 0 11 0; +#X text 204 24 This patch is part of [tof/argument]'s help file.; +#X text 207 42 Its creation arguments are: a b; +#X text 305 127 <-Outputs the first patch creation argument: "a"; +#X text 131 300 <- Outputs 500 because there is not third patch argument. +; +#X text 257 206 <-Outputs "100" because the type of the default value +\, a float 100 \, does not match the type of the patch's second argument +\, a symbol "b".; +#X connect 0 0 5 0; +#X connect 1 0 11 0; +#X connect 1 1 10 0; +#X connect 1 2 9 0; +#X connect 5 0 1 0; +#X connect 9 0 6 0; +#X connect 10 0 7 0; +#X connect 11 0 8 0; diff --git a/help/argument-help.pd b/help/argument-help.pd index 2cc035f..7c8ac56 100644 --- a/help/argument-help.pd +++ b/help/argument-help.pd @@ -1,50 +1,54 @@ -#N canvas 1064 8 505 644 10; -#X obj 82 587 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; +#N canvas 53 62 922 529 10; +#X obj 496 461 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; #X obj -11 19 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 0; #X text -3 68 author: mrtoftrash@gmail.com; #X text -5 89 version: 2009-04-14 (initial release); -#X text -4 47 tags: initialization; -#X obj 8 257 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 5 346 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 5 397 print; -#X obj 8 305 print; -#X obj 8 429 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 8 477 print; -#X text 204 608 <- open it; -#X obj 8 280 tof/argument 1; -#X obj 5 370 tof/argument 1 32; -#X obj 8 451 tof/argument; -#X obj 82 611 ./argument-abs a b; -#X text 106 127 [argument n default]; +#X obj 422 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 419 220 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 419 271 print; +#X obj 422 179 print; +#X obj 422 303 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 422 351 print; +#X text 618 482 <- open it; +#X obj 422 154 tof/argument 1; +#X obj 419 244 tof/argument 1 32; +#X obj 422 325 tof/argument; +#X obj 496 485 ./argument-abs a b; +#X text 9 132 [argument n default]; #X text -4 17 description: Outputs the patch's creation arguments individually. ; -#X text 6 154 [argument] outputs the n-th creation argument.; -#X text 9 174 If the n-th creation argument is not defined \, [argument] -can optionally output a default one.; -#X text 102 273 This help patch is a file and therefore has no creation +#X text 516 147 This help patch is a file and therefore has no creation arguments. The [argument] to the left has no default value \, so nothing will be outputed.; -#X text 100 449 With no arguments \, [argument] outputs the patch's +#X text 514 323 With no arguments \, [argument] outputs the patch's \$0 as symbol.; -#X text 13 533 Inside the following abstraction \, three [argument] +#X text 427 407 Inside the following abstraction \, three [argument] objects output the creation arguments. Look inside for an explenation of the printed output.; -#X text 103 586 <- bang to print; -#X text 120 363 As stated before \, this help patch is a file and has +#X text 517 460 <- bang to print; +#X text 534 237 As stated before \, this help patch is a file and has no creation arguments. But the [argument] to the left has a default value and will output it.; -#X text 7 209 Also \, if the n-th creation argument is not of the same +#X text 10 155 argument 1: patch's creation argument to output.; +#X text 9 172 argument 2: default value to output if the patch's creation +argument is not set or if the wrong type.; +#X text 8 209 inlet 1 bang: outputs the n-th patch creation argument +or the default value if there is no n-th creation argument.; +#X text 9 245 outlet 1 anything: outputs the n-th patch creation argument +or the default value if there is no n-th creation argument.; +#X text 5 287 If the patch's n-th creation argument is not of the same type as the default value \, the default value will be outputed instead. ; -#X connect 0 0 15 0; +#X text -4 46 tags: initialization patch; +#X connect 0 0 14 0; +#X connect 4 0 11 0; #X connect 5 0 12 0; -#X connect 6 0 13 0; -#X connect 9 0 14 0; -#X connect 12 0 8 0; -#X connect 13 0 7 0; -#X connect 14 0 10 0; +#X connect 8 0 13 0; +#X connect 11 0 7 0; +#X connect 12 0 6 0; +#X connect 13 0 9 0; diff --git a/help/breakpoints-help.pd b/help/breakpoints-help.pd index e287bba..e54fff9 100644 --- a/help/breakpoints-help.pd +++ b/help/breakpoints-help.pd @@ -1,86 +1,80 @@ -#N canvas 1047 72 917 561 10; -#X obj 89 148 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 31 251 breakpoints; -#X obj 29 452 line~; -#X obj 29 497 snapshot~; -#X obj 75 447 loadbang; -#X obj 75 471 metro 100; -#X obj 29 529 nbx 5 28 -1e+037 1e+037 0 0 empty empty empty 0 -8 0 -22 -262144 -1 -1 0 256; -#X msg 29 114 0 1125 0.671429 300 0.557143 700 0.571429 0 0.792857 -375 1 100 0.0857143 1250 0.492857 1150 0; -#X obj 29 78 loadbang; -#X obj 23 48 cnv 15 15 15 empty empty empty 20 12 0 14 -258113 -66577 -0; -#X obj 509 45 cnv 15 15 15 empty empty empty 20 12 0 14 -258113 -66577 -0; -#X text 525 43 Creation arguments; -#X text 506 115 The following breakpoints was created with this line: -breakpoints 100 50 3000 \$0r \$0s \$0d; -#X obj 511 189 breakpoints 100 50 3000 \$0r \$0s \$0d; -#X obj 694 176 r \$0s; -#X obj 639 176 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X msg 640 224 dump; -#X obj 696 224 r \$0d; -#X obj 639 197 s \$0r; -#X obj 640 246 s \$0r; -#X text 639 150 The beakpoints can now be controlld remotely:; -#X text 28 12 Description: A graphical breakpoint envelope generator -based on envgen by ggee.; -#X msg 110 175 duration 5000; -#X text 39 42 Breakpoints delivers values for line or line~ when it -is banged.; -#X obj 189 452 line; -#X obj 189 526 nbx 5 28 -1e+037 1e+037 0 0 empty empty empty 0 -8 0 -22 -262144 -1 -1 0 256; -#X text 112 147 Deliver the point data to a line or line~; -#X text 90 68 You can set the point data by sending a list with the -following format: initialValue delay1 value1 delay2 value2 ...; -#X msg 567 340 -1 500 3 100 -5; -#X floatatom 516 284 5 0 600 0 - - -; -#X obj 518 377 breakpoints 200 100; -#X obj 567 312 loadbang; -#X floatatom 516 493 5 0 0 0 - - -; -#X text 554 279 By sending a float you can get the an interpolated -point value for the corresponding duration.; -#X text 673 339 Total duration is 600 (500+100); -#X obj 715 499 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X msg 104 209 dump; -#X text 144 208 Dump the current point data out the second outlet; -#X obj 128 403 print DUMP; -#X msg 272 267 1 100 -5; -#X text 507 64 width height duration receive_symbol send_symbol dump_symbol -change_symbol; -#X obj 694 196 print data; -#X obj 696 249 print dump; -#X text 198 175 set the total duration in milliseconds; -#X obj 228 403 bng 15 250 50 0 empty empty Change 17 7 0 10 -262144 --1 -1; -#X text 228 418 Bangs when gui is used.; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 1 0 24 0; -#X connect 1 1 38 0; -#X connect 1 2 44 0; -#X connect 2 0 3 0; -#X connect 3 0 6 0; -#X connect 4 0 5 0; -#X connect 5 0 3 0; -#X connect 7 0 1 0; -#X connect 8 0 7 0; -#X connect 14 0 41 0; -#X connect 15 0 18 0; -#X connect 16 0 19 0; -#X connect 17 0 42 0; -#X connect 22 0 1 0; -#X connect 24 0 25 0; -#X connect 28 0 30 0; -#X connect 29 0 30 0; -#X connect 30 0 32 0; -#X connect 30 2 35 0; -#X connect 31 0 28 0; -#X connect 36 0 1 0; -#X connect 39 0 1 0; +#N canvas 80 66 926 683 10; +#X obj 14 228 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 7 185 0 1125 0.671429 300 0.557143 700 0.571429 0 0.792857 375 +1 100 0.0857143 1250 0.492857 1150 0; +#X obj 7 149 loadbang; +#X obj 691 319 r \$0s; +#X obj 636 319 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 637 367 dump; +#X obj 693 367 r \$0d; +#X obj 636 340 s \$0r; +#X obj 637 389 s \$0r; +#X text 636 293 The beakpoints can now be controlld remotely:; +#X msg 23 257 duration 5000; +#X obj 7 594 line; +#X msg 36 293 dump; +#X obj 106 595 print DUMP; +#X obj 691 339 print data; +#X obj 693 392 print dump; +#X obj 206 595 bng 15 250 50 0 empty empty Change 17 7 0 10 -262144 +-1 -1; +#X obj 9 435 tof/breakpoints; +#X obj 507 332 tof/breakpoints 100 50 3000 \$0r \$0s \$0d; +#X obj 6 9 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 +0; +#X text 11 60 author: mrtoftrash@gmail.com; +#X text 11 79 version: 2009-04-14 (initial release); +#X text 11 9 description: A graphical breakpoint envelope generator +based on [envgen] by ggee.; +#X text 12 41 tags: ui timing; +#X text 35 223 Inlet 1 bang: deliver values for line or line~.; +#X text 68 142 Inlet 1 list: sets the point data (value0 delay1 value1 +delay2 value2 etc...); +#X text 111 257 Inlet 1 duration: set the total duration in milliseconds +; +#X text 76 292 Inlet 1 dump: dump the current point data out the second +outlet; +#X text 53 395 Select a point with the mouse and press the backspace +key to delete it.; +#X text 54 376 Click and drag to change points; +#X obj 7 621 nbx 5 28 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 22 +-262144 -1 -1 0.78 256; +#X text 474 151 Argument 1: display width; +#X text 474 165 Argument 2: display height; +#X text 473 179 Argument 3: receive name; +#X text 473 194 Argument 4: send name; +#X text 473 208 Argument 5: dump receive name; +#X text 473 223 Argument 6: contents change by mouse receive name; +#X text 478 257 The following breakpoints was created with the following: +[breakpoints 100 50 3000 \$0r \$0s \$0d]; +#X text 147 119 -- Inlets --; +#X text 637 124 -- Arguments --; +#X floatatom 56 328 5 0 600 0 - - -; +#X text 479 505 -- Outlets --; +#X text 312 585 Outlet 2: The point data when dumped.; +#X text 311 607 Outlet 3: Bangs when the contents was modified with +the mouse.; +#X text 94 322 Inlet 1 float: output the interpolated value at that +index.; +#X text 314 535 Outlet 1: The line or line~ data if [breakpoints] was +banged \, or the value at that index if a float was sent.; +#X text 627 433 -- See also --; +#X text 492 459 [tof/breakpoints~]; +#X msg 270 471 0 0.5 1 0.5 0; +#X connect 0 0 17 0; +#X connect 1 0 17 0; +#X connect 2 0 1 0; +#X connect 3 0 14 0; +#X connect 4 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 15 0; +#X connect 10 0 17 0; +#X connect 11 0 30 0; +#X connect 12 0 17 0; +#X connect 17 0 11 0; +#X connect 17 1 13 0; +#X connect 17 2 16 0; +#X connect 40 0 17 0; +#X connect 48 0 17 0; diff --git a/help/breakpoints~-help.pd b/help/breakpoints~-help.pd index 6415a69..311cdd9 100644 --- a/help/breakpoints~-help.pd +++ b/help/breakpoints~-help.pd @@ -1,54 +1,90 @@ -#N canvas 10 20 849 503 10; -#X floatatom 23 59 5 0 0 0 - - -; -#X obj 18 447 dac~; -#X obj 223 359 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 440 208 cnv 15 15 15 empty empty empty 20 12 0 14 -258113 -66577 -0; -#X text 456 206 Creation arguments; -#X text 435 226 width height duration receive_symbol dump_symbol change_symbol -; -#X msg 575 330 dump; -#X obj 629 379 r \$0d; -#X obj 575 352 s \$0r; -#X text 572 305 The beakpoints can now be controlld remotely:; -#X text 439 270 The following breakpoints was created with this line: -breakpoints~ 100 50 3000 \$0r \$0d \$0c; -#X obj 629 403 print dump; -#X obj 446 325 breakpoints~ 100 50 3000 \$0r \$0d \$0c; -#X obj 26 204 breakpoints~; -#X obj 627 331 r \$0c; -#X obj 627 352 print change; -#X obj 129 54 loadbang; -#X text 131 97 You can set the point data by sending a list with the -following format: initialValue delay1 value1 delay2 value2 ...; -#X msg 129 78 0 50 1 50 -1 50 0; -#X obj 24 126 *~ 150; -#X obj 25 404 *~ 0.1; -#X obj 61 381 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 0 1; -#X text 28 7 Description: A signal~ graphical breakpoint envelope generator -(based on envgen by ggee).; -#X obj 23 101 phasor~ 200; -#X msg 132 146 duration 150; -#X text 220 146 set the total duration in milliseconds; -#X msg 137 171 dump; -#X text 177 170 Dump the current point data out the second outlet; -#X text 220 374 Bangs when gui is changed; -#X obj 123 356 print DUMP; -#X connect 0 0 23 0; -#X connect 6 0 8 0; -#X connect 7 0 11 0; -#X connect 13 0 20 0; -#X connect 13 1 29 0; -#X connect 13 2 2 0; -#X connect 14 0 15 0; -#X connect 16 0 18 0; -#X connect 18 0 13 0; -#X connect 19 0 13 0; -#X connect 20 0 1 0; -#X connect 20 0 1 1; -#X connect 21 0 20 1; -#X connect 23 0 19 0; -#X connect 24 0 13 0; -#X connect 26 0 13 0; +#N canvas 0 25 996 667 10; +#X floatatom 119 332 5 0 0 0 - - -; +#X obj 39 642 dac~; +#X obj 245 549 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 145 548 print DUMP; +#X obj 48 396 tof/breakpoints~; +#X text 618 155 The following breakpoints was created with this line: +[breakpoints~ 100 50 3000 \$0r \$0d \$0c]; +#X text 28 -13 Description: A graphical signal~ breakpoint envelope +generator (based on envgen by ggee).; +#X obj 47 591 tabread4~ \$0table; +#X obj 46 566 *~ 0; +#N canvas 331 260 450 300 load_soundfile 0; +#X obj 65 34 inlet; +#X obj 66 68 openpanel; +#X msg 66 136 read -resize \$1 \$2table; +#X obj 66 172 soundfiler; +#X obj 66 203 outlet; +#X obj 66 99 pack s \$0; +#X connect 0 0 1 0; +#X connect 1 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 2 0; +#X restore 30 52 pd load_soundfile; +#X obj 30 29 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 163 591 table \$0table; +#X obj 30 74 s \$0samples; +#X obj 67 544 r \$0samples; +#X msg 100 308 dump; +#X msg 60 205 1 1 0; +#X text 799 362 -- Outlets --; +#X text 637 415 Outlet 2: The point data when dumped.; +#X text 636 437 Outlet 3: Bangs when the contents was modified with +the mouse.; +#X text 635 392 Outlet 1 signal: The value at that index; +#X text 35 111 Inlet 1 list: sets the point data (value0 delay1 value1 +delay2 value2 etc...); +#X text 142 94 -- Inlets --; +#X obj 47 614 *~ 0.5; +#X text 156 330 Inlet 1 signal: output the interpolated value at that +index.; +#X text 138 298 Inlet 1 dump: dump the current point data out the second +outlet.; +#X text 86 180 Play forward; +#X text 104 201 Play backward; +#X text 161 237 Play back and forth; +#X text 257 419 Select a point with the mouse and press the backspace +key to delete it.; +#X text 258 400 Click and drag to change points; +#X text 625 49 Argument 1: display width; +#X text 625 63 Argument 2: display height; +#X text 624 77 Argument 3: receive name; +#X text 624 92 Argument 4: send name; +#X text 624 106 Argument 5: dump receive name; +#X text 624 121 Argument 6: contents change by mouse receive name; +#X text 764 18 -- Arguments --; +#X obj 624 205 tof/breakpoints~ 100 50 3000 \$0r \$0d \$0c; +#X text 767 280 -- See also --; +#X text 632 306 [tof/breakpoints]; +#X obj 119 357 phasor~ 0.5; +#X text 52 29 Load a short sound loop and turn dsp on; +#X obj 46 157 loadbang; +#X msg 46 183 0 1 1; +#X msg 72 236 0 0.5 1 0.5 0; +#X msg 84 259 0 0.5 0.5 0 0 0.5 0.5; +#X text 226 259 Mix things up; +#X msg 96 282 0 0.25 0.25 0 1 0.25 0.75 0 0.5 0.25 0.75 0 0.25 0.25 +0.5; +#X connect 0 0 40 0; +#X connect 4 0 8 0; +#X connect 4 1 3 0; +#X connect 4 2 2 0; +#X connect 7 0 22 0; +#X connect 8 0 7 0; +#X connect 9 0 12 0; +#X connect 10 0 9 0; +#X connect 13 0 8 1; +#X connect 14 0 4 0; +#X connect 15 0 4 0; +#X connect 22 0 1 0; +#X connect 22 0 1 1; +#X connect 40 0 4 0; +#X connect 42 0 43 0; +#X connect 43 0 4 0; +#X connect 44 0 4 0; +#X connect 45 0 4 0; +#X connect 47 0 4 0; diff --git a/help/crossfade~-help.pd b/help/crossfade~-help.pd index 7149f02..bc76552 100644 --- a/help/crossfade~-help.pd +++ b/help/crossfade~-help.pd @@ -2,8 +2,8 @@ #X floatatom 323 276 5 0 0 0 - - -; #X obj 32 -13 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 0; -#X text 37 21 author: mrtoftrash@gmail.com; -#X text 37 32 version: 2009-06-04 (initial release); +#X text 37 31 author: mrtoftrash@gmail.com; +#X text 37 52 version: 2009-06-04 (initial release); #X obj 36 164 osc~ 100; #X obj 36 444 dac~; #X obj 197 189 noise~; @@ -12,7 +12,7 @@ #X obj 35 417 *~ 0.5; #X obj 106 416 *~ 0.5; #X obj 142 394 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 400 1; +-1 -1 0 1; #X text 35 142 First source: signal inlets to the left.; #X text 187 170 Second source: signal inlets to the right.; #X obj 326 255 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 @@ -20,24 +20,24 @@ #X text 334 234 Crossfade: 0-1; #X text 261 215 The right most inlet controls the linear crossfade value.; -#X text 38 10 tags: signal mix; #X text 37 -14 description: crossfades 2 multi-channel sources; -#X text 41 104 Argument: The number of channels for each source (defaults -to 2); #X obj 36 348 tof/crossfade~ 2; #X msg 323 298 \$1 5; #X obj 328 336 line~; -#X connect 0 0 21 0; -#X connect 4 0 20 0; -#X connect 6 0 20 2; -#X connect 7 0 20 1; -#X connect 8 0 20 3; +#X text 41 104 Argument 1: The number of channels for each source (defaults +to 2); +#X text 38 10 tags: signal mix~; +#X connect 0 0 19 0; +#X connect 4 0 18 0; +#X connect 6 0 18 2; +#X connect 7 0 18 1; +#X connect 8 0 18 3; #X connect 9 0 5 0; #X connect 10 0 5 1; #X connect 11 0 9 1; #X connect 11 0 10 1; #X connect 14 0 0 0; -#X connect 20 0 9 0; -#X connect 20 1 10 0; -#X connect 21 0 22 0; -#X connect 22 0 20 4; +#X connect 18 0 9 0; +#X connect 18 1 10 0; +#X connect 19 0 20 0; +#X connect 20 0 18 4; diff --git a/help/folderpanel-help.pd b/help/folderpanel-help.pd index 04e1427..b45fd68 100644 --- a/help/folderpanel-help.pd +++ b/help/folderpanel-help.pd @@ -1,13 +1,15 @@ -#N canvas 0 0 450 300 10; -#X obj 146 135 folderpanel; -#X obj 157 95 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +#N canvas 372 91 450 300 10; +#X obj 26 148 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 228 202 folderpanel; -#X obj 142 170 print A; -#X obj 227 241 print B; -#X obj 244 162 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X connect 0 0 3 0; -#X connect 1 0 0 0; -#X connect 2 0 4 0; -#X connect 5 0 2 0; +#X obj 26 185 tof/folderpanel; +#X obj 26 221 print; +#X obj -1 29 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 +0; +#X text 7 78 author: mrtoftrash@gmail.com; +#X text 5 99 version: 2009-04-14 (initial release); +#X text 6 56 tags: initialization patch; +#X text 6 29 description: queries for a folder; +#X text 140 150 inlet 1 bang: opens the panel; +#X text 140 169 outlet 2 symbol: the folder selected; +#X connect 0 0 1 0; +#X connect 1 0 2 0; diff --git a/help/openHelp-help.pd b/help/openHelp-help.pd index 76fda5b..a040736 100644 --- a/help/openHelp-help.pd +++ b/help/openHelp-help.pd @@ -1,15 +1,15 @@ #N canvas 125 137 619 503 10; -#X obj 77 335 openHelp; #X msg 77 213 symbol list; #X msg 157 247 symbol until; #X obj -1 29 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 0; #X text 4 85 author: mrtoftrash@gmail.com; -#X text 4 28 description: searches for and tries to open an externals -help file.; -#X text 3 70 tags: file help; -#X text 4 106 version: 2009-09-25 (initial release); #X msg 178 298 symbol zexy/list2symbol; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X connect 8 0 0 0; +#X text 4 28 description: searches for an external's or an abstraction's +help file and tries to open it.; +#X text 4 106 version: 2009-09-25; +#X text 3 65 tags: file patch; +#X obj 77 340 tof/openHelp; +#X connect 0 0 8 0; +#X connect 1 0 8 0; +#X connect 4 0 8 0; diff --git a/help/param-help.pd b/help/param-help.pd index 4661e58..264c69b 100644 --- a/help/param-help.pd +++ b/help/param-help.pd @@ -1,9 +1,31 @@ -#N canvas 1086 33 780 563 10; +#N canvas 139 45 722 412 10; #X obj -23 2 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 0; #X text -18 54 author: mrtoftrash@gmail.com; #X text -19 75 version: 2009-09-19 (localized release); -#N canvas 237 177 542 366 all 0; +#X text -18 1 description: [param] is a state saving and message routing +system.; +#X text -19 33 tags: state routing; +#X text -17 106 [param] is to state saving what [list] is to lists +:); +#X floatatom 144 229 5 0 0 0 - - -; +#X obj 136 351 dac~; +#X obj 387 263 hsl 100 15 0 1 0 0 \$0/FM_MOD/volume \$0/FM_MOD/volume_ +/FM_MOD/volume 105 7 0 10 -262144 -1 -1 0 1; +#X obj 387 283 hsl 100 15 200 2000 0 0 \$0/FM_MOD/carrier \$0/FM_MOD/carrier_ +/FM_MOD/carrier 105 7 0 10 -262144 -1 -1 2200 1; +#X obj 385 322 nbx 5 14 -1e+37 1e+37 0 0 \$0/FM_MOD/modulation/index +\$0/FM_MOD/modulation/index_ /FM_MOD/modulation/index 57 7 0 10 -262144 +-1 -1 20 256; +#X obj 385 303 nbx 5 14 -1e+37 1e+37 0 0 \$0/FM_MOD/modulation/freq +\$0/FM_MOD/modulation/freq_ /FM_MOD/modulation/freq 57 7 0 10 -262144 +-1 -1 3 256; +#X obj 184 275 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X msg 144 251 /modulation/index \$1; +#X msg 181 297 /volume \$1; +#X obj 144 322 ./param-abs /id FM_MOD /carrier 600; +#N canvas 237 177 542 366 [param 0; #X text 210 53 argument 1: param name (must start with a slash); #X obj 21 56 tof/param /my_name my_value; #X text 210 70 argument 2...: param value (can be anything; @@ -19,17 +41,8 @@ abstraction contained inside another abstraction an so forth) \, the path starts at the root and follows every child patch (abstraction) until it reaches the param object \, at which point the param's name is appended:; -#X restore -16 164 pd all about [param /name]; -#N canvas 0 0 525 231 all 0; -#X text 63 67 If an abstraction's arguments contains the "/id" keyword -\, the symbol following the "/id" keyword \, instead of the abstraction's -name \, will be used to build the path. See an example to the right. -; -#X text 26 42 Abstraction /id:; -#X restore -14 326 pd all about /id; -#N canvas 0 0 450 300 all 0; -#X restore -16 187 pd all about [param custom /name]; -#N canvas 0 0 975 555 all 0; +#X restore -16 164 pd [param /name]; +#N canvas 0 0 975 555 keywords 0; #X text 565 152 nbx: creates a numberbox; #X text 564 171 slider min max: creates a slider with the indicated minimum and maximum; @@ -70,42 +83,117 @@ You can disable this behavior with the "/nlb" (no loadbang) keyword. #X connect 16 0 18 0; #X connect 17 0 16 0; #X connect 19 0 16 0; -#X restore 150 164 pd all about keywords; -#X text -18 1 description: [param] is a state saving and message routing -system.; -#X text -19 33 tags: state routing; -#N canvas 0 0 450 300 all 0; -#X restore -16 258 pd all about [param file]; -#N canvas 0 0 450 300 all 0; -#X restore -16 280 pd all about [param route]; -#N canvas 0 0 450 300 all 0; -#X restore -15 302 pd all about [param gui]; -#N canvas 0 0 450 300 all 0; -#X restore -16 235 pd all about [param dump]; -#N canvas 0 0 450 300 all 0; -#X restore -16 210 pd all about [param id]; -#X text -17 106 [param] is to state saving what [list] is to lists -:); -#X floatatom 98 383 5 0 0 0 - - -; -#X obj 90 505 dac~; -#X obj 341 417 hsl 100 15 0 1 0 0 \$0/FM_MOD/volume \$0/FM_MOD/volume_ -/FM_MOD/volume 105 7 0 10 -262144 -1 -1 0 1; -#X obj 341 437 hsl 100 15 200 2000 0 0 \$0/FM_MOD/carrier \$0/FM_MOD/carrier_ -/FM_MOD/carrier 105 7 0 10 -262144 -1 -1 2200 1; -#X obj 339 476 nbx 5 14 -1e+37 1e+37 0 0 \$0/FM_MOD/modulation/index -\$0/FM_MOD/modulation/index_ /FM_MOD/modulation/index 57 7 0 10 -262144 --1 -1 20 256; -#X obj 339 457 nbx 5 14 -1e+37 1e+37 0 0 \$0/FM_MOD/modulation/freq -\$0/FM_MOD/modulation/freq_ /FM_MOD/modulation/freq 57 7 0 10 -262144 --1 -1 3 256; -#X obj 138 429 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 0 1; -#X msg 98 405 /modulation/index \$1; -#X msg 135 451 /volume \$1; -#X obj 98 476 ./param-abs /id FM_MOD /carrier 600; -#X connect 15 0 22 0; -#X connect 21 0 23 0; -#X connect 22 0 24 0; -#X connect 23 0 24 0; -#X connect 24 0 16 0; -#X connect 24 0 16 1; +#X restore 150 164 pd keywords; +#N canvas 0 0 450 300 [param 0; +#X text 26 80 outlet 1: bang when a param save is called; +#X text 29 106 outlet 2: the data to be restored (loaded from the save +file); +#X obj 46 228 param custom /cname; +#X text 30 60 inlet 1: data to be saved (can be multiple messages) +; +#X text 31 18 description: allows to save and restore any type of data +in a state.; +#X obj 157 252 print custom_restored; +#X msg 46 196 this will be saved; +#X msg 205 197 this will also be saved; +#X obj 106 156 t b b; +#X connect 2 0 8 0; +#X connect 2 1 5 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 6 0; +#X connect 8 1 7 0; +#X restore -16 187 pd [param custom /name]; +#N canvas 43 205 542 321 [param 0; +#X obj 48 278 print; +#X obj 49 98 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X msg 92 170 guis; +#X text 72 99 A bang will output all the params and their values.; +#X msg 73 129 symbol /FM_MOD; +#X text 169 127 A symbol will dump only the params that start with +that path.; +#X text 129 167 Guis will output all the optional /g values.; +#X obj 49 244 tof/param dump; +#X text 35 23 description: dumps the values or the gui options of params +; +#X msg 134 188 guis /FM_MOD; +#X text 41 6 [param dump]; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 4 0 7 0; +#X connect 7 0 0 0; +#X connect 9 0 7 0; +#X restore -16 235 pd [param dump]; +#N canvas 0 0 637 377 [param 0; +#X obj 336 180 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X obj 392 230 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X obj 37 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 94 225 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X floatatom 336 204 5 0 0 0 - - -; +#X floatatom 392 252 5 0 0 0 - - -; +#X text 376 202 Save preset N; +#X text 430 251 Restore preset N; +#X text 26 46 description: saves and restores params in individual +files on the hard disk.; +#X text 27 27 [param file]; +#X obj 37 266 param file; +#X obj 336 279 param file; +#X text 30 110 Data is saved/restored in the same folder as the root +patch.; +#X text 116 223 Restore main save file; +#X text 59 182 Save main save file; +#X connect 0 0 4 0; +#X connect 1 0 5 0; +#X connect 2 0 10 0; +#X connect 3 0 10 1; +#X connect 4 0 11 0; +#X connect 5 0 11 1; +#X restore -16 257 pd [param file]; +#N canvas 461 363 450 300 [param 0; +#X text 26 47 description: routes param messages.; +#X text 26 20 [param route]; +#X text 28 92 [param route] routes messages to params. It relativitize +target names.; +#X restore -16 280 pd [param route]; +#N canvas 0 0 517 280 [param 0; +#X text 19 28 description: builds pd guis for params.; +#X obj 21 68 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 90 120 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X text 42 65 This inlet creates the guis once. All further bangs only +display the gui window.; +#X obj 21 157 tof/param gui; +#X text 112 117 This inlet creates and displays the window everytime +it is banged. The content is always up to date \, but a bit slower. +; +#X connect 1 0 4 0; +#X connect 2 0 4 1; +#X restore -15 302 pd [param gui]; +#N canvas 0 0 525 231 /id 0; +#X text 26 42 Abstraction /id:; +#X text 63 67 If an abstraction's arguments contains the "/id" keyword +\, the symbol following the "/id" keyword \, instead of the abstraction's +name \, will be used to build the path.; +#X restore -16 323 pd /id; +#N canvas 0 0 450 300 [param 0; +#X text 38 36 [param path]; +#X text 37 57 description: outputs the current param path.; +#X obj 42 105 param path; +#X obj 46 83 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 43 130 print; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X restore -16 210 pd [param path]; +#X connect 6 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 15 0; +#X connect 14 0 15 0; +#X connect 15 0 7 0; +#X connect 15 0 7 1; diff --git a/help/paramDump-help.pd b/help/paramDump-help.pd deleted file mode 100644 index 82902fd..0000000 --- a/help/paramDump-help.pd +++ /dev/null @@ -1,32 +0,0 @@ -#N canvas 1257 140 623 501 10; -#X obj 38 259 print; -#X obj 38 129 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 21 12 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 -0; -#X text 26 68 author: mrtoftrash@gmail.com; -#X text 26 89 version: 2009-09-19 (localized version); -#X text 26 13 description: outputs all the children params of the root -patch.; -#X obj 149 266 param-abs /id FM_MOD; -#X text 69 304 --------------------- SEE ALSO ----------------------- -; -#X text 43 325 See the help for the param external to expand your mind: -; -#X obj 148 351 param /another a_value; -#X msg 82 161 guis; -#X text 61 130 A bang will output all the params and their values. -; -#X text 26 47 tags: state param; -#X msg 117 204 symbol /FM_MOD; -#X text 213 202 A symbol will dump only the params that start with -that path.; -#X obj 38 226 tof/paramDump; -#X obj 303 265 param-abs /id SECOND; -#X msg 124 179 guis /SECOND; -#X text 119 158 Guis will output all the optional /g values.; -#X connect 1 0 15 0; -#X connect 10 0 15 0; -#X connect 13 0 15 0; -#X connect 15 0 0 0; -#X connect 17 0 15 0; diff --git a/help/paramFile-help.pd b/help/paramFile-help.pd deleted file mode 100644 index 4bca30f..0000000 --- a/help/paramFile-help.pd +++ /dev/null @@ -1,52 +0,0 @@ -#N canvas 1102 91 735 547 10; -#X obj 423 300 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X obj 474 351 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X obj 11 36 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 -0; -#X text 16 92 author: mrtoftrash@gmail.com; -#X text 16 113 version: 2009-04-14 (initial release); -#X obj 30 372 paramFile; -#X obj 30 291 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X obj 81 331 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X text 16 37 description: paramFile is an abstraction than saves and -restores params in individual files on the hard disk.; -#X text 16 71 tags: state file param; -#X text 52 289 Save preset "000"; -#X obj 423 399 paramFile; -#X floatatom 423 324 5 0 0 0 - - -; -#X floatatom 474 373 5 0 0 0 - - -; -#X text 463 322 Save preset N; -#X text 27 138 Please note that only the param children of the same -root patch as the paramFile will be saved/restored.; -#X text 102 328 Restore preset "000"; -#X text 512 372 Restore preset N; -#X text 423 278 You may save and restore up to 127 different presets. -; -#X text 29 178 The data will be saved in the same folder as the root -patch and will include its name and the preset number as follows:; -#X text 85 214 root_patch_name-preset#.param; -#X text 25 234 For example \, if click save on the following bang \, -the file "paramFile-help-000.param" will be created and will store -the param "/something_to_save"; -#X text 202 497 See the help for the param external to expand your -mind.; -#X text 217 480 --------------------- SEE ALSO ----------------------- -; -#X obj 34 445 param /something_to_save symbol i_love_you_mary_jane -; -#X symbolatom 33 468 40 0 0 0 - - -; -#X msg 34 420 symbol banana; -#X msg 128 420 symbol iguana; -#X connect 0 0 12 0; -#X connect 1 0 13 0; -#X connect 6 0 5 0; -#X connect 7 0 5 1; -#X connect 12 0 11 0; -#X connect 13 0 11 1; -#X connect 24 0 25 0; -#X connect 26 0 24 0; -#X connect 27 0 24 0; diff --git a/help/paramGui-help.pd b/help/paramGui-help.pd deleted file mode 100644 index bb33dc6..0000000 --- a/help/paramGui-help.pd +++ /dev/null @@ -1,39 +0,0 @@ -#N canvas 1067 99 946 482 10; -#X obj 4 19 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 -0; -#X text 9 71 author: mrtoftrash@gmail.com; -#X text 8 50 tags: param gui; -#X text 57 374 --------------------- SEE ALSO ----------------------- -; -#X text 31 395 See the help for the param external to expand your mind: -; -#X text 547 225 nbx: creates a numberbox; -#X text 546 244 slider min max: creates a slider with the indicated -minimum and maximum; -#X text 546 273 bng: creates a bang; -#X text 546 291 tgl: creates a toggle; -#X text 548 309 symbolatom: creates a symbol box; -#X text 8 92 version: 2009-09-19 (localized version); -#X text 9 18 description: builds pd guis for params.; -#X obj 652 368 tof/param /maude 3 /g bob; -#X obj 21 130 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X text 538 203 /g options for params:; -#X text 599 119 <-click properties here; -#X obj 90 182 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 --1; -#X text 42 127 This inlet creates the guis once. All further bangs -only display the gui window.; -#X text 112 178 This inlet creates and displays the window everytime -it is bang. It is always up to date \, but a bit slower.; -#X msg 506 74 /carrier \$1; -#X floatatom 512 46 5 0 0 0 - - -; -#X obj 21 219 tof/param gui; -#X obj 477 120 ./param-abs /id bob; -#X obj 650 407 tof/param /tom yo /g 1 1 sym; -#X obj 29 417 tof/param /numerical 100 /g nbx; -#X obj 258 416 tof/param /slip 100 /g 0 1 slider 0 127; -#X connect 13 0 21 0; -#X connect 16 0 21 1; -#X connect 19 0 22 0; -#X connect 20 0 19 0; diff --git a/help/paramRoute-help.pd b/help/paramRoute-help.pd deleted file mode 100644 index a201d06..0000000 --- a/help/paramRoute-help.pd +++ /dev/null @@ -1,39 +0,0 @@ -#N canvas 62 155 886 436 10; -#X obj 11 36 cnv 15 400 100 empty empty empty 20 12 0 14 -249661 -66577 -0; -#X text 16 92 author: mrtoftrash@gmail.com; -#X text 16 113 version: 2009-09-19 (localized version); -#X text 16 37 description: routes param messages.; -#X floatatom 389 200 5 0 0 0 - - -; -#X obj 602 243 hsl 100 15 0 1 0 0 \$0/FM_MOD/volume \$0/FM_MOD/volume_ -/FM_MOD/volume 105 7 0 10 -262144 -1 -1 0 1; -#X obj 602 263 hsl 100 15 200 2000 0 0 \$0/FM_MOD/carrier \$0/FM_MOD/carrier_ -/FM_MOD/carrier 105 7 0 10 -262144 -1 -1 3300 1; -#X obj 600 302 nbx 5 14 -1e+37 1e+37 0 0 \$0/FM_MOD/modulation/index -\$0/FM_MOD/modulation/index_ /FM_MOD/modulation/index 57 7 0 10 -262144 --1 -1 20 256; -#X obj 600 283 nbx 5 14 -1e+37 1e+37 0 0 \$0/FM_MOD/modulation/freq -\$0/FM_MOD/modulation/freq_ /FM_MOD/modulation/freq 57 7 0 10 -262144 --1 -1 3 256; -#X msg 389 222 modulation/index \$1; -#X obj 429 246 hsl 128 15 0 1 0 0 empty empty empty -2 -8 0 10 -262144 --1 -1 0 1; -#X msg 426 268 volume \$1; -#X obj 389 293 param-abs /id FM_MOD; -#X obj 384 327 dac~; -#X text 13 185 paramRoute routes messages to params that are included -inside abstractions. It uses a relative path to simplify things.; -#X text 20 287 Open the "param-abs" abstraction to the right and you -should undertand what that means (I hope).; -#X text 216 357 --------------------- SEE ALSO ----------------------- -; -#X text 190 378 See the help for the param external to expand your -mind:; -#X obj 342 398 param /dummy; -#X text 16 71 tags: state routing param; -#X connect 4 0 9 0; -#X connect 9 0 12 0; -#X connect 10 0 11 0; -#X connect 11 0 12 0; -#X connect 12 0 13 0; -#X connect 12 0 13 1; diff --git a/help/phasorshot~-help.pd b/help/phasorshot~-help.pd index 527c5bc..4388aea 100644 --- a/help/phasorshot~-help.pd +++ b/help/phasorshot~-help.pd @@ -1,72 +1,70 @@ -#N canvas 396 14 618 599 10; -#X text 390 204 Arguments:; -#X obj 372 207 cnv 15 15 15 empty empty empty 20 12 0 14 -258113 -66577 -0; -#X obj 63 513 snapshot~; -#X obj 92 488 metro 100; -#X obj 92 464 loadbang; -#X obj 59 551 nbx 10 14 -1e+037 1e+037 0 0 empty empty empty 0 -8 0 -10 -1 -262144 -1 0.856514 256; -#X obj 381 507 soundfiler; -#X msg 381 469 read -resize \$1 \$2; -#X obj 381 438 list append \$0table; -#X obj 381 405 openpanel; -#X obj 381 381 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 381 533 10 0 0 0 - - -; -#X obj 244 471 table \$0table; -#X obj 177 297 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 -1; -#X msg 58 154 0.1; -#X msg 89 156 -0.1; -#X msg 128 156 -0.5; -#X msg 134 250 0.9; -#X msg 166 247 0; -#X msg 25 154 1; -#X obj 140 363 print UPPER; -#X obj 143 401 print LOWER; -#X obj 222 496 *~; -#X obj 220 561 dac~; -#X obj 221 525 tabread4~ \$0table; -#X msg 169 156 0.5; -#X msg 201 249 0.5; -#X obj 62 338 phasorshot~; -#X text 60 11 Description: A one shot phasor~.; -#X text 48 33 phasorshot~ is exactly like a phasor except that you -can disabling it's looping \, therefore making it a one shot lookup -signal.; -#X text 55 80 Of course line~ does something similar \, but with phasorshot~ -you can change the speed DURING the ramp.; -#X text 33 121 Inlet 1: frequency; -#X text 149 222 Inlet 2: phasee; -#X text 212 297 Inlet 3: loop off/on; -#X text 373 225 1) loop off/on; -#X msg 183 181 0; -#X text 154 329 Outlets 2 and 3 bang when the upper (1) or lower (0) -bound is reached.; -#X connect 2 0 5 0; -#X connect 3 0 2 0; -#X connect 4 0 3 0; -#X connect 6 0 11 0; -#X connect 6 0 22 1; -#X connect 7 0 6 0; -#X connect 8 0 7 0; -#X connect 9 0 8 0; -#X connect 10 0 9 0; -#X connect 13 0 27 2; -#X connect 14 0 27 0; -#X connect 15 0 27 0; -#X connect 16 0 27 0; -#X connect 17 0 27 1; -#X connect 18 0 27 1; -#X connect 19 0 27 0; -#X connect 22 0 24 0; -#X connect 24 0 23 0; -#X connect 24 0 23 1; -#X connect 25 0 27 0; -#X connect 26 0 27 1; -#X connect 27 0 2 0; -#X connect 27 0 22 0; -#X connect 27 1 21 0; -#X connect 27 2 20 0; -#X connect 35 0 27 0; +#N canvas 396 14 618 599 10; +#X text 313 159 Arguments:; +#X obj 63 513 snapshot~; +#X obj 92 488 metro 100; +#X obj 92 464 loadbang; +#X obj 59 551 nbx 10 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10 +-1 -262144 -1 0 256; +#X obj 381 507 soundfiler; +#X msg 381 469 read -resize \$1 \$2; +#X obj 381 438 list append \$0table; +#X obj 381 405 openpanel; +#X obj 381 381 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 381 533 10 0 0 0 - - -; +#X obj 244 471 table \$0table; +#X obj 177 297 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 58 154 0.1; +#X msg 89 156 -0.1; +#X msg 128 156 -0.5; +#X msg 134 250 0.9; +#X msg 166 247 0; +#X msg 25 154 1; +#X obj 148 363 print UPPER; +#X obj 143 401 print LOWER; +#X obj 222 496 *~; +#X obj 220 561 dac~; +#X obj 221 525 tabread4~ \$0table; +#X msg 169 156 0.5; +#X msg 201 249 0.5; +#X text 60 11 Description: A one shot phasor~.; +#X text 48 33 phasorshot~ is exactly like a phasor except that you +can disabling it's looping \, therefore making it a one shot lookup +signal.; +#X text 55 80 Of course line~ does something similar \, but with phasorshot~ +you can change the speed DURING the ramp.; +#X text 33 121 Inlet 1: frequency; +#X text 159 227 Inlet 2: phasee; +#X text 212 297 Inlet 3: loop off/on; +#X text 310 181 1) loop off/on; +#X msg 183 181 0; +#X text 174 329 Outlets 2 and 3 bang when the upper (1) or lower (0) +bound is reached.; +#X obj 61 338 tof/phasorshot~; +#X connect 1 0 4 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 5 0 10 0; +#X connect 5 0 21 1; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 8 0 7 0; +#X connect 9 0 8 0; +#X connect 12 0 35 2; +#X connect 13 0 35 0; +#X connect 14 0 35 0; +#X connect 15 0 35 0; +#X connect 16 0 35 1; +#X connect 17 0 35 1; +#X connect 18 0 35 0; +#X connect 21 0 23 0; +#X connect 23 0 22 0; +#X connect 23 0 22 1; +#X connect 24 0 35 0; +#X connect 25 0 35 1; +#X connect 33 0 35 0; +#X connect 35 0 1 0; +#X connect 35 0 21 0; +#X connect 35 1 20 0; +#X connect 35 2 19 0; diff --git a/help/streamMinMax-help.pd b/help/streamMinMax-help.pd index a9a613d..dde1a33 100644 --- a/help/streamMinMax-help.pd +++ b/help/streamMinMax-help.pd @@ -1,5 +1,4 @@ #N canvas 425 210 412 446 10; -#X obj 118 267 streamMinMax; #X floatatom 82 146 5 0 0 0 - - -; #X obj 199 195 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; @@ -14,15 +13,16 @@ a stream of numbers.; #X text 7 -10 tags: stream; #X text 7 12 version: 2009-05-07 (initial release); -#X obj 9 95 streamMinMax 45 100; #X text 210 145 set minimum and maximum; #X text 4 74 Argument 2: maximum value at start (defaults to none) ; #X text 4 59 Argument 1: minimum value at start (defaults to none) ; #X msg 168 144 43 90; -#X connect 0 0 3 0; -#X connect 0 1 4 0; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X connect 16 0 0 0; +#X obj 9 95 tof/streamMinMax 45 100; +#X obj 118 267 tof/streamMinMax; +#X connect 0 0 16 0; +#X connect 1 0 16 0; +#X connect 14 0 16 0; +#X connect 16 0 2 0; +#X connect 16 1 3 0; diff --git a/src/breakpoints.c b/src/breakpoints.c index 8d7bbbe..1d37149 100644 --- a/src/breakpoints.c +++ b/src/breakpoints.c @@ -38,7 +38,7 @@ char dumpy[2000]; cause the problem. for the moment we prevent from reallocating by setting the STATES variable to 100 */ -void breakpoints_resize(t_breakpoints* x,int ns) +static void breakpoints_resize(t_breakpoints* x,int ns) { if (ns > x->args) { int newargs = ns*sizeof(t_float); @@ -51,7 +51,7 @@ void breakpoints_resize(t_breakpoints* x,int ns) -void breakpoints_totaldur(t_breakpoints* x,t_float dur) +static void breakpoints_totaldur(t_breakpoints* x,t_float dur) { int i; float f = dur/x->duration[x->last_state]; @@ -89,7 +89,7 @@ static void breakpoints_dump(t_breakpoints* e) ///////////////////////////////////////////////////// } -void breakpoints_init(t_breakpoints *x,int argc,t_atom* argv) +static void breakpoints_init(t_breakpoints *x,int argc,t_atom* argv) { t_float* dur; t_float* val; @@ -159,15 +159,16 @@ void breakpoints_init(t_breakpoints *x,int argc,t_atom* argv) -void breakpoints_list(t_breakpoints *x,t_symbol* s, int argc,t_atom* argv) +static void breakpoints_list(t_breakpoints *x,t_symbol* s, int argc,t_atom* argv) { + breakpoints_init(x,argc,argv); if (glist_isvisible(x->w.glist)) { breakpoints_drawme(x, x->w.glist, 0); } } -void breakpoints_setresize(t_breakpoints *x, t_floatarg f) +static void breakpoints_setresize(t_breakpoints *x, t_floatarg f) { x->resizeable = f; } @@ -175,36 +176,47 @@ void breakpoints_setresize(t_breakpoints *x, t_floatarg f) - -void breakpoints_float(t_breakpoints *x, t_floatarg f) +static void breakpoints_float(t_breakpoints *x, t_floatarg f) { - int state = 0; - float val; + + // int state = x->state; + t_float val; + + if (x->state > x->last_state) x->state = x->last_state; + + while ( (x->state > 0) && (f < x->duration[x->state-1]) ) x->state--; + while ( (x->state < x->last_state) && (x->duration[x->state] < f) ) x->state++; - while (x->duration[state] < f && state < x->last_state) state++; + + //x->state = state; - if (state == 0 || f >= x->duration[x->last_state]) { - val = x->finalvalues[state]; + if (x->state == 0 || f >= x->duration[x->last_state]) { + post("out of bounds"); + val = x->finalvalues[x->state]; outlet_float(x->x_obj.ob_outlet,val); if (x->s_sym != &s_) pd_float(x->s_sym->s_thing, f); return; } + + - val = x->finalvalues[state-1] + - (f - x->duration[state-1])* - (x->finalvalues[state] - x->finalvalues[state-1])/ - (x->duration[state] - x->duration[state-1]); + val = x->finalvalues[x->state-1] + + (f - x->duration[x->state-1])* + (x->finalvalues[x->state] - x->finalvalues[x->state-1])/ + (x->duration[x->state] - x->duration[x->state-1]); //val *= (x->max - x->min); outlet_float(x->x_obj.ob_outlet,val); if (x->s_sym != &s_) pd_float(x->s_sym->s_thing, val); + } -void breakpoints_bang(t_breakpoints *x) + +static void breakpoints_bang(t_breakpoints *x) { t_atom a[2]; @@ -227,29 +239,6 @@ void breakpoints_bang(t_breakpoints *x) clock_delay(x->x_clock,x->duration[x->x_state]); } -/* - -void breakpoints_release(t_breakpoints* x) { - t_atom a[2]; - float del = x->duration[x->x_state] - x->duration[x->x_state-1]; - if (x->x_state <= x->sustain_state) { - x->x_state = x->sustain_state+1; // skip sustain state - clock_delay(x->x_clock,del); - SETFLOAT(a,x->finalvalues[x->x_state]*(x->max-x->min)); - SETFLOAT(a+1,del); - OUT_LIST(x,2,a); - } -} - -static void breakpoints_sustain(t_breakpoints *x, t_floatarg f) -{ - if (f > 0 && f < x->last_state) - x->sustain_state = f; - else - pd_error(x,"sustain value not betweem 0 and %f, ignoring message", x->last_state); -} - -*/ static void breakpoints_tick(t_breakpoints* x) @@ -293,10 +282,13 @@ static void bindsym(t_pd* x,t_symbol* o,t_symbol* s) static void *breakpoints_new(t_symbol *s,int argc,t_atom* argv) { + + post("BITHCE"); + t_breakpoints *x = (t_breakpoints *)pd_new(breakpoints_class); x->borderwidth = 1; - + x->state = 0; x->x_f = 0; x->args = STATES; x->finalvalues = getbytes( x->args*sizeof(t_float)); @@ -379,11 +371,11 @@ static void *breakpoints_new(t_symbol *s,int argc,t_atom* argv) } -void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy); -void breakpoints_click(t_breakpoints *x, +static void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy); +static void breakpoints_click(t_breakpoints *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt); -void breakpoints_key(t_breakpoints *x, t_floatarg f); +static void breakpoints_key(t_breakpoints *x, t_floatarg f); t_widgetbehavior breakpoints_widgetbehavior; diff --git a/src/breakpoints~.c b/src/breakpoints~.c index 8e3b903..2f7e4a0 100644 --- a/src/breakpoints~.c +++ b/src/breakpoints~.c @@ -38,7 +38,7 @@ char dumpy[2000]; cause the problem. for the moment we prevent from reallocating by setting the STATES variable to 100 */ -void breakpoints_resize(t_breakpoints* x,int ns) +static void breakpoints_resize(t_breakpoints* x,int ns) { if (ns > x->args) { int newargs = ns*sizeof(t_float); @@ -59,39 +59,40 @@ static t_int *breakpointssig_perform(t_int *w) { t_breakpoints *x = (t_breakpoints *)(w[1]); - t_float *in = (t_float *)(w[2]); - t_float *out = (t_float *)(w[3]); + t_sample *in = (t_float *)(w[2]); + t_sample *out = (t_float *)(w[3]); int n = (int)(w[4]); - int state; - float f; - float val; + //int state = x->state; + t_sample f; + t_sample val; - while (n--) - { - - // STUFF - state = 0; - f = *(in++); + if (x->state > x->last_state) x->state = x->last_state; + while (n--) { + f = *in; + + + - while (x->duration[state] < f && state < x->last_state) state++; - - if (state == 0 || f >= x->duration[x->last_state]) { - val = x->finalvalues[state]; - - } else { - val = x->finalvalues[state-1] + (f - x->duration[state-1]) * - (x->finalvalues[state] - x->finalvalues[state-1]) / - (x->duration[state] - x->duration[state-1]); - - - - } - // STUFF END - - - *out++ = val; + while ( (x->state > 0) && (f < x->duration[x->state-1]) ) x->state--; + while ( (x->state < x->last_state) && (x->duration[x->state] < f) ) x->state++; + // Interpolate + if (x->state == 0 || f >= x->duration[x->last_state]) { + val = x->finalvalues[x->state]; + } else { + val = x->finalvalues[x->state-1] + + (f - x->duration[x->state-1])* + (x->finalvalues[x->state] - x->finalvalues[x->state-1])/ + (x->duration[x->state] - x->duration[x->state-1]); + } + + // Output + *out= val; + out++; + in++; + //*out++=x->state; } + //x->state = state; return (w+5); } @@ -105,7 +106,7 @@ static void breakpointssig_dsp(t_breakpoints *x, t_signal **sp) dsp_add(breakpointssig_perform, 4, x,sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); } -void breakpoints_totaldur(t_breakpoints* x,t_float dur) +static void breakpoints_totaldur(t_breakpoints* x,t_float dur) { int i; float f = dur/x->duration[x->last_state]; @@ -143,7 +144,7 @@ static void breakpoints_dump(t_breakpoints* e) ///////////////////////////////////////////////////// } -void breakpoints_init(t_breakpoints *x,int argc,t_atom* argv) +static void breakpoints_init(t_breakpoints *x,int argc,t_atom* argv) { t_float* dur; t_float* val; @@ -211,7 +212,7 @@ void breakpoints_init(t_breakpoints *x,int argc,t_atom* argv) -void breakpoints_list(t_breakpoints *x,t_symbol* s, int argc,t_atom* argv) +static void breakpoints_list(t_breakpoints *x,t_symbol* s, int argc,t_atom* argv) { breakpoints_init(x,argc,argv); if (glist_isvisible(x->w.glist)) { @@ -219,7 +220,7 @@ void breakpoints_list(t_breakpoints *x,t_symbol* s, int argc,t_atom* argv) } } -void breakpoints_setresize(t_breakpoints *x, t_floatarg f) +static void breakpoints_setresize(t_breakpoints *x, t_floatarg f) { x->resizeable = f; } @@ -227,7 +228,7 @@ void breakpoints_setresize(t_breakpoints *x, t_floatarg f) - +/* void breakpoints_float(t_breakpoints *x, t_floatarg f) { int state = 0; @@ -253,59 +254,6 @@ void breakpoints_float(t_breakpoints *x, t_floatarg f) outlet_float(x->x_obj.ob_outlet,val); if (x->s_sym != &s_) pd_float(x->s_sym->s_thing, val); } - - - - - - -/* - -void breakpoints_release(t_breakpoints* x) { - t_atom a[2]; - float del = x->duration[x->x_state] - x->duration[x->x_state-1]; - if (x->x_state <= x->sustain_state) { - x->x_state = x->sustain_state+1; // skip sustain state - clock_delay(x->x_clock,del); - SETFLOAT(a,x->finalvalues[x->x_state]*(x->max-x->min)); - SETFLOAT(a+1,del); - OUT_LIST(x,2,a); - } -} - -static void breakpoints_sustain(t_breakpoints *x, t_floatarg f) -{ - if (f > 0 && f < x->last_state) - x->sustain_state = f; - else - pd_error(x,"sustain value not betweem 0 and %f, ignoring message", x->last_state); -} - -*/ - -/* -static void breakpoints_tick(t_breakpoints* x) -{ - t_atom a[2]; - x->x_state++; - if (x->x_state <= x->last_state && x->x_state != x->sustain_state) { - float del = x->duration[x->x_state] - x->duration[x->x_state-1]; - clock_delay(x->x_clock,del); - SETFLOAT(a,x->finalvalues[x->x_state]*(x->max-x->min)); - SETFLOAT(a+1,del); - OUT_LIST(x,2,a); - } -// else -// clock_unset(x->x_clock); -} - -*/ - -/* -static void breakpoints_freeze(t_breakpoints* x, t_floatarg f) -{ - x->x_freeze = f; -} */ static void bindsym(t_pd* x,t_symbol* o,t_symbol* s) @@ -316,16 +264,13 @@ static void bindsym(t_pd* x,t_symbol* o,t_symbol* s) } - - - - - - static void *breakpoints_new(t_symbol *s,int argc,t_atom* argv) { t_breakpoints *x = (t_breakpoints *)pd_new(breakpoints_class); + + x->state = 0; + x->borderwidth = 2; x->x_f = 0; @@ -409,11 +354,11 @@ static void *breakpoints_new(t_symbol *s,int argc,t_atom* argv) -void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy); -void breakpoints_click(t_breakpoints *x, +static void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy); +static void breakpoints_click(t_breakpoints *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt); -void breakpoints_key(t_breakpoints *x, t_floatarg f); +static void breakpoints_key(t_breakpoints *x, t_floatarg f); t_widgetbehavior breakpoints_widgetbehavior; diff --git a/src/breakpoints~.h b/src/breakpoints~.h index f973dac..b000f53 100644 --- a/src/breakpoints~.h +++ b/src/breakpoints~.h @@ -48,6 +48,8 @@ typedef struct _breakpoints t_float x_f; /* place to hold inlet's value if it's set by message */ + int state; + t_outlet* out2; t_outlet* out3; @@ -57,8 +59,8 @@ typedef struct _breakpoints t_widgetbehavior breakpoints_widgetbehavior; -void breakpoints_drawme(t_breakpoints *x, t_glist *glist, int firsttime); -int breakpoints_set_values(t_breakpoints * x); -void breakpoints_resize(t_breakpoints* x,int ns); +static void breakpoints_drawme(t_breakpoints *x, t_glist *glist, int firsttime); +static int breakpoints_set_values(t_breakpoints * x); +static void breakpoints_resize(t_breakpoints* x,int ns); #endif diff --git a/src/param.c b/src/param.c index 104cb4a..ae1f0c2 100644 --- a/src/param.c +++ b/src/param.c @@ -23,7 +23,7 @@ #include "paramCustom.h" #include "paramDump.h" #include "paramFile.h" -#include "paramId.h" +#include "paramPath.h" #include "paramRoute.h" #include "paramGui.h" @@ -326,8 +326,8 @@ static void* param_new(t_symbol *s, int argc, t_atom *argv) { x = paramDump_new(s, argc-1, argv+1); else if (s2 == gensym("file")) x = paramFile_new(s, argc-1, argv+1); - else if (s2 == gensym("id")) - x = paramId_new(s, argc-1, argv+1); + else if (s2 == gensym("id") || s2 == gensym("path")) + x = paramPath_new(s, argc-1, argv+1); else if (s2 == gensym("route")) x = paramRoute_new(s, argc-1, argv+1); else if (s2 == gensym("gui")) @@ -336,7 +336,7 @@ static void* param_new(t_symbol *s, int argc, t_atom *argv) { x = paramClass_new(s, argc, argv); } if ( x == NULL) { - post("Param is missing a symbolic argument. Possible values: custom, dump, file, id, route, gui or a /name."); + post("Param is missing a symbolic argument. Possible values: custom, dump, file, path, route, gui or a /name."); //post(" custom"); //dump file id route gui or a /\"name\" //post("- dump"); @@ -378,7 +378,7 @@ void param_setup(void) paramCustom_setup(); paramDump_setup(); paramFile_setup(); - paramId_setup(); + paramPath_setup(); paramRoute_setup(); paramGui_setup(); diff --git a/src/paramCustom.h b/src/paramCustom.h index 134782a..3d3f979 100644 --- a/src/paramCustom.h +++ b/src/paramCustom.h @@ -192,7 +192,7 @@ void paramCustom_setup(void) //class_addmethod(param_class, (t_method)paramClass_loadbang, gensym("loadbang"), 0); - paramCustom_receive_class = class_new(gensym("_paramCustom_receive"), + paramCustom_receive_class = class_new(gensym("paramCustom_receive"), 0, 0, sizeof(t_paramCustom_receive), CLASS_PD | CLASS_NOINLET, 0); class_addanything(paramCustom_receive_class, paramCustom_receive_anything); diff --git a/src/paramId.h b/src/paramId.h deleted file mode 100644 index c11ec22..0000000 --- a/src/paramId.h +++ /dev/null @@ -1,54 +0,0 @@ - - -static t_class *paramId_class; - - -typedef struct _paramId -{ - t_object x_obj; - t_outlet* outlet; - t_symbol* path; - //t_symbol* root; -} t_paramId; - - - -// Dump out everything (OR THE ID'S OR JUST THE NAMES?) -static void paramId_bang(t_paramId *x) { - - outlet_symbol(x->outlet,x->path); - - -} - - - -static void paramId_free(t_paramId *x) -{ - - -} - - -static void *paramId_new(t_symbol *s, int ac, t_atom *av) { - t_paramId *x = (t_paramId *)pd_new(paramId_class); - - //x->root = tof_get_dollarzero(tof_get_root_canvas(tof_get_canvas())); - t_canvas* canvas = tof_get_canvas(); - x->path = param_get_path(canvas,NULL); - - x->outlet = outlet_new(&x->x_obj, &s_list); - - return (x); -} - -void paramId_setup(void) { - paramId_class = class_new(gensym("param id"), - (t_newmethod)paramId_new, (t_method)paramId_free, - sizeof(t_paramId), 0, A_GIMME, 0); - - class_addbang(paramId_class, paramId_bang); - - class_sethelpsymbol(paramId_class, gensym("param")); - -} diff --git a/src/paramPath.h b/src/paramPath.h new file mode 100644 index 0000000..5efd54b --- /dev/null +++ b/src/paramPath.h @@ -0,0 +1,54 @@ + + +static t_class *paramPath_class; + + +typedef struct _paramPath +{ + t_object x_obj; + t_outlet* outlet; + t_symbol* path; + //t_symbol* root; +} t_paramPath; + + + +// Dump out everything (OR THE ID'S OR JUST THE NAMES?) +static void paramPath_bang(t_paramPath *x) { + + outlet_symbol(x->outlet,x->path); + + +} + + + +static void paramPath_free(t_paramPath *x) +{ + + +} + + +static void *paramPath_new(t_symbol *s, int ac, t_atom *av) { + t_paramPath *x = (t_paramPath *)pd_new(paramPath_class); + + //x->root = tof_get_dollarzero(tof_get_root_canvas(tof_get_canvas())); + t_canvas* canvas = tof_get_canvas(); + x->path = param_get_path(canvas,NULL); + + x->outlet = outlet_new(&x->x_obj, &s_list); + + return (x); +} + +void paramPath_setup(void) { + paramPath_class = class_new(gensym("param path"), + (t_newmethod)paramPath_new, (t_method)paramPath_free, + sizeof(t_paramPath), 0, A_GIMME, 0); + + class_addbang(paramPath_class, paramPath_bang); + + class_sethelpsymbol(paramPath_class, gensym("param")); + +} diff --git a/src/w_breakpoints.h b/src/w_breakpoints.h index 14c326b..2b980d7 100644 --- a/src/w_breakpoints.h +++ b/src/w_breakpoints.h @@ -295,7 +295,7 @@ int i; -void breakpoints_drawme(t_breakpoints *x, t_glist *glist, int firsttime) +static void breakpoints_drawme(t_breakpoints *x, t_glist *glist, int firsttime) { if (firsttime) breakpoints_create(x,glist); @@ -307,7 +307,7 @@ void breakpoints_drawme(t_breakpoints *x, t_glist *glist, int firsttime) -void breakpoints_erase(t_breakpoints* x,t_glist* glist) +static void breakpoints_erase(t_breakpoints* x,t_glist* glist) { //int n; sys_vgui(".x%x.c delete %xS\n", @@ -438,7 +438,7 @@ static void breakpoints_followpointer(t_breakpoints* x,t_glist* glist) } -void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy) +static void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy) { if (x->w.shift) { x->w.pointerx+=dx/1000.f; @@ -459,7 +459,7 @@ void breakpoints_motion(t_breakpoints *x, t_floatarg dx, t_floatarg dy) breakpoints_update(x,x->w.glist); } -void breakpoints_key(t_breakpoints *x, t_floatarg f) +static void breakpoints_key(t_breakpoints *x, t_floatarg f) { if (f == 8.0 && x->w.grabbed < x->last_state && x->w.grabbed > 0) { int i; -- cgit v1.2.1