From 0ab155ef5d5fff4208fccd31819723d669172dab Mon Sep 17 00:00:00 2001 From: Ivica Ico Bukvic <ico@vt.edu> Date: Fri, 22 Nov 2013 19:22:15 -0500 Subject: [PATCH] added updated help files for pdinfo, classinfo, and canvasinfo (by Jonathan Wilkes), merged patch by Jonathan Wilkes for the search-plugin.tcl with additional enhancements for tab/focus. --- pd/doc/5.reference/canvasinfo-help.pd | 271 +++++++++++++++++++++----- pd/doc/5.reference/classinfo-help.pd | 111 +++++++++++ pd/doc/5.reference/classinfo.pd | 13 -- pd/doc/5.reference/pdinfo-help.pd | 172 ++++++++++++++-- pd/src/search-plugin.tcl | 32 ++- 5 files changed, 512 insertions(+), 87 deletions(-) create mode 100644 pd/doc/5.reference/classinfo-help.pd delete mode 100644 pd/doc/5.reference/classinfo.pd diff --git a/pd/doc/5.reference/canvasinfo-help.pd b/pd/doc/5.reference/canvasinfo-help.pd index 688683ded..58202f6ca 100644 --- a/pd/doc/5.reference/canvasinfo-help.pd +++ b/pd/doc/5.reference/canvasinfo-help.pd @@ -1,54 +1,217 @@ -#N canvas 275 179 549 358 10; -#N canvas 530 268 625 300 foo 0; -#X obj 42 195 canvasinfo; -#X text 124 195 get information about the properties of a canvas; -#X msg 42 17 bang; -#X text 79 17 print all properties and values to the console; -#X msg 58 40 editmode; -#X obj 42 215 print output; -#X text 119 40 send an anything to retrieve a property's value; -#X floatatom 99 173 5 0 0 0 - - -; -#X text 138 172 set the parent level to get properties from a parent -canvas; -#X symbolatom 76 91 10 0 0 0 - - -; -#X text 184 80 or use a symbol; -#X msg 87 145 dollarzero 1; -#X msg 87 117 list dollarzero 1; -#X text 207 117 or use a list to set parent level as well; -#X text 177 145 or even an anything to do the same \, like [pack]; -#X msg 69 65 symbol editmode; -#X connect 0 0 5 0; -#X connect 2 0 0 0; -#X connect 4 0 0 0; -#X connect 7 0 0 1; -#X connect 9 0 0 0; -#X connect 11 0 0 0; -#X connect 12 0 0 0; -#X connect 15 0 0 0; -#X restore 243 256 pd foo bar; -#X obj 338 256 demo-abs foo bar bee; -#X obj 62 225 canvasinfo; -#X text 144 225 get information about the properties of a canvas; -#X msg 62 47 bang; -#X text 99 47 print all properties and values to the console; -#X msg 78 70 editmode; -#X obj 62 245 print output; -#X text 139 70 send an anything to retrieve a property's value; -#X floatatom 119 203 5 0 0 0 - - -; -#X text 158 202 set the parent level to get properties from a parent -canvas; -#X symbolatom 96 121 10 0 0 0 - - -; -#X text 204 110 or use a symbol; -#X msg 107 175 dollarzero 1; -#X msg 107 147 list dollarzero 1; -#X text 227 147 or use a list to set parent level as well; -#X text 197 175 or even an anything to do the same \, like [pack]; -#X msg 89 95 symbol editmode; -#X connect 2 0 7 0; -#X connect 4 0 2 0; -#X connect 6 0 2 0; -#X connect 9 0 2 1; -#X connect 11 0 2 0; -#X connect 13 0 2 0; -#X connect 14 0 2 0; -#X connect 17 0 2 0; +#N canvas 0 19 555 619 10; +#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 +14 -228856 -66577 0; +#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header canvasinfo 3 12 +0 18 -204280 -1 0; +#X obj 0 431 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13 +-228856 -1 0; +#N canvas 48 165 482 332 META 0; +#X text 12 145 LIBRARY internal; +#X text 12 25 LICENSE SIBSD; +#X text 12 105 INLET_1 float; +#X text 12 5 KEYWORDS patch_op canvas_op; +#X text 12 45 DESCRIPTION get info about a canvas; +#X text 12 65 INLET_0 args boxtext coords dir dirty dollarzero editmode +filename hitbox name pointer posonparent screenpos toplevel vis; +#X text 12 125 OUTLET_0 list; +#X text 12 165 AUTHOR Jonathan Wilkes; +#X text 12 185 RELEASE_DATE 2013; +#X text 12 205 HELP_PATCH_AUTHORS Jonathan Wilkes; +#X restore 500 597 pd META; +#X obj 0 494 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0 +13 -228856 -1 0; +#X obj 0 526 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12 +0 13 -228856 -1 0; +#X obj 0 563 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12 +0 13 -228856 -1 0; +#X obj 78 439 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#N canvas 196 385 428 108 Related_objects 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [canvasinfo] Related Objects; +#X restore 101 597 pd Related_objects; +#X obj 78 503 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide +; +#X msg 39 48 print; +#X text 80 47 print all attributes to the console; +#X text 98 438 print; +#X text 168 438 - print out each available message (other than "print") +followed by a semicolon and the output for that method.; +#X text 168 464 pdinfo's availabe methods are shown above \, with audio-device +and midi-device message in subpatches.; +#X text 99 503 list; +#X text 169 503 - output varies depending on the message sent to [pdinfo]. +; +#X obj 483 5 canvasinfo; +#X text 11 20 get info about a canvas; +#X obj 39 390 canvasinfo; +#X msg 69 68 args; +#X msg 75 89 boxtext; +#X msg 86 109 coords; +#X text 141 109 list of coords for an abstraction; +#X msg 94 131 dir; +#X msg 104 153 dirty; +#X text 143 152 whether this patch has been edited since the last time +it was saved (0 = no \, 1 = yes); +#X msg 108 180 dollarzero; +#X msg 117 203 editmode; +#X text 181 202 whether the canvas is in editmode (0 = no \, 1 = yes) +; +#X msg 123 223 filename; +#X msg 133 244 hitbox; +#X msg 138 265 name; +#X text 176 265 symbolic receive name for the canvas; +#X text 204 286 pointer to this canvas; +#X msg 148 286 pointer; +#X msg 155 308 posonparent; +#X msg 165 328 screenpos; +#X text 233 308 poson of a gop canvas on its parent canvas; +#X text 233 328 screen position of a visible canvas; +#X msg 175 368 vis; +#X text 203 368 whether a canvas is visible on the screen; +#X text 132 89 full text of the object box for an abstraction or subpatch +; +#X text 181 244 see whether a coordinate lies on an object in the canvas +; +#X text 123 130 directory for this canvas' environment; +#X text 178 180 value of \$0 for this canvas' environment; +#X text 185 223 filename for this canvas' environment; +#X obj 39 411 print; +#X msg 174 349 toplevel; +#X text 235 348 whether this canvas is a toplevel (0 = no \, 1 = yes) +; +#N canvas 196 140 428 435 canvas_environment 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 25 34 A canvas can take several forms:; +#X text 25 54 1) A toplevel patch (e.g. \, what you get when you create +a new patch).; +#X text 25 84 2) An abstraction \, or a Pd patch that has been instantiated +in an object box.; +#X text 25 114 3) A subpatch \, like [pd foo].; +#X text 25 144 Toplevel patches and abstractions come with an "environment" +that is inherited by all the [pd] subpatches contained within it.; +#X text 25 184 For example \, this subpatch inherits its "environment +from the canvasinfo-help.pd patch which contains it.; +#X text 25 224 What's included in a canvas' environment?; +#X obj 119 246 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X obj 119 266 f \$0; +#X floatatom 119 300 5 0 0 0 - - -, f 5; +#N canvas 433 184 450 300 another-subpatch 0; +#X msg 148 42 bang; +#X obj 128 63 f \$0; +#X floatatom 148 94 5 0 0 0 - - -, f 5; +#X text 185 95 <-- the value for \$0 is the same for; +#X text 185 109 all canvases in the same environment.; +#X obj 128 21 inlet; +#X obj 128 124 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 6 0; +#X connect 5 0 1 0; +#X restore 169 279 pd another-subpatch; +#X text 197 259 get the same \$0:; +#X text 25 379 * filename; +#X text 25 359 * directory; +#X text 25 244 * dollarzero:; +#X text 25 329 * args: dollarsign variables \$1 \, \$2 \, \$3 \, and +so on (if they exist); +#X text 7 1 [canvasinfo] What is a Canvas' Environment?; +#X text 197 244 So this subpatch will; +#X obj 169 246 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 169 300 5 0 0 0 - - -, f 5; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 11 0 20 0; +#X connect 19 0 11 0; +#X restore 101 573 pd canvas_environment; +#X text 111 68 list of dollarsign arguments for this canvas' environment +; +#N canvas 139 127 428 435 hitbox_and_coords 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [canvasinfo] hitbox and coords messages; +#X text 25 34 The "hitbox" message tells whether there's an object +on the canvas that includes the "x y" coordinates you send it:; +#X obj 25 89 canvasinfo; +#X msg 25 68 hitbox 50 75; +#X text 111 67 <-- the point (50 \, 75) is contained within; +#X text 134 83 the message box.; +#X obj 25 110 unpack s f f f f; +#X symbolatom 25 204 10 0 0 3 object - -, f 10; +#X floatatom 93 204 5 0 0 3 top-x - -, f 5; +#X floatatom 131 204 5 0 0 3 top-y - -, f 5; +#X floatatom 169 204 5 0 0 3 btm-x - -, f 5; +#X floatatom 207 203 5 0 0 3 btm-y - -, f 5; +#X text 197 104 If there is a "hit" \, [canvasinfo]; +#X text 197 134 followed by coordinates for the; +#X text 197 119 outputs the name of the object; +#X text 197 149 top-right and bottom-left of its; +#X text 197 164 bounding box.; +#X msg 25 257 coords; +#N canvas 433 184 450 300 gop-subpatch 0; +#X obj 31 32 inlet; +#X obj 31 53 canvasinfo; +#X obj 31 184 outlet; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X coords 0 -1 1 1 94 40 1 100 100; +#X restore 25 281 pd gop-subpatch; +#X obj 25 334 unpack f f f f f f f f f; +#X floatatom 25 375 5 0 0 3 x-min - -, f 5; +#X floatatom 65 375 5 0 0 3 y-min - -, f 5; +#X floatatom 105 375 5 0 0 3 x-max - -, f 5; +#X floatatom 145 375 5 0 0 3 y-max - -, f 5; +#X floatatom 185 375 5 0 0 3 width - -, f 5; +#X floatatom 225 375 5 0 0 3 height - -, f 5; +#X floatatom 270 375 5 0 0 3 gop - -, f 5; +#X floatatom 310 375 5 0 0 3 x-margin - -, f 5; +#X floatatom 365 375 5 0 0 3 y-margin - -, f 5; +#X text 82 257 The "coords" message returns info that is set in the +; +#X text 132 272 "Properties" dialog for gop dimensions \,; +#X text 132 287 data structure scaling \, and so on.; +#X connect 3 0 7 0; +#X connect 4 0 3 0; +#X connect 7 0 8 0; +#X connect 7 1 9 0; +#X connect 7 2 10 0; +#X connect 7 3 11 0; +#X connect 7 4 12 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 20 0 21 0; +#X connect 20 1 22 0; +#X connect 20 2 23 0; +#X connect 20 3 24 0; +#X connect 20 4 25 0; +#X connect 20 5 26 0; +#X connect 20 6 27 0; +#X connect 20 7 28 0; +#X connect 20 8 29 0; +#X restore 251 573 pd hitbox_and_coords; +#X text 81 541 1) float; +#X text 169 541 - canvas stacking level (0 = this canvas \, 1 = parent +\, etc.); +#X connect 11 0 20 0; +#X connect 20 0 48 0; +#X connect 21 0 20 0; +#X connect 22 0 20 0; +#X connect 23 0 20 0; +#X connect 25 0 20 0; +#X connect 26 0 20 0; +#X connect 28 0 20 0; +#X connect 29 0 20 0; +#X connect 31 0 20 0; +#X connect 32 0 20 0; +#X connect 33 0 20 0; +#X connect 36 0 20 0; +#X connect 37 0 20 0; +#X connect 38 0 20 0; +#X connect 41 0 20 0; +#X connect 49 0 20 0; diff --git a/pd/doc/5.reference/classinfo-help.pd b/pd/doc/5.reference/classinfo-help.pd new file mode 100644 index 000000000..972146fd5 --- /dev/null +++ b/pd/doc/5.reference/classinfo-help.pd @@ -0,0 +1,111 @@ +#N canvas 425 49 555 619 10; +#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 +14 -228856 -66577 0; +#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header classinfo 3 12 0 +18 -204280 -1 0; +#X obj 0 321 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13 +-228856 -1 0; +#N canvas 323 205 482 332 META 0; +#X text 12 145 LIBRARY internal; +#X text 12 25 LICENSE SIBSD; +#X text 12 105 OUTLET_0 list; +#X text 12 165 AUTHOR Jonathan Wilkes; +#X text 12 185 RELEASE_DATE 2013; +#X text 12 205 HELP_PATCH_AUTHORS Jonathan Wilkes; +#X text 12 5 KEYWORDS pd_op symbol_op; +#X text 12 45 DESCRIPTION get info about a class; +#X text 12 65 INLET_0 float args externdir methods print size; +#X text 12 85 INLET_1 symbol; +#X text 12 125 OUTLET_1 bang; +#X restore 500 597 pd META; +#X obj 0 494 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0 +13 -228856 -1 0; +#X obj 0 526 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12 +0 13 -228856 -1 0; +#X obj 0 563 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12 +0 13 -228856 -1 0; +#X obj 78 329 cnv 17 3 122 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#N canvas 196 385 428 108 Related_objects 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [classinfo] Related Objects; +#X restore 101 597 pd Related_objects; +#X obj 78 503 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide +; +#X msg 53 61 print; +#X text 94 60 print all attributes to the console; +#X text 98 358 print; +#X text 168 358 - print out each available message (other than "print") +followed by a semicolon and the output for that method.; +#X text 99 503 list; +#X text 169 503 - output varies depending on the message sent to [pdinfo]. +; +#X msg 83 81 args; +#X obj 53 264 print; +#X text 11 20 get info about a class; +#X obj 462 3 classinfo; +#X obj 140 264 print reject_outlet; +#X text 125 81 list of argument types accepted by the object; +#X msg 89 102 externdir; +#X text 156 102 directory where an external's executable is located +; +#X msg 100 122 methods; +#X text 155 122 total number of methods (not counting built-in methods) +; +#X msg 108 144 size; +#X text 146 143 size of the class in bytes; +#X obj 53 243 classinfo moses; +#X msg 140 187 symbol nonexistent_object; +#X text 295 276 todo: fix "print" method; +#X text 295 291 when class doesn't exist; +#X msg 153 210 symbol moses; +#X obj 78 459 cnv 17 3 30 empty \$0-pddp.cnv.let.1 1 5 9 0 16 -228856 +-162280 0; +#X text 98 458 symbol; +#X text 98 388 args; +#X text 168 388 - list of argument types accepted by the object; +#X text 98 408 externdir; +#X text 168 408 - directory where an external's executable is located +; +#X text 98 423 methods; +#X text 168 423 - total number of methods (not counting built-in methods) +; +#X text 98 438 size; +#X text 168 438 - size of the class \, in bytes; +#X text 98 328 float; +#X text 168 328 - method name and arguments for method entry at index +specified by the incoming number; +#X text 168 458 - name of a Pd class that is currently loaded; +#X text 169 541 - name of a Pd class that is currently loaded; +#N canvas 196 140 428 235 arg_types 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [classinfo] Argument types; +#X text 25 34 Argument types for the class \, as well as its methods +\, are as follows:; +#X text 25 64 A_FLOAT: a required float argument; +#X text 25 84 A_SYMBOL: a required symbol argument; +#X text 25 104 A_DEFFLOAT: optional float argument (defaults to zero) +; +#X text 25 124 A_DEFSYM: optional symbol argument (defaults to empty +symbol); +#X text 25 154 A_GIMME: optional \, arbitrary-length list of atoms +as an argument; +#X restore 101 573 pd arg_types; +#X text 81 541 1) symbol; +#X floatatom 96 210 5 0 0 0 - - -, f 5; +#X msg 340 201 symbol canvas; +#X connect 11 0 29 0; +#X connect 17 0 29 0; +#X connect 23 0 29 0; +#X connect 25 0 29 0; +#X connect 27 0 29 0; +#X connect 29 0 18 0; +#X connect 29 1 21 0; +#X connect 30 0 29 1; +#X connect 33 0 29 1; +#X connect 50 0 29 0; +#X connect 51 0 29 1; diff --git a/pd/doc/5.reference/classinfo.pd b/pd/doc/5.reference/classinfo.pd deleted file mode 100644 index c3069b7c8..000000000 --- a/pd/doc/5.reference/classinfo.pd +++ /dev/null @@ -1,13 +0,0 @@ -#N canvas 495 201 450 300 10; -#X obj 53 152 print; -#X msg 53 23 bang; -#X text 89 23 print all properties and values to the console; -#X obj 53 132 classinfo; -#X msg 83 52 symbol moses; -#X msg 94 77 int; -#X msg 100 99 foo; -#X connect 1 0 3 0; -#X connect 3 0 0 0; -#X connect 4 0 3 0; -#X connect 5 0 3 0; -#X connect 6 0 3 0; diff --git a/pd/doc/5.reference/pdinfo-help.pd b/pd/doc/5.reference/pdinfo-help.pd index 47c552cdd..0f18107a5 100644 --- a/pd/doc/5.reference/pdinfo-help.pd +++ b/pd/doc/5.reference/pdinfo-help.pd @@ -1,13 +1,159 @@ -#N canvas 495 201 450 300 10; -#X msg 83 52 dsp; -#X obj 53 132 pdinfo; -#X obj 53 152 print; -#X msg 53 23 bang; -#X text 89 23 print all properties and values to the console; -#X msg 94 77 version; -#X msg 100 99 symbol dsp; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 1 0; -#X connect 5 0 1 0; -#X connect 6 0 1 0; +#N canvas 308 59 555 619 10; +#X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 +14 -228856 -66577 0; +#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header pdinfo 3 12 0 18 +-204280 -1 0; +#X obj 0 389 cnv 3 550 3 empty \$0-pddp.cnv.inlets inlets 8 12 0 13 +-228856 -1 0; +#N canvas 34 81 482 506 META 0; +#X text 12 175 LIBRARY internal; +#X text 12 25 LICENSE SIBSD; +#X text 12 235 HELP_PATCH_AUTHORS Jonathan Wilkes revised the patch +to conform to the PDDP template for Pd version 0.42.; +#X text 12 5 KEYWORDS pd_op; +#X text 12 45 DESCRIPTION get info from the global Pd instance that's +running; +#X msg 54 545 audio-api audio-apilist audio-apilist-raw audio-inchannels +audio-indev audio-indevlist audio-multidev-support audio-outchannels +audio-outdev audio-outdevlist blocksize dir dsp-status midi-api midi-apilist +midi-indev midi-indevlist midi-outdev midi-outdevlist pi samplerate +version; +#X text 12 75 INLET_0 audio-api audio-apilist audio-apilist-raw audio-inchannels +audio-indev audio-indevlist audio-multidev-support audio-outchannels +audio-outdev audio-outdevlist blocksize dir dsp-status midi-api midi-apilist +midi-indev midi-indevlist midi-outdev midi-outdevlist pi samplerate +version; +#X text 12 155 OUTLET_0 list; +#X text 12 195 AUTHOR Jonathan Wilkes; +#X text 12 215 RELEASE_DATE 2013; +#X restore 500 597 pd META; +#X obj 0 486 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0 +13 -228856 -1 0; +#X obj 0 523 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12 +0 13 -228856 -1 0; +#X obj 0 563 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12 +0 13 -228856 -1 0; +#X obj 78 397 cnv 17 3 30 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#N canvas 102 481 428 108 Related_objects 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X obj 22 36 samplerate~; +#X text 7 1 [pdinfo] Related Objects; +#X restore 101 597 pd Related_objects; +#X obj 78 495 cnv 17 3 17 empty \$0-pddp.cnv.let.0 0 5 9 0 16 -228856 +-162280 0; +#X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide +; +#X text 11 20 get info from the global Pd instance that's running; +#X obj 503 7 pdinfo; +#X obj 39 286 pdinfo; +#X msg 39 80 print; +#X text 80 79 print all attributes to the console; +#X msg 101 255 version; +#X obj 39 317 print pd-version; +#X text 155 254 version of Pd that's running (MAJOR MINOR TEST); +#X msg 95 232 samplerate; +#X text 169 231 global samplerate; +#X msg 78 145 dir; +#X text 107 144 directory of the Pd executable; +#X msg 72 115 blocksize; +#X text 144 114 global blocksize; +#X msg 92 205 pi; +#X text 121 204 value of Pi; +#X msg 89 175 dsp-status; +#X text 164 175 whether dsp is turned on (0 = off \, 1 = on); +#N canvas 100 44 428 514 audio-attributes 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [pdinfo] Audio Attributes; +#X obj 29 448 pdinfo; +#X obj 29 469 print pd-version; +#X msg 29 37 audio-api; +#X text 94 37 audio api that is currently in use; +#X msg 42 72 audio-apilist; +#X text 134 71 list of available audio apis; +#X msg 65 102 audio-apilist-raw; +#X text 179 102 audio apis for all platforms; +#X msg 79 132 audio-inchannels; +#X text 184 132 number of incoming audio channels; +#X text 179 188 input device at index \$1 (defaults to 0); +#X floatatom 84 168 5 0 0 0 - - -, f 5; +#X msg 84 189 audio-indev \$1; +#X msg 87 229 audio-indevlist; +#X text 192 229 list of input device names; +#X msg 91 259 audio-multidev-support; +#X text 236 259 whether the current setup; +#X text 236 279 supports multiple devices; +#X msg 88 309 audio-outchannels; +#X text 203 309 number of outgoing audio channels; +#X msg 84 377 audio-outdev \$1; +#X text 183 376 input device at index \$1 (defaults to 0); +#X floatatom 84 356 5 0 0 0 - - -, f 5; +#X msg 84 414 audio-outdevlist; +#X text 193 414 list of output device names; +#X text 179 203 returns: device_index no_of_channels; +#X text 183 391 returns: device_index no_of_channels; +#X connect 2 0 3 0; +#X connect 4 0 2 0; +#X connect 6 0 2 0; +#X connect 8 0 2 0; +#X connect 10 0 2 0; +#X connect 13 0 14 0; +#X connect 14 0 2 0; +#X connect 15 0 2 0; +#X connect 17 0 2 0; +#X connect 20 0 2 0; +#X connect 22 0 2 0; +#X connect 24 0 22 0; +#X connect 25 0 2 0; +#X restore 206 317 pd audio-attributes; +#N canvas 125 83 428 395 midi-attributes 0; +#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0 +14 -204280 -1 0; +#X text 7 1 [pdinfo] Midi Attributes; +#X obj 23 324 pdinfo; +#X obj 23 345 print pd-version; +#X text 173 128 input device at index \$1 (defaults to 0); +#X floatatom 78 108 5 0 0 0 - - -, f 5; +#X text 186 169 list of input device names; +#X text 177 237 input device at index \$1 (defaults to 0); +#X floatatom 78 217 5 0 0 0 - - -, f 5; +#X text 187 290 list of output device names; +#X msg 23 45 midi-api; +#X text 88 45 midi api that is currently in use; +#X msg 36 80 midi-apilist; +#X text 128 79 list of available midi apis; +#X msg 78 129 midi-indev \$1; +#X msg 81 169 midi-indevlist; +#X msg 78 239 midi-outdev \$1; +#X msg 78 290 midi-outdevlist; +#X text 173 143 returns: device_index; +#X text 177 250 returns: device_index; +#X connect 2 0 3 0; +#X connect 5 0 14 0; +#X connect 8 0 16 0; +#X connect 10 0 2 0; +#X connect 12 0 2 0; +#X connect 14 0 2 0; +#X connect 15 0 2 0; +#X connect 16 0 2 0; +#X connect 17 0 2 0; +#X restore 346 317 pd midi-attributes; +#X text 98 396 print; +#X text 168 396 - print out each available message (other than "print") +followed by a semicolon and the output for that method.; +#X text 99 495 list; +#X text 81 540 none; +#X text 168 436 pdinfo's available methods are shown above \, with +audio-device and midi-device message in subpatches.; +#X text 169 495 - output varies depending on the message sent to [pdinfo] +; +#X connect 13 0 17 0; +#X connect 14 0 13 0; +#X connect 16 0 13 0; +#X connect 19 0 13 0; +#X connect 21 0 13 0; +#X connect 23 0 13 0; +#X connect 25 0 13 0; +#X connect 27 0 13 0; diff --git a/pd/src/search-plugin.tcl b/pd/src/search-plugin.tcl index f9a121b3c..3bd2a3a4b 100644 --- a/pd/src/search-plugin.tcl +++ b/pd/src/search-plugin.tcl @@ -192,6 +192,8 @@ proc ::dialog_search::create_dialog {mytoplevel} { # tweak: get rid of arrow so the combobox looks like a simple entry widget ttk::style configure Entry.TCombobox -highlightcolor $linux_wm_hlcolor ttk::style configure Genre.TCombobox + ttk::style configure GenreFocused.TCombobox + ttk::style map GenreFocused.TCombobox -fieldbackground [list readonly $linux_wm_hlcolor] ttk::style configure Search.TButton ttk::style configure Search.TCheckbutton # widgets @@ -214,7 +216,7 @@ proc ::dialog_search::create_dialog {mytoplevel} { -font "$searchfont -12" -style "Entry.TCombobox" -cursor "xterm" ttk::button $mytoplevel.f.searchbutton -text [_ "Search"] -takefocus 1 \ -command ::dialog_search::search -style Search.TButton - ttk::combobox $mytoplevel.f.genrebox -values $genres -state readonly \ + ttk::combobox $mytoplevel.f.genrebox -values $genres -state readonly\ -style "Genre.TCombobox" -takefocus 1 $mytoplevel.f.genrebox current 0 ttk::label $mytoplevel.f.advancedlabel -text [_ "Help"] -foreground $linux_wm_hlcolor \ @@ -370,15 +372,31 @@ proc ::dialog_search::create_dialog {mytoplevel} { "::dialog_search::ctrl_bksp $mytoplevel.f.searchtextentry" bind $mytoplevel.f.searchtextentry <$::modifier-Key-a> \ "$mytoplevel.f.searchtextentry selection range 0 end; break" + bind $mytoplevel.f.searchbutton <FocusIn> "$mytoplevel.statusbar configure -text \"Search\"" + bind $mytoplevel.f.searchbutton <FocusOut> "$mytoplevel.statusbar configure -text \"\"" + bind $mytoplevel.f.searchbutton <Enter> "$mytoplevel.statusbar configure -text \"Search\"" + bind $mytoplevel.f.searchbutton <Leave> "$mytoplevel.statusbar configure -text \"\"" bind $mytoplevel.f.genrebox <<ComboboxSelected>> "::dialog_search::filter_results \ $mytoplevel.f.genrebox $mytoplevel.resultstext" + bind $mytoplevel.f.genrebox <FocusIn> "$mytoplevel.statusbar configure -text \ + \"Filter the search results by category\"; $mytoplevel.f.genrebox configure -style GenreFocused.TCombobox" + bind $mytoplevel.f.genrebox <FocusOut> "$mytoplevel.statusbar configure -text \"\"; $mytoplevel.f.genrebox configure -style Genre.TCombobox" + bind $mytoplevel.f.genrebox <Enter> "$mytoplevel.statusbar configure -text \ + \"Filter the search results by category\"; $mytoplevel.f.genrebox configure -style GenreFocused.TCombobox" + bind $mytoplevel.f.genrebox <Leave> "$mytoplevel.statusbar configure -text \"\"; $mytoplevel.f.genrebox configure -style Genre.TCombobox" set advancedlabeltext [_ "Advanced search options"] bind $mytoplevel.f.advancedlabel <Enter> "$mytoplevel.f.advancedlabel configure \ -cursor hand2; $mytoplevel.statusbar configure -text \"$advancedlabeltext\"" bind $mytoplevel.f.advancedlabel <Leave> "$mytoplevel.f.advancedlabel configure \ -cursor xterm; $mytoplevel.statusbar configure -text \"\"" + bind $mytoplevel.f.advancedlabel <FocusIn> "$mytoplevel.f.advancedlabel configure \ + -cursor hand2 -text \">Help<\"; $mytoplevel.statusbar configure -text \"$advancedlabeltext\"" + bind $mytoplevel.f.advancedlabel <FocusOut> "$mytoplevel.f.advancedlabel configure \ + -cursor xterm -text \"Help\"; $mytoplevel.statusbar configure -text \"\"" bind $mytoplevel.f.advancedlabel <Button-1> \ {menu_doc_open doc/5.reference all_about_finding_objects.pd} + bind $mytoplevel.f.advancedlabel <Return> \ + {menu_doc_open doc/5.reference all_about_finding_objects.pd} # Right now we're suppressing dialog bindings because helpbrowser namespace # doesn't work unless all procs are prefixed with dialog_ # ::pd_bindings::dialog_bindings $mytoplevel "search" @@ -1181,11 +1199,11 @@ proc ::dialog_search::intro { t } { ] set i 1 foreach {title dir desc} $intro_docs { - $t insert end "$title" "link clickable_dir intro_link$i spacing" + $t insert end "$title" "link clickable_dir intro_link$i spacing dt" $t insert end [file join $::sys_libdir doc $dir] basedir $t insert end "0" is_libdir $t insert end "dummy" filename - $t insert end " $desc\n" description + $t insert end "\t$desc\n" dd set i [expr {($i+1)%30}] } $t insert end [_ "All About Pd"] "link homepage_file spacing" @@ -1193,8 +1211,8 @@ proc ::dialog_search::intro { t } { $t insert end all_about.pd filename $t insert end " " description $t insert end \ - [_ "reference patches for key concepts and settings in Pd"] \ - description + [join [list \t [_ "reference patches for key concepts and settings in Pd"]] ""] \ + "description dd" $t insert end "\n" $t insert end [_ "Advanced Topics"] homepage_title @@ -1213,11 +1231,11 @@ proc ::dialog_search::intro { t } { ] set i 0 foreach {title dir desc} $advanced_docs { - $t insert end "$title" "link clickable_dir intro_link$i spacing" + $t insert end "$title" "link clickable_dir intro_link$i spacing dt" $t insert end [file join $::sys_libdir doc $dir] basedir $t insert end "0" is_libdir $t insert end "dummy" filename - $t insert end " $desc\n" description + $t insert end "\t$desc\n" "description dd" set i [expr {($i+1)%30}] } -- GitLab