From d57786814b259a2008811c8c7f7d1039a9ac5282 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sun, 23 May 2004 16:13:11 +0000 Subject: updated enhanced help patches to work with new lib svn path=/trunk/externals/ff/; revision=1760 --- ff/ff-autocenter-help.pd | 26 ++++-- ff/ff-constant-help.pd | 143 +++++++++++++++++++++++--------- ff/ff-friction-help.pd | 154 ++++++++++++++++++++++++++++++++++ ff/ff-gain-help.pd | 23 ++++-- ff/ff-periodic-help.pd | 188 +++++++++++++++++++++++++++++++---------- ff/ff-spring-help.pd | 211 +++++++++++++++++++++++++++++++++-------------- 6 files changed, 590 insertions(+), 155 deletions(-) create mode 100644 ff/ff-friction-help.pd diff --git a/ff/ff-autocenter-help.pd b/ff/ff-autocenter-help.pd index 323afd8..91e9f7e 100644 --- a/ff/ff-autocenter-help.pd +++ b/ff/ff-autocenter-help.pd @@ -1,9 +1,19 @@ -#N canvas 393 404 450 300 10; -#X text 30 34 sets the amount of "autocentering" of the force-feedback +#N canvas 205 279 460 360 10; +#X text 20 66 sets the amount of "autocentering" of the force-feedback joystick. Range is [0 \, 1]. 0 is no auto-centering; -#X msg 48 141 0.5; -#X obj 48 191 ff-autocenter 0 0; -#X text 29 69 creation arguments are the device number (starting at -0) and autocenter amount. This affects all effects for that device -; -#X connect 1 0 2 0; +#X floatatom 77 254 5 0 0 0 - - -; +#X obj 80 226 hsl 225 17 0 1 0 0 empty empty auto-center 25 9 1 12 +-261689 -1 -1 0 0; +#X text 19 149 This is affected by the overall gain \, which can be +controlled used [ff-gain].; +#X obj 4 4 cnv 15 450 30 empty empty [ff-autocenter] 4 12 1 18 -261689 +-1 0; +#X text 19 102 creation arguments are device number (i.e. 0 for /dev/input/event0) +and autocenter amount. This effects all effects for that device; +#X obj 77 277 ff-autocenter 0 0; +#X obj 303 323 all_about_haptics; +#X text 190 325 For more info:; +#X msg 77 197 0.5; +#X connect 1 0 6 0; +#X connect 2 0 1 0; +#X connect 9 0 2 0; diff --git a/ff/ff-constant-help.pd b/ff/ff-constant-help.pd index 48a8fb7..3a06f2b 100644 --- a/ff/ff-constant-help.pd +++ b/ff/ff-constant-help.pd @@ -1,39 +1,108 @@ -#N canvas 161 237 742 413 10; -#X msg 68 150 bang; -#X msg 44 213 stop; -#X floatatom 301 269 5 0 0 0 - - -; -#X floatatom 187 214 5 0 0 0 - - -; -#X text 185 196 direction in degrees; -#X floatatom 244 249 5 0 0 0 - - -; -#X text 340 264 level \, range = [-1 \, 1]; -#X text 7 130 start the effect; -#X text 12 146 with a; -#X msg 131 77 delay 250; -#X msg 131 48 interval 500; -#X text 229 79 delay before starting; -#X text 229 50 minimum time between triggers; -#X obj 131 290 ff-constant 0 45 1000 0.5; -#X text 107 314 arguments are inputdevice-number \, direction \, duration -and level; -#X msg 131 151 load; -#X msg 131 175 unload; -#X text 191 150 a load message \, uploads an effect to the stick; -#X text 190 175 an unload message \, removes it; -#X text 303 110 startlevel attack-duration (ms) endlevel decay-duration +#N canvas 284 83 862 620 10; +#X msg 104 432 bang; +#X msg 68 521 stop; +#X text 383 323 startlevel attack-duration endlevel decay-duration ; -#X msg 131 112 envelope 0 500 0.5 100; -#X text 300 125 levels are in the range [0 \, 1].; -#X text 109 352 the outlet gives the effect number on the device or +#X text 416 438 direction in degrees; +#X text 464 478 duration in ms \, 0 is infinite; +#X text 525 524 level \, range = [-1 \, 1]; +#X text 39 417 start the effect; +#X text 44 433 with a; +#X text 224 150 delay before starting; +#X text 122 75 minimum time between triggers; +#X msg 232 329 envelope 0 100 0 100; +#X obj 218 555 ff-constant 0 0 500 0.5; +#X obj 476 502 hsl 190 17 -1 1 0 0 empty empty level 5 9 1 9 -261689 +-1 -1 0 0; +#X obj 367 418 hsl 175 17 0 360 0 1 empty empty direction 5 9 1 9 -262131 +-1 -1 1900 0; +#X obj 418 458 hsl 235 17 0 5000 0 0 empty empty duration 5 9 1 9 -261681 +-1 -1 0 0; +#X text 385 336 levels are in the range [-1 \, 1]; +#X obj 35 49 hsl 290 17 1 5000 0 1 empty empty interval 25 9 1 12 -225271 +-1 -1 2890 0; +#X msg 32 86 interval \$1; +#X msg 143 154 delay \$1; +#X obj 146 118 hsl 230 17 0 5000 0 1 empty empty delay 25 9 1 12 -228992 +-1 -1 1145 0; +#X obj 100 487 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 68 487 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 +-1; +#X obj 364 438 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 39.3103 256; +#X obj 415 480 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 473 524 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 143 138 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 250 256; +#X obj 32 69 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 500.9 256; +#X text 239 13 -- control a force-feedback constant force effect; +#X msg 218 307 envelope \$1 \$2 \$3 \$4; +#X obj 348 228 hsl 200 17 0 1 0 1 empty empty end_level 25 8 1 12 -261689 +-1 -1 0 0; +#X obj 221 186 hsl 200 17 0 1 0 1 empty empty start_level 25 8 1 12 +-261689 -1 -1 11200 0; +#X obj 218 269 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0.562814 256; +#X obj 218 286 pack float float float float; +#X obj 345 269 nbx 3 14 -1e+37 1e+37 0 0 pack_bang_env empty empty +0 -6 129 10 -233017 -1 -1 0 256; +#X obj 281 269 nbx 6 14 -1e+37 1e+37 0 0 pack_bang_env empty empty +0 -6 129 10 -233017 -1 -1 0 256; +#X obj 409 269 nbx 6 14 -1e+37 1e+37 0 0 pack_bang_env empty empty +0 -6 129 10 -233017 -1 -1 0 256; +#X obj 284 207 hsl 235 17 5 5000 1 0 empty empty attack_duration 25 +9 1 12 -261681 -1 -1 0 0; +#X obj 412 249 hsl 235 17 5 5000 1 0 empty empty decay_duration 25 +9 1 12 -261681 -1 -1 0 0; +#X obj 198 269 bng 15 250 50 0 empty pack_bang_env empty 0 -6 64 8 +-262144 -1 -1; +#X obj 3 3 cnv 15 850 30 empty empty [ff-constant] 15 15 1 18 -262131 +-1 0; +#X obj 642 111 all_about_haptics; +#X text 530 110 For more info:; +#X text 394 556 <-- arguments are: device# direction duration level +; +#X text 258 578 the outlet gives the effect number on the device or -1 if it is not loaded.; -#X text 241 221 duration in ms \, 0 is infinite \, this includes the -attack/decay times; -#X connect 0 0 13 0; -#X connect 1 0 13 0; -#X connect 2 0 13 3; -#X connect 3 0 13 1; -#X connect 5 0 13 2; -#X connect 9 0 13 0; -#X connect 10 0 13 0; -#X connect 15 0 13 0; -#X connect 16 0 13 0; -#X connect 20 0 13 0; +#X floatatom 218 584 5 0 0 0 - - -; +#X msg 276 364 load; +#X msg 276 386 unload; +#X text 336 363 a load message \, uploads an effect to the stick; +#X text 335 386 an unload message \, removes it; +#X text 420 58 [ff-constant] sets up a constant force in one direction. +; +#X connect 0 0 11 0; +#X connect 1 0 11 0; +#X connect 10 0 11 0; +#X connect 11 0 44 0; +#X connect 12 0 24 0; +#X connect 13 0 22 0; +#X connect 14 0 23 0; +#X connect 16 0 26 0; +#X connect 17 0 11 0; +#X connect 18 0 11 0; +#X connect 19 0 25 0; +#X connect 20 0 11 0; +#X connect 21 0 1 0; +#X connect 22 0 11 1; +#X connect 23 0 11 2; +#X connect 24 0 11 3; +#X connect 25 0 18 0; +#X connect 26 0 17 0; +#X connect 28 0 11 0; +#X connect 29 0 33 0; +#X connect 30 0 31 0; +#X connect 31 0 32 0; +#X connect 32 0 28 0; +#X connect 33 0 32 2; +#X connect 34 0 32 1; +#X connect 35 0 32 3; +#X connect 36 0 34 0; +#X connect 37 0 35 0; +#X connect 38 0 32 0; +#X connect 45 0 11 0; +#X connect 46 0 11 0; diff --git a/ff/ff-friction-help.pd b/ff/ff-friction-help.pd new file mode 100644 index 0000000..e7b20f3 --- /dev/null +++ b/ff/ff-friction-help.pd @@ -0,0 +1,154 @@ +#N canvas 335 29 859 661 10; +#X text 334 195 coefficients that determine how fast; +#X text 334 207 the effect increases in that direction; +#X text 334 218 range = [-1 \, 1]; +#X text 349 301 width of the dead-zone \, where there is no effect +; +#X text 349 326 range is (like the joystick output) [-32768 \, 32767] +; +#X text 350 312 one for each axis; +#X text 356 424 position of the dead-zone in the joystick range; +#X text 356 436 one for each axis; +#X text 356 448 range is also [-32768 \, 32767]; +#X text 366 526 duration in ms \, 0 is infinite; +#X text 531 555 levels \, range = [0 \, 1]; +#X text 398 74 these effects set up 2 axis (x and y) and you specify +the parameters for each direction.; +#X obj 474 556 hsl 40 15 0 1 0 0 empty empty down 5 8 1 11 -261689 +-1 -1 0 0; +#X obj 420 556 hsl 40 15 0 1 0 0 empty empty up 5 8 1 11 -261689 -1 +-1 0 0; +#X obj 367 556 hsl 40 15 0 1 0 0 empty empty left 5 8 1 11 -261689 +-1 -1 0 0; +#X obj 313 556 hsl 40 15 0 1 0 0 empty empty right 5 8 1 11 -261689 +-1 -1 0 0; +#X msg 260 483 center-y \$1; +#X msg 255 429 center-x \$1; +#X obj 263 450 hsl 75 15 -32767 32767 0 1 empty empty center-x 5 8 +1 11 -228992 -1 -1 5958 0; +#X obj 258 396 hsl 75 15 -32767 32767 0 1 empty empty center-x 5 8 +1 11 -228992 -1 -1 3700 0; +#X obj 248 340 hsl 75 15 -32767 32767 0 1 empty empty deadband-y 5 +8 1 11 -225280 -1 -1 3734 0; +#X msg 245 373 deadband-y \$1; +#X msg 242 317 deadband-x \$1; +#X obj 245 284 hsl 75 15 -32767 32767 0 1 empty empty deadband-x 5 +8 1 11 -225280 -1 -1 3836 0; +#X msg 226 258 down-coeff \$1; +#X obj 229 225 hsl 90 15 -1 1 0 1 empty empty down-coeff 5 8 1 11 -257472 +-1 -1 0 0; +#X obj 223 170 hsl 90 15 -1 1 0 1 empty empty up-coeff 5 7 1 11 -257472 +-1 -1 1335 0; +#X obj 120 225 hsl 90 15 -1 1 0 0 empty empty left-coeff 5 7 1 11 -257472 +-1 -1 0 0; +#X obj 103 170 hsl 90 15 -1 1 0 1 empty empty right-coeff 5 7 1 10 +-257472 -1 -1 8900 0; +#X msg 220 203 up-coeff \$1; +#X msg 117 258 left-coeff \$1; +#X msg 100 203 right-coeff \$1; +#X obj 471 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 417 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 364 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 310 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 312 505 hsl 245 17 0 5000 0 0 empty empty duration 25 9 1 12 +-261681 -1 -1 0 0; +#X obj 309 527 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X text 213 14 -- control force-feedback friction effect; +#X obj 195 599 ff-friction 1 2000 0.5 0.5 0 0.1; +#X msg 93 503 bang; +#X msg 84 582 stop; +#X text 32 483 start the effect; +#X text 37 499 with a; +#X obj 85 533 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 53 533 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 +-1; +#X text 141 140 delay before starting; +#X text 111 69 minimum time between triggers; +#X obj 24 43 hsl 290 17 0 5000 0 1 empty empty interval 25 9 1 12 -225271 +-1 -1 2890 0; +#X msg 21 80 interval \$1; +#X msg 60 144 delay \$1; +#X obj 63 108 hsl 230 17 0 5000 0 1 empty empty delay 25 9 1 12 -228992 +-1 -1 1145 0; +#X obj 60 128 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 250 256; +#X obj 21 63 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 500 256; +#X obj 100 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 1 256; +#X obj 117 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 226 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 -1 256; +#X obj 220 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 -0.7 256; +#X obj 242 301 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 1204.41 256; +#X obj 245 357 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 301.102 256; +#X obj 255 413 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 260 467 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 19996.7 256; +#X obj 3 3 cnv 15 850 30 empty empty [ff-friction] 15 15 1 18 -257472 +-1 0; +#X obj 568 135 all_about_haptics; +#X text 456 134 For more info:; +#X text 428 599 arguments are: device# duration right- left- up- down-level +; +#X text 238 619 the outlet gives the effect number on the device or +-1 if it is not loaded.; +#X floatatom 195 624 5 0 0 0 - - -; +#X text 397 58 [ff-friction] is a "conditional effect".; +#X text 396 110 [ff-spring] has the same methods; +#X connect 12 0 32 0; +#X connect 13 0 33 0; +#X connect 14 0 34 0; +#X connect 15 0 35 0; +#X connect 16 0 39 0; +#X connect 17 0 39 0; +#X connect 18 0 61 0; +#X connect 19 0 60 0; +#X connect 20 0 59 0; +#X connect 21 0 39 0; +#X connect 22 0 39 0; +#X connect 23 0 58 0; +#X connect 24 0 39 0; +#X connect 25 0 56 0; +#X connect 26 0 57 0; +#X connect 27 0 55 0; +#X connect 28 0 54 0; +#X connect 29 0 39 0; +#X connect 30 0 39 0; +#X connect 31 0 39 0; +#X connect 32 0 39 5; +#X connect 33 0 39 4; +#X connect 34 0 39 3; +#X connect 35 0 39 2; +#X connect 36 0 37 0; +#X connect 37 0 39 1; +#X connect 39 0 67 0; +#X connect 40 0 39 0; +#X connect 41 0 39 0; +#X connect 44 0 39 0; +#X connect 45 0 41 0; +#X connect 48 0 53 0; +#X connect 49 0 39 0; +#X connect 50 0 39 0; +#X connect 51 0 52 0; +#X connect 52 0 50 0; +#X connect 53 0 49 0; +#X connect 54 0 31 0; +#X connect 55 0 30 0; +#X connect 56 0 24 0; +#X connect 57 0 29 0; +#X connect 58 0 22 0; +#X connect 59 0 21 0; +#X connect 60 0 17 0; +#X connect 61 0 16 0; diff --git a/ff/ff-gain-help.pd b/ff/ff-gain-help.pd index 94b1008..e82e005 100644 --- a/ff/ff-gain-help.pd +++ b/ff/ff-gain-help.pd @@ -1,8 +1,17 @@ -#N canvas 0 0 450 300 10; -#X text 26 62 sets the overall gain [0 \, 1] of the force-feedback +#N canvas 607 32 460 364 10; +#X floatatom 123 231 5 0 0 0 - - -; +#X obj 126 205 hsl 195 17 0 1 0 0 empty empty gain 25 8 1 12 -261689 +-1 -1 17460 0; +#X obj 3 3 cnv 15 450 30 empty empty [ff-gain] 4 12 1 18 -261689 -1 +0; +#X obj 123 254 ff-gain 0 0.5; +#X obj 320 326 all_about_haptics; +#X text 214 326 For more info:; +#X msg 123 178 0.9; +#X text 24 102 Creation arguments are device number (i.e. 0 for /dev/input/event0) +and gain. This affects all effects for that device.; +#X text 24 64 Sets the overall gain \, between 0 and 1 \, of the force-feedback joystick on the device.; -#X msg 74 182 0.3; -#X obj 74 222 ff-gain 0 0.5; -#X text 24 105 creation arguments are the device-number (starting at -0) and gain. This effects all effects for that device; -#X connect 1 0 2 0; +#X connect 0 0 3 0; +#X connect 1 0 0 0; +#X connect 6 0 1 0; diff --git a/ff/ff-periodic-help.pd b/ff/ff-periodic-help.pd index f280692..52a833b 100644 --- a/ff/ff-periodic-help.pd +++ b/ff/ff-periodic-help.pd @@ -1,44 +1,148 @@ -#N canvas 155 183 711 418 10; -#X msg 27 211 bang; -#X msg 3 274 stop; -#X floatatom 340 294 5 0 0 0 - - -; -#X msg 87 12 waveform sine; -#X msg 87 35 period 400; -#X msg 87 86 phase 90; -#X msg 87 60 offset 0.25; -#X text 192 13 square|sine|triangle|saw_up|saw_down; -#X text 192 35 period time in ms (defaults 1000 ms); -#X text 194 59 waveform offset from center [-1 \, 1] (defaults 0=centered) +#N canvas 289 81 857 641 10; +#X msg 65 474 bang; +#X msg 66 556 stop; +#X msg 459 386 envelope 0 100 0 100; +#X text 85 71 period time in ms (defaults 1000 ms); +#X text 477 407 startlevel attack-duration endlevel decay-duration ; -#X floatatom 169 234 5 0 0 0 - - -; -#X text 164 210 direction in degrees; -#X floatatom 257 263 5 0 0 0 - - -; -#X text 338 274 level \, range = [-1 \, 1]; -#X text 255 89 waveform phase in degrees; -#X text -34 191 start the effect; -#X text -29 207 with a; -#X msg 87 139 delay 250; -#X msg 87 113 interval 500; -#X text 255 143 delay before starting; -#X text 257 114 minimum time between triggers; -#X obj 87 329 ff-periodic 0 0 0 0.5; -#X text 90 354 arguments are device-number \, duration and level; -#X msg 87 168 envelope 0 1000 0 100; -#X text 259 160 startlevel attack-duration endlevel decay-duration -levels or in the range [0 \, 1]; -#X text 254 226 duration in ms \, 0 is infinite \, this includes the -attack/decay times; -#X text 90 370 the outlet gives the effect number on the device or +#X text 188 204 waveform phase in degrees; +#X text 10 458 start the effect; +#X text 15 474 with a; +#X obj 319 573 ff-periodic 1 0 0 0.5; +#X text 505 473 direction in degrees; +#X text 547 511 duration in ms \, 0 is infinite; +#X text 625 554 level \, range = [-1 \, 1]; +#X obj 576 532 hsl 190 17 -1 1 0 0 empty empty level 25 9 1 12 -261689 +-1 -1 0 0; +#X obj 456 453 hsl 175 17 0 360 0 0 empty empty direction 25 9 1 12 +-262131 -1 -1 0 0; +#X obj 491 491 hsl 245 17 0 5000 0 0 empty empty duration 25 9 1 12 +-261681 -1 -1 0 0; +#X obj 453 473 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 488 513 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 573 554 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X text 250 12 -- control a force-feedback periodic force effect; +#X obj 67 507 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 35 507 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 +-1; +#X text 228 272 delay before starting; +#X obj 216 316 hsl 200 17 0 5000 0 1 empty empty interval 25 9 1 12 +-225271 -1 -1 2000 0; +#X msg 213 353 interval \$1; +#X msg 175 289 delay \$1; +#X obj 178 253 hsl 200 17 0 5000 0 1 empty empty delay 25 9 1 12 -228992 +-1 -1 1000 0; +#X obj 175 273 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 251.256 256; +#X obj 213 336 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 502.513 256; +#X msg 134 223 phase \$1; +#X obj 137 184 hsl 220 17 0 360 0 1 empty empty phase 25 9 1 12 -257472 +-1 -1 5500 0; +#X obj 134 205 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 90.411 256; +#X msg 90 157 offset \$1; +#X obj 93 117 hsl 220 17 -1 1 0 1 empty empty offset 25 9 1 12 -225280 +-1 -1 13700 0; +#X obj 90 139 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0.251142 256; +#X msg 30 92 period \$1; +#X obj 33 51 hsl 300 17 2 2000 1 1 empty empty period 25 9 1 12 -261681 +-1 -1 22900 0; +#X obj 30 73 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 396.907 256; +#X msg 85 429 waveform \$1; +#X msg 40 262 square; +#X msg 51 282 sine; +#X msg 61 302 triangle; +#X msg 70 322 saw_up; +#X msg 77 342 saw_down; +#X obj 85 375 symbol; +#X text 8 244 waveform shape; +#X symbolatom 85 408 9 0 0 0 current: - -; +#X msg 459 354 envelope \$1 \$2 \$3 \$4; +#X obj 589 275 hsl 150 17 0 1 0 0 empty empty end_level 25 8 1 12 -261689 +-1 -1 0 0; +#X obj 462 233 hsl 150 17 0 1 0 0 empty empty start_level 25 8 1 12 +-261689 -1 -1 0 0; +#X obj 459 316 nbx 3 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 459 333 pack float float float float; +#X obj 586 316 nbx 3 14 -1e+37 1e+37 0 0 pack_bang_env empty empty +0 -6 129 10 -233017 -1 -1 0 256; +#X obj 522 316 nbx 6 14 -1e+37 1e+37 0 0 pack_bang_env empty empty +0 -6 129 10 -233017 -1 -1 1027.59 256; +#X obj 650 316 nbx 6 14 -1e+37 1e+37 0 0 pack_bang_env empty empty +0 -6 129 10 -233017 -1 -1 101.445 256; +#X obj 525 254 hsl 180 17 5 5000 1 1 empty empty attack_duration 25 +9 1 12 -261681 -1 -1 13800 0; +#X obj 653 296 hsl 180 17 5 5000 1 1 empty empty decay_duration 25 +9 1 12 -261681 -1 -1 7800 0; +#X obj 440 316 bng 15 250 50 0 empty pack_bang_env empty 0 -6 64 8 +-262144 -1 -1; +#X obj 3 2 cnv 15 850 30 empty empty [ff-periodic] 15 15 1 18 -261681 +-1 0; +#X text 480 573 <-- arguments are: device# direction duration level +; +#X text 360 596 the outlet gives the effect number on the device or -1 if it is not loaded.; -#X connect 0 0 21 0; -#X connect 1 0 21 0; -#X connect 2 0 21 3; -#X connect 3 0 21 0; -#X connect 4 0 21 0; -#X connect 5 0 21 0; -#X connect 6 0 21 0; -#X connect 10 0 21 1; -#X connect 12 0 21 2; -#X connect 17 0 21 0; -#X connect 18 0 21 0; -#X connect 23 0 21 0; +#X floatatom 319 603 5 0 0 0 - - -; +#X text 554 107 For more info:; +#X obj 663 106 all_about_haptics; +#X text 300 335 minimum time; +#X text 300 350 between triggers; +#X text 422 56 [ff-periodic] generates a periodic force \, basically +a waveform that can be a pulsing or a vibration depending on the "period". +; +#X text 145 139 waveform offset from center [-1 \, 1]; +#X text 199 155 (defaults 0=centered); +#X connect 0 0 8 0; +#X connect 1 0 8 0; +#X connect 2 0 8 0; +#X connect 8 0 60 0; +#X connect 12 0 17 0; +#X connect 13 0 15 0; +#X connect 14 0 16 0; +#X connect 15 0 8 1; +#X connect 16 0 8 2; +#X connect 17 0 8 3; +#X connect 19 0 8 0; +#X connect 20 0 1 0; +#X connect 22 0 27 0; +#X connect 23 0 8 0; +#X connect 24 0 8 0; +#X connect 25 0 26 0; +#X connect 26 0 24 0; +#X connect 27 0 23 0; +#X connect 28 0 8 0; +#X connect 29 0 30 0; +#X connect 30 0 28 0; +#X connect 31 0 8 0; +#X connect 32 0 33 0; +#X connect 33 0 31 0; +#X connect 34 0 8 0; +#X connect 35 0 36 0; +#X connect 36 0 34 0; +#X connect 37 0 8 0; +#X connect 38 0 43 0; +#X connect 39 0 43 0; +#X connect 40 0 43 0; +#X connect 41 0 43 0; +#X connect 42 0 43 0; +#X connect 43 0 45 0; +#X connect 45 0 37 0; +#X connect 46 0 8 0; +#X connect 47 0 51 0; +#X connect 48 0 49 0; +#X connect 49 0 50 0; +#X connect 50 0 46 0; +#X connect 51 0 50 2; +#X connect 52 0 50 1; +#X connect 53 0 50 3; +#X connect 54 0 52 0; +#X connect 55 0 53 0; +#X connect 56 0 50 0; diff --git a/ff/ff-spring-help.pd b/ff/ff-spring-help.pd index 980ff2c..7e82ea6 100644 --- a/ff/ff-spring-help.pd +++ b/ff/ff-spring-help.pd @@ -1,65 +1,154 @@ -#N canvas 173 83 685 588 10; -#X msg 46 262 bang; -#X msg 102 261 stop; -#X text 39 242 with a; -#X msg 141 129 delay 250; -#X msg 141 104 interval 500; -#X text 275 130 delay before starting; -#X text 239 104 minimum time between triggers; -#X text 292 192 coefficients that determine how fast; -#X text 292 204 the effect increases in that direction; -#X text 292 215 range = [-1 \, 1]; -#X text 261 279 width of the dead-zone \, where there is no effect +#N canvas 335 29 859 661 10; +#X text 334 195 coefficients that determine how fast; +#X text 334 207 the effect increases in that direction; +#X text 334 218 range = [-1 \, 1]; +#X text 349 301 width of the dead-zone \, where there is no effect ; -#X text 261 303 range is (like the joystick output) [-32768 \, 32767] +#X text 349 326 range is (like the joystick output) [-32768 \, 32767] ; -#X text 262 290 one for each axis; -#X text 262 332 position of the dead-zone in the joystick range; -#X text 262 344 one for each axis; -#X text 262 356 range is also [-32768 \, 32767]; -#X floatatom 204 411 5 0 0 0 - - -; -#X floatatom 331 458 5 0 0 0 - - -; -#X floatatom 267 458 5 0 0 0 - - -; -#X text 200 388 duration in ms \, 0 is infinite; -#X floatatom 394 458 5 0 0 0 - - -; -#X floatatom 458 461 5 0 0 0 - - -; -#X text 267 422 levels \, range = [0 \, 1]; -#X text 266 439 right; -#X text 332 438 left; -#X text 392 438 up; -#X text 458 439 down; -#X text 34 229 start; -#X text 4 79 ff-friction has the same methods; -#X text 5 33 ff-spring is a "conditional effect".; -#X obj 141 484 ff-spring 0 2000 0.5 0.5 0 0.1; -#X text 141 507 creation arguments are device-number \, duration right- -\, left- \, up- and down-level; -#X msg 141 281 deadband-x 1200; -#X msg 141 306 deadband-y 300; -#X msg 141 335 center-x 0; -#X msg 141 358 center-y 20000; -#X msg 141 195 left-coeff 1; -#X msg 141 173 right-coeff 1; -#X msg 141 219 up-coeff -0.7; -#X msg 141 242 down-coeff -1; -#X text 6 49 these effects set up 2 axes (x and y) and you specify +#X text 350 312 one for each axis; +#X text 356 424 position of the dead-zone in the joystick range; +#X text 356 436 one for each axis; +#X text 356 448 range is also [-32768 \, 32767]; +#X text 366 526 duration in ms \, 0 is infinite; +#X text 531 555 levels \, range = [0 \, 1]; +#X text 398 74 these effects set up 2 axis (x and y) and you specify the parameters for each direction.; -#X text 139 540 the outlet gives the effect number on the device or +#X obj 474 556 hsl 40 15 0 1 0 0 empty empty down 5 8 1 11 -261689 +-1 -1 0 0; +#X obj 420 556 hsl 40 15 0 1 0 0 empty empty up 5 8 1 11 -261689 -1 +-1 0 0; +#X obj 367 556 hsl 40 15 0 1 0 0 empty empty left 5 8 1 11 -261689 +-1 -1 0 0; +#X obj 313 556 hsl 40 15 0 1 0 0 empty empty right 5 8 1 11 -261689 +-1 -1 0 0; +#X msg 260 483 center-y \$1; +#X msg 255 429 center-x \$1; +#X obj 263 450 hsl 75 15 -32767 32767 0 1 empty empty center-x 5 8 +1 11 -228992 -1 -1 5958 0; +#X obj 258 396 hsl 75 15 -32767 32767 0 1 empty empty center-x 5 8 +1 11 -228992 -1 -1 3700 0; +#X obj 248 340 hsl 75 15 -32767 32767 0 1 empty empty deadband-y 5 +8 1 11 -225280 -1 -1 3734 0; +#X msg 245 373 deadband-y \$1; +#X msg 242 317 deadband-x \$1; +#X obj 245 284 hsl 75 15 -32767 32767 0 1 empty empty deadband-x 5 +8 1 11 -225280 -1 -1 3836 0; +#X msg 226 258 down-coeff \$1; +#X obj 229 225 hsl 90 15 -1 1 0 1 empty empty down-coeff 5 8 1 11 -257472 +-1 -1 0 0; +#X obj 223 170 hsl 90 15 -1 1 0 1 empty empty up-coeff 5 7 1 11 -257472 +-1 -1 1335 0; +#X obj 120 225 hsl 90 15 -1 1 0 0 empty empty left-coeff 5 7 1 11 -257472 +-1 -1 8900 0; +#X obj 103 170 hsl 90 15 -1 1 0 1 empty empty right-coeff 5 7 1 10 +-257472 -1 -1 8900 0; +#X msg 220 203 up-coeff \$1; +#X msg 117 258 left-coeff \$1; +#X msg 100 203 right-coeff \$1; +#X obj 471 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 417 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 364 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 310 575 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 312 505 hsl 245 17 0 5000 0 0 empty empty duration 25 9 1 12 +-261681 -1 -1 0 0; +#X obj 309 527 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X text 213 14 -- control force-feedback spring effect; +#X obj 195 599 ff-spring 1 2000 0.5 0.5 0 0.1; +#X msg 93 503 bang; +#X msg 84 582 stop; +#X text 32 483 start the effect; +#X text 37 499 with a; +#X obj 85 533 bng 25 250 50 0 empty empty empty 0 -6 0 8 -24198 -1 +-1; +#X obj 53 533 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 +-1; +#X text 141 140 delay before starting; +#X text 111 69 minimum time between triggers; +#X obj 24 43 hsl 290 17 0 5000 0 1 empty empty interval 25 9 1 12 -225271 +-1 -1 2890 0; +#X msg 21 80 interval \$1; +#X msg 60 144 delay \$1; +#X obj 63 108 hsl 230 17 0 5000 0 1 empty empty delay 25 9 1 12 -228992 +-1 -1 1145 0; +#X obj 60 128 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 250 256; +#X obj 21 63 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 500 256; +#X obj 100 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 1 256; +#X obj 117 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 1 256; +#X obj 226 242 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 -1 256; +#X obj 220 187 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 -0.7 256; +#X obj 242 301 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 1204.41 256; +#X obj 245 357 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 301.102 256; +#X obj 255 413 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 0 256; +#X obj 260 467 nbx 6 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 1 10 +-233017 -1 -1 19996.7 256; +#X obj 3 3 cnv 15 850 30 empty empty [ff-spring] 15 15 1 18 -257472 +-1 0; +#X obj 568 135 all_about_haptics; +#X text 456 134 For more info:; +#X text 415 599 arguments are: device# duration right- left- up- down-level +; +#X text 238 619 the outlet gives the effect number on the device or -1 if it is not loaded.; -#X connect 0 0 30 0; -#X connect 1 0 30 0; -#X connect 3 0 30 0; -#X connect 4 0 30 0; -#X connect 16 0 30 1; -#X connect 17 0 30 3; -#X connect 18 0 30 2; -#X connect 20 0 30 4; -#X connect 21 0 30 5; -#X connect 32 0 30 0; -#X connect 33 0 30 0; -#X connect 34 0 30 0; -#X connect 35 0 30 0; -#X connect 36 0 30 0; -#X connect 37 0 30 0; -#X connect 38 0 30 0; -#X connect 39 0 30 0; +#X floatatom 195 624 5 0 0 0 - - -; +#X text 397 58 [ff-spring] is a "conditional effect".; +#X text 396 110 [ff-friction] has the same methods; +#X connect 12 0 32 0; +#X connect 13 0 33 0; +#X connect 14 0 34 0; +#X connect 15 0 35 0; +#X connect 16 0 39 0; +#X connect 17 0 39 0; +#X connect 18 0 61 0; +#X connect 19 0 60 0; +#X connect 20 0 59 0; +#X connect 21 0 39 0; +#X connect 22 0 39 0; +#X connect 23 0 58 0; +#X connect 24 0 39 0; +#X connect 25 0 56 0; +#X connect 26 0 57 0; +#X connect 27 0 55 0; +#X connect 28 0 54 0; +#X connect 29 0 39 0; +#X connect 30 0 39 0; +#X connect 31 0 39 0; +#X connect 32 0 39 5; +#X connect 33 0 39 4; +#X connect 34 0 39 3; +#X connect 35 0 39 2; +#X connect 36 0 37 0; +#X connect 37 0 39 1; +#X connect 39 0 67 0; +#X connect 40 0 39 0; +#X connect 41 0 39 0; +#X connect 44 0 39 0; +#X connect 45 0 41 0; +#X connect 48 0 53 0; +#X connect 49 0 39 0; +#X connect 50 0 39 0; +#X connect 51 0 52 0; +#X connect 52 0 50 0; +#X connect 53 0 49 0; +#X connect 54 0 31 0; +#X connect 55 0 30 0; +#X connect 56 0 24 0; +#X connect 57 0 29 0; +#X connect 58 0 22 0; +#X connect 59 0 21 0; +#X connect 60 0 17 0; +#X connect 61 0 16 0; -- cgit v1.2.1