From 90c6c5fe1f1eabcdd900b9927452327b88410cae Mon Sep 17 00:00:00 2001 From: Sojourner Truth <jon.w.wilkes@gmail.com> Date: Fri, 19 Aug 2016 14:04:02 -0400 Subject: [PATCH] bump jmmmp to version 0.47 --- abstractions/jmmmp/README.txt | 7 +- abstractions/jmmmp/f+.pd | 24 +- abstractions/jmmmp/jmmmp-meta.pd | 16 +- abstractions/jmmmp/jp.menu-help.pd | 283 ++++---- abstractions/jmmmp/jp.menu.pd | 860 ++++++++++++++----------- abstractions/jmmmp/jp.preset-help.pd | 234 +++++++ abstractions/jmmmp/jp.preset-test1.txt | 5 + abstractions/jmmmp/jp.preset-test2.txt | 5 + abstractions/jmmmp/jp.preset.pd | 597 +++++++++++++++++ abstractions/jmmmp/mat-~.pd | 20 +- 10 files changed, 1494 insertions(+), 557 deletions(-) create mode 100644 abstractions/jmmmp/jp.preset-help.pd create mode 100644 abstractions/jmmmp/jp.preset-test1.txt create mode 100644 abstractions/jmmmp/jp.preset-test2.txt create mode 100644 abstractions/jmmmp/jp.preset.pd diff --git a/abstractions/jmmmp/README.txt b/abstractions/jmmmp/README.txt index 92c896903..3437c9002 100644 --- a/abstractions/jmmmp/README.txt +++ b/abstractions/jmmmp/README.txt @@ -1,6 +1,6 @@ Abstractions from João Pais -Version 0.46 +Version 0.47 (c) 2005-2016 João Pais - jmmmpais@gmail.com Released under the BSD license (more information in each abstraction). @@ -25,6 +25,7 @@ dsp01 - DSP switch f+ - Counter with variable increment gui-edit - edit standard GUI objects fast jp.menu - Dropdown menu programmed with data structures +jp.preset - Dropdown preset saver programmed with data structures lbang - loadbang which can be triggered more often liner~ - practical implementation of [line~] liner+~ - practical implementation of signal envelopping @@ -53,9 +54,9 @@ tastin - Gate for keyboard input uhr - Shows the time -It is recomended to use these abstractions with Pd-extended, since I don't keep track of which externals are used. Some abstractions use other ones of this package, so it is also better to have always the whole package together. +The jmmmp library is dependent from the following libraries: cyclone, ext13, ggee, iemlib, iemmatrix, jmmmp, zexy 2.2.6. -2016.05.27 +2016.06.30 Non-working or discarded abstractions: diff --git a/abstractions/jmmmp/f+.pd b/abstractions/jmmmp/f+.pd index 0fcf725aa..e0d271728 100644 --- a/abstractions/jmmmp/f+.pd +++ b/abstractions/jmmmp/f+.pd @@ -1,11 +1,11 @@ #N canvas 457 189 505 304 10; -#X obj 15 72 inlet; -#X obj 15 222 outlet; -#X obj 34 92 inlet; -#X obj 58 112 inlet; -#X obj 15 182 f \$1; -#X obj 72 192 +; -#X obj 108 152 expr if($f1 == 0 \, 1 \, $f1); +#X obj 15 52 inlet; +#X obj 15 202 outlet; +#X obj 34 72 inlet; +#X obj 58 92 inlet; +#X obj 15 162 f \$1; +#X obj 72 172 +; +#X obj 108 132 expr if($f1 == 0 \, 1 \, $f1); #N canvas 0 0 426 446 license 0; #X text 8 47 All rights reserved.; #X text 8 227 The names of its contributors may not be used to endorse @@ -39,15 +39,15 @@ in the documentation and/or other materials provided with the distribution. #X text 279 168 - Set increment; #X text 279 198 Outlets; #X text 279 218 - Float; -#X obj 34 162 \$1; -#X obj 34 132 route bang; +#X obj 34 142 \$1; +#X obj 34 112 route bang; #X text 279 148 - Bang reset / Float (next count); -#X obj 15 202 t f f; +#X obj 15 182 t f f; #X text 12 257 (C) 2006-2012 João Pais - jmmmpais@googlemail.com; #X text 278 58 - Initial number (default 0); #X text 279 78 - Increment (default 1); -#X obj 108 132 \$2; -#X obj 108 112 initbang; +#X obj 108 112 \$2; +#X obj 108 92 iemlib/init; #X connect 0 0 4 0; #X connect 2 0 16 0; #X connect 3 0 5 1; diff --git a/abstractions/jmmmp/jmmmp-meta.pd b/abstractions/jmmmp/jmmmp-meta.pd index c45d77228..dbdb85e8a 100644 --- a/abstractions/jmmmp/jmmmp-meta.pd +++ b/abstractions/jmmmp/jmmmp-meta.pd @@ -1,7 +1,9 @@ -#N canvas 268 142 382 289 10; -#X text 16 6 NAME jmmmp; -#X text 16 26 AUTHOR João Pais <jmmmpais@googlemail.com>; -#X text 16 76 LICENSE GPL; -#X text 16 96 VERSION 0.46; -#X text 16 46 DESCRIPTION this library has several utilities with different -functions. It is composed of abstractions only.; +#N canvas 10 10 200 164 10; +#N canvas 20 20 420 300 META 0; +#X text 10 10 META this is a prototype of a libdir meta file; +#X text 10 30 NAME jmmmp; +#X text 10 90 LICENSE BSD; +#X text 10 110 VERSION 0.47; +#X text 10 50 AUTHOR João Pais <jmmmpais@googlemail.com>; +#X text 10 70 DESCRIPTION Several useful abstractions; +#X restore 10 10 pd META; diff --git a/abstractions/jmmmp/jp.menu-help.pd b/abstractions/jmmmp/jp.menu-help.pd index c4b2d626a..b38721ac4 100644 --- a/abstractions/jmmmp/jp.menu-help.pd +++ b/abstractions/jmmmp/jp.menu-help.pd @@ -1,18 +1,18 @@ -#N struct 1012-color float x float y float farbe; -#N struct 1012-color-display float x float y float farbe; -#N struct 1015-color float x float y float farbe; -#N struct 1015-color-display float x float y float farbe; -#N struct 1007-element float x float y symbol menu float lenght float +#N struct 1087-color float x float y float farbe; +#N struct 1087-color-display float x float y float farbe; +#N struct 1090-color float x float y float farbe; +#N struct 1090-color-display float x float y float farbe; +#N struct 1082-element float x float y symbol menu float lenght float height float selection float ypos float col-back float col-lab; -#N struct 1025-color float x float y float farbe; -#N struct 1025-color-display float x float y float farbe; -#N struct 1028-color float x float y float farbe; -#N struct 1028-color-display float x float y float farbe; -#N struct 1020-element float x float y symbol menu float lenght float +#N struct 1183-color float x float y float farbe; +#N struct 1183-color-display float x float y float farbe; +#N struct 1186-color float x float y float farbe; +#N struct 1186-color-display float x float y float farbe; +#N struct 1178-element float x float y symbol menu float lenght float height float selection float ypos float col-back float col-lab; -#N canvas 40 80 738 476 10; -#X floatatom 19 206 5 0 0 0 - - -; -#N canvas 0 0 426 446 license 0; +#N canvas 106 113 779 512 10; +#X floatatom 19 216 5 0 0 0 - - -; +#N canvas 0 0 393 422 license 0; #X text 8 47 All rights reserved.; #X text 8 227 The names of its contributors may not be used to endorse or promote products derived from this software without specific prior @@ -37,9 +37,9 @@ in the documentation and/or other materials provided with the distribution. ; #X text 8 7 Copyright 2016 \, João Pais; #X text 8 27 jmmmpais@gmail.com; -#X restore 431 446 pd license; -#X text 429 341 Outlets; -#X text 429 251 - bang - outputs current setting; +#X restore 421 486 pd license; +#X text 419 401 Outlets; +#X text 419 291 - bang - outputs current setting; #N canvas 564 268 494 344 META 0; #X text 12 95 LICENSE BSD; #X text 12 75 LIBRARY jmmmp; @@ -49,139 +49,154 @@ in the documentation and/or other materials provided with the distribution. #X text 12 36 KEYWORDS menu GOP data-structures; #X text 12 55 AUTHOR João Pais <jmmmpais@gmail.com>; #X text 12 135 VERSION 2016; -#X restore 521 446 pd META; +#X restore 511 486 pd META; #X text 11 11 [jp.menu] - Dropdown menu programmed with data structures ; -#X text 429 41 Arguments - ALWAYS USE THE FIRST THREE ARGUMENTS; -#X text 429 61 - name of configuration file; -#X text 428 81 - lenght (pixels); -#X text 429 101 - height (pixels); -#N canvas 451 243 394 363 configuration 0; -#X text 19 17 HOW TO FORMAT THE CONFIGURATION FILE FOR [jp.menu]; -#X text 19 87 Name; -#X text 19 167 Content; -#X text 19 187 The content consists of as many lines as items in the -menu. In each line is be the label that appears.; -#X text 19 47 The configuration file must be a .txt file \, stored -in the same folder as the main patch where [jp.menu] is being used. -; -#X text 19 227 Load new file; -#X text 19 247 To load a new file \, send the message "load \$1" with +#X text 419 61 - name of configuration file; +#N canvas 312 426 384 356 configuration 0; +#X text 9 7 HOW TO FORMAT THE CONFIGURATION FILE FOR [jp.menu]; +#X text 9 77 Name; +#X text 9 157 Content; +#X text 9 37 The configuration file must be a .txt file \, stored in +the same folder as the main patch where [jp.menu] is being used.; +#X text 9 217 Load new file; +#X text 9 237 To load a new file \, send the message "load \$1" with the symbol as argument.; -#X obj 19 337 s \$0-country-i; -#X msg 19 288 load audio; -#X msg 29 308 load country; -#X text 19 107 The file must be named jp.menu-NAME.txt.; -#X text 19 127 The NAME will be used as the first argument for [jp.menu]. +#X obj 9 327 s \$0-country-i; +#X msg 9 278 load audio; +#X msg 19 298 load country; +#X text 9 97 The file must be named jp.menu-NAME.txt.; +#X text 9 117 The NAME will be used as the first argument for [jp.menu]. ; -#X connect 8 0 7 0; -#X connect 9 0 7 0; -#X restore 222 251 pd configuration; -#X text 430 426 (C) 2016 João Pais - jmmmpais@gmail.com; -#X text 429 211 - integer - select item number. From 0 upwards.; -#X obj 19 111 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 +#X text 9 177 The content consists of as many lines as items in the +menu. In each line is be the label that appears in the menu.; +#X connect 7 0 6 0; +#X connect 8 0 6 0; +#X restore 262 281 pd configuration; +#X text 420 466 (C) 2016 João Pais - jmmmpais@gmail.com; +#X text 419 211 - integer - select item number. From 0 upwards.; +#X obj 19 121 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; -#X text 429 121 - identifier for receive/send names; -#X text 15 91 This menu has 4 items; -#X text 429 361 - integer - chosen item number; -#X msg 29 131 open; -#X text 429 191 Input messages; -#X text 429 231 - open - opens full menu; -#X text 12 356 Limitations of data structures; -#X text 12 416 - the message "drawnumber_motion: symbol" appears in +#X text 439 121 - identifier for receive/send names; +#X text 419 421 - integer - chosen item number; +#X msg 29 141 open; +#X text 419 191 Input messages; +#X text 419 271 - open - opens full menu; +#X text 12 416 Limitations of data structures; +#X text 12 476 - the message "drawnumber_motion: symbol" appears in the console when instead of clicking \, the user drags the menu; -#X text 12 396 - the size of the text can't be changed; -#N canvas 467 689 450 300 zutun 0; -#X text 25 215 ## dizer ao puckette para eliminar drawnumbermotion -das mensagens; -#X text 26 174 ## saida da direita com sÃmbolo de label. para isso -\, só tem que apanhar o sÃmbolo apenas quando entra float \, nao -quando há open.; -#X text 17 138 ## editar e gravar configuracao usando mensagens? funciona -com text \, ou tem que se usar a nova versao?; -#X text 21 244 ## modo and \, com várias opcoes ligadas/desligadas? -; -#X text 26 48 ## depois de load \, tamanho volta ao normal; -#X restore 584 446 pd zutun; -#X text 14 251 Formatting the configuration file; -#X text 14 291 Color configuration; -#X text 14 271 You can use send/receive variables; -#N canvas 497 71 396 209 send/receive 0; -#X text 19 17 SEND/RECEIVE VARIABLES; -#X text 19 47 [jp.menu] lets you define an internal variable to use -with send and receive objects. You can send and receive any messages -to it.; -#X text 19 87 The variables are formated as:; -#X text 19 107 - the 3rd argument gives the send name; -#X text 19 127 - the receive name adds "-i" to the 3rd argument; -#X text 19 157 For example \, if the 3rd argument is "menusend" \, -the receive name will be "menusend-i". You can use also dollarsigns -as symbols: \$0 \, \$1 \, etc. \, as in the following example:; -#X restore 228 271 pd send/receive; #X text 12 41 [jp.menu] creates a dropdown menu based on a text file. This abstraction is a development of the concept used by Gilberto Bernardes in his earGram software.; -#X msg 199 131 open; -#X obj 189 151 s \$0-country-i; -#X obj 189 181 r \$0-country; -#X floatatom 189 111 5 0 0 0 - - -; -#X floatatom 189 201 5 0 0 0 - - -; -#X obj 169 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X msg 299 171 open; +#X obj 289 191 s \$0-country-i; +#X obj 289 221 r \$0-country; +#X floatatom 289 151 5 0 0 0 - - -; +#X floatatom 289 241 5 0 0 0 - - -; +#X obj 269 171 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X text 429 271 - color \$1 \$2 - change colors; -#X text 170 91 Use send/receive to control the menu; -#X text 429 141 - background color; -#X text 429 161 - label / border color; -#X obj 289 111 jp.menu country 100 22 \$0-country 89 9; -#X text 429 291 - size x y - change menu size; -#N canvas 331 210 386 167 size 0; -#X msg 29 47 size 60 70; -#X msg 39 67 size 120 20; -#X msg 19 27 size 80 15; -#X text 19 7 Change menu size; -#X obj 19 97 s \$0-country-i; -#X text 19 127 !! Mind \, for "size" the object doesn't get saved with +#X text 419 311 - color \$1 \$2 - change colors; +#X text 150 131 Use send/receive to control the menu; +#X text 439 141 - background color; +#X text 439 161 - label / border color; +#X text 419 351 - size x y - change menu size; +#X text 12 436 The following limitations are built in to Pure Data: +; +#X text 15 91 This menu has 4 items \, Click on it or send a number +or message.; +#X text 419 31 Arguments - Always use the first argument \, others +are facultative; +#X text 14 281 Formatting/loading a configuration file; +#N canvas 38 162 445 466 display 0; +#X msg 19 47 size 60 70; +#X msg 29 67 size 120 20; +#X msg 9 27 size 80 15; +#X text 9 7 Change menu size; +#X obj 9 87 s \$0-country-i; +#X text 9 107 !! Mind \, for "size" the object doesn't get saved with the new parameters !! You must edit the object itself.; -#X connect 0 0 4 0; -#X connect 1 0 4 0; -#X connect 2 0 4 0; -#X restore 121 311 pd size; -#X text 14 311 Change menu size; -#N canvas 438 53 442 335 color 0; -#X msg 21 157 color 57 600; -#X text 10 7 Change colors:; -#X obj 373 67 pd-colors; -#X msg 11 257 color; -#X text 11 237 Or send only the message "color" to open a color selector. +#X msg 20 307 color 57 600; +#X text 9 167 Change colors:; +#X obj 372 227 pd-colors; +#X msg 10 387 color; +#X text 10 367 Or send only the message "color" to open a color selector. ; -#X text 11 67 The colors follow the data structures color scheme. Look -at; -#X text 11 81 for a complete palette.; -#X text 11 97 If both color arguments are 0 \, default colors will +#X text 10 227 The colors follow the data structures color scheme. +Look at; +#X text 10 241 for a complete palette.; +#X text 10 257 If both color arguments are 0 \, default colors will be used.; -#X obj 11 206 s \$0-country-i; -#X obj 11 277 s \$0-country-i; -#X msg 11 127 color 999 0; -#X text 91 127 default values; -#X text 11 47 \$1 = background color \, \$2 = label+border color; -#X text 11 27 Send the message "color \$1 \$2" to set the menu colors. +#X obj 10 347 s \$0-country-i; +#X obj 10 407 s \$0-country-i; +#X msg 10 287 color 999 0; +#X text 90 287 default values; +#X text 10 207 \$1 = background color \, \$2 = label+border color; +#X text 10 187 Send the message "color \$1 \$2" to set the menu colors. ; -#X msg 31 177 color 60 999; -#X text 11 297 !! Mind \, for "color" the object doesn't get saved +#X msg 30 327 color 60 999; +#X text 10 427 !! Mind \, for "color" the object doesn't get saved with the new parameters !! You must edit the object itself.; -#X connect 0 0 8 0; -#X connect 3 0 9 0; -#X connect 10 0 8 0; -#X connect 14 0 8 0; -#X restore 138 290 pd color; -#X text 429 311 - load \$1 - load other configuration; -#X obj 19 151 jp.menu audio 85 13 \$0-aud; -#X text 12 376 The following limitations are built in to Pure Data: +#X connect 0 0 4 0; +#X connect 1 0 4 0; +#X connect 2 0 4 0; +#X connect 6 0 14 0; +#X connect 9 0 15 0; +#X connect 16 0 14 0; +#X connect 20 0 14 0; +#X restore 164 361 pd display; +#X text 14 361 Display configuration; +#N canvas 38 28 396 209 send/receive 0; +#X text 9 7 SEND/RECEIVE VARIABLES; +#X text 9 77 The variables are formated as:; +#X text 9 147 For example \, if the 3rd argument is "menusend" \, the +receive name will be "menusend-i". You can use also dollarsigns as +symbols: \$0 \, \$1 \, etc. \, as in the example in the main patch. ; +#X text 9 97 - the 4th argument gives the send name; +#X text 9 117 - the receive name adds "-i" to the 4th argument; +#X text 9 37 [jp.menu] lets you define an internal variable to use +with send and receive objects. You can send and receive any messages +to it.; +#X restore 164 341 pd send/receive; +#X text 14 341 Send/receive variables; +#X text 14 321 Select items; +#N canvas 500 61 386 239 select 0; +#X msg 22 91 next; +#X msg 32 111 previous; +#X floatatom 12 71 5 0 0 0 - - -; +#X text 12 7 To select an item; +#X text 12 27 You can send an integer to select an item. The strings +"next" and "previous" also move between the elements of the menu.; +#X text 12 167 The message "open" shows the full menu.; +#X msg 12 187 open; +#X obj 12 131 s \$0-country-i; +#X obj 12 207 s \$0-country-i; +#X connect 0 0 7 0; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 6 0 8 0; +#X restore 164 321 pd select; +#X text 12 456 - the size and font of the label can't be changed; +#X text 419 231 - next - outputs next item; +#X text 419 251 - previous - outputs previous item; +#X text 419 331 - color - open color selector; +#X text 419 371 - load \$1 - load other configuration from the same +folder; +#X obj 19 161 jp.menu audio; +#X text 438 81 - lenght (pixels) \, set to 100 if not used; +#X text 439 101 - height (pixels) \, set to 17 if not used; +#X obj 149 151 jp.menu country 100 22 \$0-country 89 9; +#N canvas 491 72 386 146 edit 0; +#X text 12 7 For now \, the only way to delete a preset is by editing +the text file with the data. At a later point \, it might be possible +to integrate editing features into this abstraction. For a more powerful +abstraction \, check out [jmmmp/jp.preset].; +#X restore 164 301 pd edit; +#X text 14 301 Edit presets; +#X connect 10 0 45 0; #X connect 13 0 45 0; -#X connect 17 0 45 0; -#X connect 29 0 30 0; -#X connect 31 0 33 0; -#X connect 32 0 30 0; -#X connect 34 0 30 0; +#X connect 19 0 20 0; +#X connect 21 0 23 0; +#X connect 22 0 20 0; +#X connect 24 0 20 0; #X connect 45 0 0 0; diff --git a/abstractions/jmmmp/jp.menu.pd b/abstractions/jmmmp/jp.menu.pd index 2c3c3de51..d45fddf9c 100644 --- a/abstractions/jmmmp/jp.menu.pd +++ b/abstractions/jmmmp/jp.menu.pd @@ -1,391 +1,469 @@ -#N struct 1008-color float x float y float farbe; -#N struct 1008-color-display float x float y float farbe; -#N struct 1011-color float x float y float farbe; -#N struct 1011-color-display float x float y float farbe; -#N canvas 628 409 330 217 10; -#N canvas 1088 161 379 353 \$0-element 0; -#X obj 8 94 route click; -#X obj 35 134 tgl 15 0 \$0-open/close \$0-open/close-i empty 17 7 0 -10 -262144 -1 -1 1 1; -#X obj 8 182 unpack pointer f; -#X obj 8 242 / 1; -#X obj 23 222 r \$0-ypos; -#X obj 8 262 outlet; -#X obj 8 152 spigot; -#X obj 8 114 t l b; -#X text 8 14 Data structures template and click interaction; -#X obj 8 202 get \$0-element ypos; -#X obj 8 44 struct \$0-element float x float y symbol menu float lenght -float height float selection float ypos float col-back float col-lab -; -#X obj 8 313 filledpolygon -v selection col-back col-lab 1 0 0 0 height -lenght height lenght 0; -#X obj 8 293 drawsymbol -v selection menu 4 2 col-lab; -#X connect 0 0 7 0; -#X connect 1 0 6 1; -#X connect 2 0 9 0; -#X connect 3 0 5 0; -#X connect 4 0 3 1; -#X connect 6 0 2 0; -#X connect 7 0 6 0; -#X connect 7 1 1 0; -#X connect 9 0 3 0; -#X connect 10 0 0 0; -#X restore 128 40 pd \$0-element; -#X obj 128 20 namecanvas \$0-menu; -#N canvas 299 122 616 576 patch 0; -#X obj 286 250 textfile; -#X obj 306 230 until; -#X msg 424 90 clear; -#X obj 424 110 s pd-\$0-paint; -#X obj 315 510 s pd-\$0-paint; -#X obj 353 150 symbol \$0-element; -#X obj 358 320 l2s; -#X obj 192 360 + 0; -#X obj 161 550 s \$0-menu; -#X msg 171 480 donecanvasdialog 1 1 2 0 0 \$3 \$2 \$3 \$2 0 0 \, dirty -0; -#X msg 17 400 0 \$1; -#X obj 351 250 0; -#X obj 17 340 r \$0-open/close; -#X obj 387 130 s \$0-ypos; -#X obj 99 360 r \$0-ypos; -#X obj 330 370 r \$0-ypos; -#X obj 207 340 r \$0-ypos; -#X obj 17 380 expr if ($f1 == 1 \, $f2 \, $f3); -#X obj 161 430 pack f f \$2; -#X obj 387 110 \$3; -#X msg 286 210 read \$1 cr \, rewind; -#X msg 161 530 donecanvasdialog 1 -1 2 0 -1 1 1 \$3 \$2 0 0 \, dirty -0; -#X obj 315 390 * 1; -#X obj 315 340 f+ 0 1; -#X obj 405 390 s \$0-sellist; -#X obj 405 370 f; -#X obj 326 30 loadbang; -#X text 18 10 Reads configuration file and creates the menu scalars. -; -#X msg 315 430 scalar \$2 0 0 \$3 \$4 \$5 0 \$1 \$6 \$7; -#X obj 315 410 pack f s s \$2 \$3 \$5 \$6; -#X obj 422 290 sel 1; -#X obj 422 320 999; -#X obj 450 320 0; -#X text 432 230 Sets default colors; -#X obj 422 270 expr if($i1 + $i2 == 0 \, 1 \, 0); -#X obj 422 250 list \$5 \$6; -#X obj 351 270 outlet; -#X obj 222 410 r \$0-lenght; -#X obj 315 300 t b a; -#X text 253 450 scalar parameters: x y menu lenght height selection -ypos col-back col-lab; -#X obj 182 300 r \$0-gop-height; -#X text 153 280 New height after "size"; -#X obj 326 50 t b b; -#X obj 353 70 t b b b b; -#X obj 306 90 t b b b; -#X obj 257 130 r \$0-load; -#X obj 257 150 t b s b; -#N canvas 424 551 297 172 path+file 0; -#X obj 12 66 symbol jp.menu-\$1.txt; -#X obj 12 106 list; -#X msg 12 126 read \$2/\$1 cr \, rewind; -#X obj 12 46 t b b; -#X obj 12 26 inlet; -#X obj 12 146 outlet; -#X text 12 6 Gets path of parent patch and opens file; -#X obj 33 86 getdir 3; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 2 0 5 0; -#X connect 3 0 0 0; -#X connect 3 1 7 0; -#X connect 4 0 3 0; -#X connect 7 0 1 1; -#X restore 325 180 pd path+file; -#X connect 0 0 38 0; -#X connect 0 1 1 1; -#X connect 0 1 11 0; -#X connect 0 1 25 0; -#X connect 1 0 0 0; -#X connect 2 0 3 0; -#X connect 5 0 29 1; -#X connect 6 0 29 2; -#X connect 7 0 17 2; -#X connect 7 0 18 1; -#X connect 9 0 4 0; -#X connect 10 0 18 0; -#X connect 11 0 36 0; -#X connect 12 0 17 0; -#X connect 14 0 17 1; -#X connect 15 0 22 1; -#X connect 16 0 7 1; -#X connect 17 0 10 0; -#X connect 18 0 9 0; -#X connect 18 0 21 0; -#X connect 19 0 13 0; -#X connect 20 0 0 0; -#X connect 21 0 8 0; -#X connect 22 0 7 0; -#X connect 22 0 29 0; -#X connect 23 0 22 0; -#X connect 23 0 25 1; -#X connect 25 0 24 0; -#X connect 26 0 42 0; -#X connect 28 0 4 0; -#X connect 29 0 28 0; -#X connect 30 0 32 0; -#X connect 30 0 31 0; -#X connect 31 0 29 5; -#X connect 32 0 29 6; -#X connect 34 0 30 0; -#X connect 35 0 34 0; -#X connect 37 0 18 2; -#X connect 38 0 23 0; -#X connect 38 1 6 0; -#X connect 40 0 17 2; -#X connect 42 0 44 0; -#X connect 42 1 43 0; -#X connect 43 0 5 0; -#X connect 43 1 35 0; -#X connect 43 2 19 0; -#X connect 43 3 2 0; -#X connect 44 0 1 0; -#X connect 44 1 47 0; -#X connect 44 2 23 1; -#X connect 45 0 46 0; -#X connect 46 0 1 0; -#X connect 46 1 20 0; -#X connect 46 2 23 1; -#X connect 47 0 0 0; -#X restore 197 110 pd patch; -#X obj 138 70 inlet; -#X obj 128 180 outlet; -#N canvas 537 83 484 364 selection 0; -#X obj 202 22 inlet; -#X obj 301 212 symbol \$0-paint; -#X obj 301 272 pointer; -#X msg 252 252 next; -#X msg 301 232 traverse pd-\$1; -#X msg 265 102 1 0; -#X obj 265 142 list-rot; -#X obj 310 122 * -1; -#X obj 265 162 list-drip; -#X obj 225 232 t f b; -#X msg 158 212 1 1; -#X obj 275 62 outlet; -#X obj 265 82 t b f b b; -#X obj 225 332 set \$0-element selection y; -#X obj 356 162 s \$0-open/close-i; -#X obj 158 122 r \$0-open/close; -#X obj 158 182 t b b; -#X obj 158 142 t f f; -#X msg 356 142 1; -#X obj 301 312 expr if ($f2 == 0 \, $f1 \, 0); -#X obj 158 162 sel 0; -#X obj 14 48 r \$0-sellist; -#X msg 68 108 set \, add2 1; -#X obj 41 128 until; -#X msg 51 148 add2 1; -#X msg 41 168 add2 0; -#X obj 41 88 t f b; -#X obj 14 68 sel 0; -#N canvas 927 111 288 144 messages 0; -#X obj 11 27 inlet; -#X text 12 7 Messages accepted by [jp.menu]; -#X obj 11 87 outlet; -#X obj 58 107 outlet; -#X obj 11 67 0; -#N canvas 843 386 300 290 color 0; -#X obj 16 52 route bang; -#X obj 16 242 s pd-\$0-color-selector; -#X msg 16 222 vis 1; -#N canvas 423 741 518 243 \$0-color-selector 0; -#N canvas 298 464 528 328 color-sel-gui 0; -#X obj 12 59 ds-color-sel; -#X obj 12 154 ds-color-sel; -#X obj 425 25 bng 15 250 50 0 \$0-send-colors \$0-send-colors-i empty -17 7 0 10 -228856 -1 -1; -#X text 442 23 Send colors; -#X obj 12 258 pack s f f; -#X msg 12 238 symbol color; -#X obj 12 298 s \$0-color-reset; -#X msg 12 278 \$2 \$3; -#X text 12 41 Background color; -#X text 12 136 Label and border color; -#X text 12 13 Click the desired color for the fields \, and click the -"send" button when you're finished.; -#X connect 0 0 4 1; -#X connect 1 0 4 2; -#X connect 2 0 5 0; -#X connect 4 0 7 0; -#X connect 5 0 4 0; -#X connect 7 0 6 0; -#X coords 0 -1 1 1 506 217 2 10 10; -#X restore 5 14 pd color-sel-gui; -#X restore 16 262 pd \$0-color-selector; -#X obj 83 72 r \$0-color-reset; -#X obj 16 32 inlet; -#X msg 92 142 traverse \$1; -#X obj 92 122 symbol pd-\$0-paint; -#X obj 92 162 pointer \$0-element; -#X msg 54 142 next; -#X obj 54 122 until; -#X obj 92 202 set \$0-element col-back col-lab; -#X obj 92 182 list prepend; -#X obj 73 92 t b b a; -#X text 17 12 Sets color scheme; -#X connect 0 0 2 0; -#X connect 0 1 13 0; -#X connect 2 0 1 0; -#X connect 4 0 13 0; -#X connect 5 0 0 0; -#X connect 6 0 8 0; -#X connect 7 0 6 0; -#X connect 8 0 12 0; -#X connect 8 2 10 1; -#X connect 9 0 8 0; -#X connect 10 0 9 0; -#X connect 12 0 11 0; -#X connect 13 0 10 0; -#X connect 13 1 7 0; -#X connect 13 2 12 1; -#X restore 120 87 pd color; -#X obj 58 87 i; -#N canvas 949 107 426 490 size 0; -#X obj 99 74 s pd-\$0-paint; -#X obj 82 114 s \$0-menu; -#X obj 48 14 inlet; -#X msg 99 54 donecanvasdialog 1 1 2 0 0 \$1 \$2 \$1 \$2 0 0 \, dirty -0; -#X msg 82 94 donecanvasdialog 1 -1 2 0 -1 1 1 \$1 \$2 0 0 \, dirty -0; -#X msg 65 374 traverse \$1; -#X obj 65 234 symbol pd-\$0-paint; -#X obj 65 394 pointer \$0-element; -#X msg 27 374 next; -#X obj 27 234 until; -#X obj 65 464 set \$0-element lenght height ypos; -#X obj 122 154 s \$0-ypos; -#X obj 65 134 unpack f f; -#X obj 65 174 s \$0-lenght; -#X obj 103 304 r \$0-ypos; -#X obj 88 324 * 1; -#X obj 88 284 f+ 0 1; -#X obj 48 204 t b b b a; -#X obj 27 254 t b b; -#X obj 65 424 pack p f f f; -#X msg 65 444 \$3 \$4 \$2 \$1; -#X obj 48 34 t l l l l; -#X obj 111 254 unpack f f; -#X obj 98 344 s \$0-gop-height; -#X connect 2 0 21 0; -#X connect 3 0 0 0; -#X connect 4 0 1 0; -#X connect 5 0 7 0; -#X connect 6 0 5 0; -#X connect 7 0 19 0; -#X connect 7 2 9 1; -#X connect 8 0 7 0; -#X connect 9 0 18 0; -#X connect 12 0 13 0; -#X connect 12 1 11 0; -#X connect 14 0 15 1; -#X connect 15 0 19 1; -#X connect 15 0 23 0; -#X connect 16 0 15 0; -#X connect 17 0 9 0; -#X connect 17 1 6 0; -#X connect 17 2 16 1; -#X connect 17 3 22 0; -#X connect 18 0 8 0; -#X connect 18 1 16 0; -#X connect 19 0 20 0; -#X connect 20 0 10 0; -#X connect 21 0 17 0; -#X connect 21 1 12 0; -#X connect 21 2 4 0; -#X connect 21 3 3 0; -#X connect 22 0 19 2; -#X connect 22 1 19 3; -#X restore 157 67 pd size; -#X obj 11 47 route open float bang color size load; -#N canvas 1157 204 292 160 load 0; -#X obj 14 13 inlet; -#X msg 41 53 clear; -#X obj 41 73 s pd-\$0-paint; -#X obj 14 133 s \$0-load; -#X obj 14 33 t a b; -#X msg 14 113 symbol jp.menu-\$1.txt; -#X obj 14 93 symbol; -#X connect 0 0 4 0; -#X connect 1 0 2 0; -#X connect 4 0 6 0; -#X connect 4 1 1 0; -#X connect 5 0 3 0; -#X connect 6 0 5 0; -#X restore 193 87 pd load; -#X connect 0 0 8 0; -#X connect 4 0 2 0; -#X connect 6 0 3 0; -#X connect 8 0 4 0; -#X connect 8 1 6 0; -#X connect 8 2 6 0; -#X connect 8 3 5 0; -#X connect 8 4 7 0; -#X connect 8 5 9 0; -#X restore 202 42 pd messages; -#X obj 301 292 get \$0-element ypos menu; -#X obj 282 22 inlet; -#X connect 0 0 28 0; -#X connect 1 0 4 0; -#X connect 2 0 13 2; -#X connect 2 0 29 0; -#X connect 3 0 2 0; -#X connect 4 0 2 0; -#X connect 5 0 6 0; -#X connect 6 0 8 0; -#X connect 7 0 6 1; -#X connect 8 0 9 0; -#X connect 9 0 13 0; -#X connect 9 1 3 0; -#X connect 10 0 8 0; -#X connect 12 0 5 0; -#X connect 12 1 7 0; -#X connect 12 2 1 0; -#X connect 12 3 18 0; -#X connect 15 0 17 0; -#X connect 16 0 10 0; -#X connect 16 1 1 0; -#X connect 17 0 20 0; -#X connect 17 1 19 1; -#X connect 18 0 14 0; -#X connect 19 0 13 1; -#X connect 20 0 16 0; -#X connect 21 0 27 0; -#X connect 22 0 5 0; -#X connect 22 0 10 0; -#X connect 23 0 24 0; -#X connect 23 0 25 0; -#X connect 24 0 10 0; -#X connect 25 0 5 0; -#X connect 26 0 23 0; -#X connect 26 1 22 0; -#X connect 27 1 26 0; -#X connect 28 0 14 0; -#X connect 28 1 12 0; -#X connect 28 1 11 0; -#X connect 29 0 19 0; -#X connect 30 0 12 0; -#X restore 128 130 pd selection; -#X obj 147 90 receive \$4-i; -#X obj 137 160 send \$4; -#N canvas 125 353 450 300 \$0-paint 0; -#X coords 0 0 80 16 80 16 2 0 0; -#X restore 0 0 pd \$0-paint; -#X connect 0 0 5 0; -#X connect 2 0 5 1; -#X connect 3 0 5 0; -#X connect 5 0 4 0; -#X connect 5 0 7 0; -#X connect 6 0 5 0; -#X coords 0 -1 1 1 80 16 2 0 0; +#N struct 1087-color float x float y float farbe; +#N struct 1087-color-display float x float y float farbe; +#N struct 1090-color float x float y float farbe; +#N struct 1090-color-display float x float y float farbe; +#N struct 1082-element float x float y symbol menu float lenght float +height float selection float ypos float col-back float col-lab; +#N canvas 628 409 330 217 10; +#N canvas 1088 161 379 353 \$0-element 0; +#X obj 8 94 route click; +#X obj 35 134 tgl 15 0 \$0-open/close \$0-open/close-i empty 17 7 0 +10 -262144 -1 -1 1 1; +#X obj 8 182 unpack pointer f; +#X obj 8 242 / 1; +#X obj 23 222 r \$0-ypos; +#X obj 8 262 outlet; +#X obj 8 152 spigot; +#X obj 8 114 t l b; +#X text 8 14 Data structures template and click interaction; +#X obj 8 202 get \$0-element ypos; +#X obj 8 44 struct \$0-element float x float y symbol menu float lenght +float height float selection float ypos float col-back float col-lab +; +#X obj 8 313 filledpolygon -v selection col-back col-lab 1 0 0 0 height +lenght height lenght 0; +#X obj 8 293 drawsymbol -v selection menu 4 2 col-lab; +#X connect 0 0 7 0; +#X connect 1 0 6 1; +#X connect 2 0 9 0; +#X connect 3 0 5 0; +#X connect 4 0 3 1; +#X connect 6 0 2 0; +#X connect 7 0 6 0; +#X connect 7 1 1 0; +#X connect 9 0 3 0; +#X connect 10 0 0 0; +#X restore 128 40 pd \$0-element; +#X obj 128 20 namecanvas \$0-menu; +#N canvas 110 254 616 633 patch 0; +#X obj 286 250 textfile; +#X obj 306 230 until; +#X msg 424 90 clear; +#X obj 424 110 s pd-\$0-paint; +#X obj 315 560 s pd-\$0-paint; +#X obj 353 150 symbol \$0-element; +#X obj 358 320 l2s; +#X obj 192 410 + 0; +#X obj 161 600 s \$0-menu; +#X msg 171 530 donecanvasdialog 1 1 2 0 0 \$3 \$2 \$3 \$2 0 0 \, dirty +0; +#X msg 17 450 0 \$1; +#X obj 351 250 0; +#X obj 17 390 r \$0-open/close; +#X obj 99 410 r \$0-ypos; +#X obj 340 420 r \$0-ypos; +#X obj 207 390 r \$0-ypos; +#X obj 17 430 expr if ($f1 == 1 \, $f2 \, $f3); +#X obj 161 480 pack f f \$2; +#X msg 286 210 read \$1 cr \, rewind; +#X msg 161 580 donecanvasdialog 1 -1 2 0 -1 1 1 \$3 \$2 0 0 \, dirty +0; +#X obj 315 440 * 1; +#X obj 315 340 f+ 0 1; +#X obj 405 390 s \$0-sellist; +#X obj 405 370 f; +#X obj 326 30 loadbang; +#X text 18 10 Reads configuration file and creates the menu scalars. +; +#X msg 315 480 scalar \$2 0 0 \$3 \$4 \$5 0 \$1 \$6 \$7; +#X obj 422 290 sel 1; +#X obj 422 320 999; +#X obj 450 320 0; +#X text 432 230 Sets default colors; +#X obj 422 270 expr if($i1 + $i2 == 0 \, 1 \, 0); +#X obj 422 250 list \$5 \$6; +#X obj 351 270 outlet; +#X obj 222 460 r \$0-lenght; +#X obj 315 300 t b a; +#X text 233 500 scalar parameters: x y menu lenght height selection +ypos col-back col-lab; +#X obj 182 350 r \$0-gop-height; +#X text 153 330 New height after "size"; +#X obj 326 50 t b b; +#X obj 353 70 t b b b b; +#X obj 306 90 t b b b; +#X obj 257 130 r \$0-load; +#X obj 257 150 t b s b; +#N canvas 424 551 297 172 path+file 0; +#X obj 12 66 symbol jp.menu-\$1.txt; +#X obj 12 106 list; +#X msg 12 126 read \$2/\$1 cr \, rewind; +#X obj 12 46 t b b; +#X obj 12 26 inlet; +#X obj 12 146 outlet; +#X text 12 6 Gets path of parent patch and opens file; +#X obj 33 86 getdir 3; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 5 0; +#X connect 3 0 0 0; +#X connect 3 1 7 0; +#X connect 4 0 3 0; +#X connect 7 0 1 1; +#X restore 325 180 pd path+file; +#N canvas 75 90 370 149 dimensions 0; +#X obj 11 109 s \$0-ypos; +#X obj 11 39 inlet; +#X obj 11 69 f \$3; +#X obj 11 89 expr if($i1 == 0 \, 17 \, $i1); +#X text 11 9 Checks if arguments for lenght and height are there. If +not \, takes 100 + 17 as default values.; +#X obj 181 69 f \$2; +#X obj 181 89 expr if($i1 == 0 \, 100 \, $i1); +#X obj 181 109 s \$0-lenght; +#X connect 1 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X restore 387 130 pd dimensions; +#X obj 315 460 pack f s s f f \$5 \$6; +#X obj 373 440 r \$0-lenght; +#X connect 0 0 35 0; +#X connect 0 1 1 1; +#X connect 0 1 11 0; +#X connect 0 1 23 0; +#X connect 1 0 0 0; +#X connect 2 0 3 0; +#X connect 5 0 46 1; +#X connect 6 0 46 2; +#X connect 7 0 16 2; +#X connect 7 0 17 1; +#X connect 9 0 4 0; +#X connect 10 0 17 0; +#X connect 11 0 33 0; +#X connect 12 0 16 0; +#X connect 13 0 16 1; +#X connect 14 0 20 1; +#X connect 14 0 46 4; +#X connect 15 0 7 1; +#X connect 16 0 10 0; +#X connect 17 0 9 0; +#X connect 17 0 19 0; +#X connect 18 0 0 0; +#X connect 19 0 8 0; +#X connect 20 0 7 0; +#X connect 20 0 46 0; +#X connect 21 0 20 0; +#X connect 21 0 23 1; +#X connect 23 0 22 0; +#X connect 24 0 39 0; +#X connect 26 0 4 0; +#X connect 27 0 29 0; +#X connect 27 0 28 0; +#X connect 28 0 46 5; +#X connect 29 0 46 6; +#X connect 31 0 27 0; +#X connect 32 0 31 0; +#X connect 34 0 17 2; +#X connect 35 0 21 0; +#X connect 35 1 6 0; +#X connect 37 0 16 2; +#X connect 39 0 41 0; +#X connect 39 1 40 0; +#X connect 40 0 5 0; +#X connect 40 1 32 0; +#X connect 40 2 45 0; +#X connect 40 3 2 0; +#X connect 41 0 1 0; +#X connect 41 1 44 0; +#X connect 41 2 21 1; +#X connect 42 0 43 0; +#X connect 43 0 1 0; +#X connect 43 1 18 0; +#X connect 43 2 21 1; +#X connect 44 0 0 0; +#X connect 46 0 26 0; +#X connect 47 0 46 3; +#X restore 197 110 pd patch; +#X obj 138 70 inlet; +#X obj 128 180 outlet; +#N canvas 537 83 484 364 selection 0; +#X obj 202 22 inlet; +#X obj 301 212 symbol \$0-paint; +#X obj 301 272 pointer; +#X msg 252 252 next; +#X msg 301 232 traverse pd-\$1; +#X msg 265 102 1 0 0 0; +#X obj 265 142 list-rot; +#X obj 310 122 * -1; +#X obj 265 162 list-drip; +#X obj 225 232 t f b; +#X msg 158 212 1 1 1 1; +#X obj 275 62 outlet; +#X obj 265 82 t b f b b; +#X obj 225 332 set \$0-element selection y; +#X obj 356 162 s \$0-open/close-i; +#X obj 158 122 r \$0-open/close; +#X obj 158 182 t b b; +#X obj 158 142 t f f; +#X msg 356 142 1; +#X obj 301 312 expr if ($f2 == 0 \, $f1 \, 0); +#X obj 158 162 sel 0; +#X obj 14 48 r \$0-sellist; +#X msg 68 108 set \, add2 1; +#X obj 41 128 until; +#X msg 51 148 add2 1; +#X msg 41 168 add2 0; +#X obj 41 88 t f b; +#X obj 14 68 sel 0; +#N canvas 927 111 462 171 messages 0; +#X obj 11 27 inlet; +#X text 12 7 Messages accepted by [jp.menu]; +#X obj 11 87 outlet; +#X obj 58 147 outlet; +#X obj 11 67 0; +#N canvas 843 386 300 290 color 0; +#X obj 16 52 route bang; +#X obj 16 242 s pd-\$0-color-selector; +#X msg 16 222 vis 1; +#N canvas 423 741 518 243 \$0-color-selector 0; +#N canvas 298 464 528 328 color-sel-gui 0; +#X obj 12 59 ds-color-sel; +#X obj 12 154 ds-color-sel; +#X obj 425 25 bng 15 250 50 0 \$0-send-colors \$0-send-colors-i empty +17 7 0 10 -228856 -1 -1; +#X text 442 23 Send colors; +#X obj 12 258 pack s f f; +#X msg 12 238 symbol color; +#X obj 12 298 s \$0-color-reset; +#X msg 12 278 \$2 \$3; +#X text 12 41 Background color; +#X text 12 136 Label and border color; +#X text 12 13 Click the desired color for the fields \, and click the +"send" button when you're finished.; +#X connect 0 0 4 1; +#X connect 1 0 4 2; +#X connect 2 0 5 0; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 7 0 6 0; +#X coords 0 -1 1 1 506 217 2 10 10; +#X restore 5 14 pd color-sel-gui; +#X restore 16 262 pd \$0-color-selector; +#X obj 83 72 r \$0-color-reset; +#X obj 16 32 inlet; +#X msg 92 142 traverse \$1; +#X obj 92 122 symbol pd-\$0-paint; +#X obj 92 162 pointer \$0-element; +#X msg 54 142 next; +#X obj 54 122 until; +#X obj 92 202 set \$0-element col-back col-lab; +#X obj 92 182 list prepend; +#X obj 73 92 t b b a; +#X text 17 12 Sets color scheme; +#X connect 0 0 2 0; +#X connect 0 1 13 0; +#X connect 2 0 1 0; +#X connect 4 0 13 0; +#X connect 5 0 0 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 12 0; +#X connect 8 2 10 1; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 12 0 11 0; +#X connect 13 0 10 0; +#X connect 13 1 7 0; +#X connect 13 2 12 1; +#X restore 120 87 pd color; +#N canvas 949 107 426 490 size 0; +#X obj 99 74 s pd-\$0-paint; +#X obj 82 114 s \$0-menu; +#X obj 48 14 inlet; +#X msg 99 54 donecanvasdialog 1 1 2 0 0 \$1 \$2 \$1 \$2 0 0 \, dirty +0; +#X msg 82 94 donecanvasdialog 1 -1 2 0 -1 1 1 \$1 \$2 0 0 \, dirty +0; +#X msg 65 374 traverse \$1; +#X obj 65 234 symbol pd-\$0-paint; +#X obj 65 394 pointer \$0-element; +#X msg 27 374 next; +#X obj 27 234 until; +#X obj 65 464 set \$0-element lenght height ypos; +#X obj 122 154 s \$0-ypos; +#X obj 65 134 unpack f f; +#X obj 65 174 s \$0-lenght; +#X obj 103 304 r \$0-ypos; +#X obj 88 324 * 1; +#X obj 88 284 f+ 0 1; +#X obj 48 204 t b b b a; +#X obj 27 254 t b b; +#X obj 65 424 pack p f f f; +#X msg 65 444 \$3 \$4 \$2 \$1; +#X obj 48 34 t l l l l; +#X obj 111 254 unpack f f; +#X obj 98 344 s \$0-gop-height; +#X connect 2 0 21 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 19 0; +#X connect 7 2 9 1; +#X connect 8 0 7 0; +#X connect 9 0 18 0; +#X connect 12 0 13 0; +#X connect 12 1 11 0; +#X connect 14 0 15 1; +#X connect 15 0 19 1; +#X connect 15 0 23 0; +#X connect 16 0 15 0; +#X connect 17 0 9 0; +#X connect 17 1 6 0; +#X connect 17 2 16 1; +#X connect 17 3 22 0; +#X connect 18 0 8 0; +#X connect 18 1 16 0; +#X connect 19 0 20 0; +#X connect 20 0 10 0; +#X connect 21 0 17 0; +#X connect 21 1 12 0; +#X connect 21 2 4 0; +#X connect 21 3 3 0; +#X connect 22 0 19 2; +#X connect 22 1 19 3; +#X restore 157 67 pd size; +#N canvas 1157 204 292 160 load 0; +#X obj 14 13 inlet; +#X msg 41 53 clear; +#X obj 41 73 s pd-\$0-paint; +#X obj 14 133 s \$0-load; +#X obj 14 33 t a b; +#X msg 14 113 symbol jp.menu-\$1.txt; +#X obj 14 93 symbol; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 4 0 6 0; +#X connect 4 1 1 0; +#X connect 5 0 3 0; +#X connect 6 0 5 0; +#X restore 193 87 pd load; +#X msg 314 87 Error: wrong command; +#X obj 314 107 print jp.menu-\$1; +#N canvas 517 402 403 243 input 0; +#X obj 10 50 inlet; +#X obj 10 70 i; +#X obj 10 140 moses 0; +#X obj 49 210 outlet; +#X text 9 11 Filters selection input. Selecting last element creates +new preset.; +#X msg 109 170 Error - outside preset range; +#X obj 70 50 inlet; +#X obj 210 50 inlet; +#X obj 70 100 +; +#X obj 70 70 1; +#X obj 210 100 +; +#X obj 210 70 -1; +#X obj 210 120 moses 0; +#X obj 70 120 moses 0; +#X obj 109 50 r \$0-sellist; +#X obj 109 190 print jp.menu-\$1; +#X obj 109 100 + 1; +#X obj 49 190 moses; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 8 1; +#X connect 1 0 10 1; +#X connect 2 0 5 0; +#X connect 2 1 17 0; +#X connect 5 0 15 0; +#X connect 6 0 9 0; +#X connect 7 0 11 0; +#X connect 8 0 13 0; +#X connect 9 0 8 0; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 5 0; +#X connect 12 1 1 0; +#X connect 13 0 1 0; +#X connect 13 1 5 0; +#X connect 14 0 16 0; +#X connect 16 0 13 1; +#X connect 16 0 17 1; +#X connect 17 0 3 0; +#X connect 17 1 5 0; +#X restore 58 127 pd input; +#X obj 11 47 route open float bang color size load next previous; +#X connect 0 0 11 0; +#X connect 4 0 2 0; +#X connect 8 0 9 0; +#X connect 10 0 3 0; +#X connect 11 0 4 0; +#X connect 11 1 10 0; +#X connect 11 2 10 0; +#X connect 11 3 5 0; +#X connect 11 4 6 0; +#X connect 11 5 7 0; +#X connect 11 6 10 1; +#X connect 11 7 10 2; +#X connect 11 8 8 0; +#X restore 202 42 pd messages; +#X obj 301 292 get \$0-element ypos menu; +#X obj 282 22 inlet; +#X connect 0 0 28 0; +#X connect 1 0 4 0; +#X connect 2 0 13 2; +#X connect 2 0 29 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 6 1; +#X connect 8 0 9 0; +#X connect 9 0 13 0; +#X connect 9 1 3 0; +#X connect 10 0 8 0; +#X connect 12 0 5 0; +#X connect 12 1 7 0; +#X connect 12 2 1 0; +#X connect 12 3 18 0; +#X connect 15 0 17 0; +#X connect 16 0 10 0; +#X connect 16 1 1 0; +#X connect 17 0 20 0; +#X connect 17 1 19 1; +#X connect 18 0 14 0; +#X connect 19 0 13 1; +#X connect 20 0 16 0; +#X connect 21 0 27 0; +#X connect 22 0 5 0; +#X connect 22 0 10 0; +#X connect 23 0 24 0; +#X connect 23 0 25 0; +#X connect 24 0 10 0; +#X connect 25 0 5 0; +#X connect 26 0 23 0; +#X connect 26 1 22 0; +#X connect 27 1 26 0; +#X connect 28 0 14 0; +#X connect 28 1 12 0; +#X connect 28 1 11 0; +#X connect 29 0 19 0; +#X connect 30 0 12 0; +#X restore 128 130 pd selection; +#X obj 147 90 receive \$4-i; +#X obj 137 160 send \$4; +#N canvas 125 353 450 300 \$0-paint 0; +#X scalar 1082-element 0 0 Click 100 17 1 0 999 0 \;; +#X scalar 1082-element 0 0 Voice + Click 100 17 0 17 999 0 \;; +#X scalar 1082-element 0 0 Voice 100 17 0 34 999 0 \;; +#X scalar 1082-element 0 0 Voice B+B 100 17 0 51 999 0 \;; +#X coords 0 0 100 17 100 17 2 0 0; +#X restore 0 0 pd \$0-paint; +#N canvas 436 171 450 300 zutun 0; +#X text 26 88 ## saida da direita com sÃmbolo de label. para isso +\, só tem que apanhar o sÃmbolo apenas quando entra float \, nao +quando há open.; +#X text 26 58 ## editar e gravar configuracao usando mensagens? funciona +com text \, ou tem que se usar a nova versao?; +#X restore 258 180 pd zutun; +#X connect 0 0 5 0; +#X connect 2 0 5 1; +#X connect 3 0 5 0; +#X connect 5 0 4 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X coords 0 -1 1 1 100 17 2 0 0; diff --git a/abstractions/jmmmp/jp.preset-help.pd b/abstractions/jmmmp/jp.preset-help.pd new file mode 100644 index 000000000..b35d27795 --- /dev/null +++ b/abstractions/jmmmp/jp.preset-help.pd @@ -0,0 +1,234 @@ +#N struct 1036-color float x float y float farbe; +#N struct 1036-color-display float x float y float farbe; +#N struct 1039-color float x float y float farbe; +#N struct 1039-color-display float x float y float farbe; +#N struct 1034-element float x float y symbol menu float lenght float +height float selection float ypos float col-back float col-lab; +#N struct 1132-color float x float y float farbe; +#N struct 1132-color-display float x float y float farbe; +#N struct 1135-color float x float y float farbe; +#N struct 1135-color-display float x float y float farbe; +#N struct 1130-element float x float y symbol menu float lenght float +height float selection float ypos float col-back float col-lab; +#N canvas 217 63 770 565 10; +#N canvas 0 0 396 419 license 0; +#X text 8 47 All rights reserved.; +#X text 8 227 The names of its contributors may not be used to endorse +or promote products derived from this software without specific prior +written permission.; +#X text 8 87 Redistribution and use in source and binary forms \, with +or without modification \, are permitted provided that the following +conditions are met:; +#X text 8 127 Redistributions of source code must retain the above +copyright notice \, this list of conditions and the following disclaimer. +; +#X text 8 297 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES \, INCLUDING +\, BUT NOT LIMITED TO \, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT \, INDIRECT +\, INCIDENTAL \, SPECIAL \, EXEMPLARY \, OR CONSEQUENTIAL DAMAGES (INCLUDING +\, BUT NOT LIMITED TO \, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES +; +#X text 8 167 Redistributions in binary form must reproduce the above +copyright notice \, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the distribution. +; +#X text 8 7 Copyright 2016 \, João Pais; +#X text 8 27 jmmmpais@gmail.com; +#X restore 411 536 pd license; +#X text 409 441 Outlets; +#X text 409 291 - bang - outputs current setting; +#N canvas 564 268 494 344 META 0; +#X text 12 95 LICENSE BSD; +#X text 12 75 LIBRARY jmmmp; +#X text 13 115 WEBSITE http://puredata.info/Members/jmmmp; +#X text 12 6 DESCRIPTION Dropdown menu programmed with data structures +; +#X text 12 36 KEYWORDS menu GOP data-structures; +#X text 12 55 AUTHOR João Pais <jmmmpais@gmail.com>; +#X text 12 135 VERSION 2016; +#X restore 501 536 pd META; +#X text 409 61 - name of configuration file; +#N canvas 403 54 381 365 configuration 0; +#X text 9 87 Name; +#X text 9 157 Content; +#X text 9 227 Load new file; +#X text 9 247 To load a new file \, send the message "load \$1" with +the symbol as argument.; +#X text 9 7 HOW TO FORMAT THE CONFIGURATION FILE FOR [jp.preset]; +#X text 9 37 The configuration file must be a .txt file \, stored in +the same folder as the main patch where [jp.preset] is being used. +; +#X text 9 107 The file must be named jp.preset-NAME.txt.; +#X text 9 127 The NAME will be used as the first argument for [jp.preset]. +; +#X text 9 177 The content consists of as many lines as items in the +menu. At the start of each line is the preset's label \, followed by +the parameters.; +#X msg 9 288 load test1; +#X msg 19 308 load test2; +#X obj 9 337 s \$0-test2-i; +#X connect 9 0 11 0; +#X connect 10 0 11 0; +#X restore 262 341 pd configuration; +#X text 410 516 (C) 2016 João Pais - jmmmpais@gmail.com; +#X text 409 211 - integer - select item number. From 0 upwards.; +#X obj 18 111 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 +-1 0; +#X text 429 121 - identifier for receive/send names; +#X msg 28 131 open; +#X text 409 191 Input messages; +#X text 409 271 - open - opens full menu; +#X text 12 466 Limitations of data structures; +#X text 12 526 - the message "drawnumber_motion: symbol" appears in +the console when instead of clicking \, the user drags the menu; +#N canvas 204 57 396 209 send/receive 0; +#X text 9 7 SEND/RECEIVE VARIABLES; +#X text 9 77 The variables are formated as:; +#X text 9 147 For example \, if the 3rd argument is "menusend" \, the +receive name will be "menusend-i". You can use also dollarsigns as +symbols: \$0 \, \$1 \, etc. \, as in the example in the main patch. +; +#X text 9 37 [jp.preset] lets you define an internal variable to use +with send and receive objects. You can send and receive any messages +to it.; +#X text 9 97 - the 4th argument gives the send name; +#X text 9 117 - the receive name adds "-i" to the 4th argument; +#X restore 164 401 pd send/receive; +#X text 409 351 - color \$1 \$2 - change colors; +#X text 429 141 - background color; +#X text 429 161 - label / border color; +#X text 409 391 - size x y - change menu size; +#X text 12 486 The following limitations are built in to Pure Data: +; +#X obj 18 171 print PRESET; +#X msg 238 301 1 2 3; +#X obj 238 281 prepend set; +#X text 409 311 - save \$1 ... - replaces current preset; +#X text 409 331 - rename - open input window to rename current preset +; +#X text 409 371 - color - open color selector; +#X text 409 411 - load \$1 - load other configuration from the same +folder; +#X text 14 381 Select items; +#N canvas 500 61 386 239 select 0; +#X msg 22 91 next; +#X msg 32 111 previous; +#X floatatom 12 71 5 0 0 0 - - -; +#X text 12 7 To select an item; +#X text 12 27 You can send an integer to select an item. The strings +"next" and "previous" also move between the elements of the menu.; +#X text 12 167 The message "open" shows the full menu.; +#X msg 12 187 open; +#X obj 12 131 s \$0-test2-i; +#X obj 12 207 s \$0-test2-i; +#X connect 0 0 7 0; +#X connect 1 0 7 0; +#X connect 2 0 7 0; +#X connect 6 0 8 0; +#X restore 164 381 pd select; +#X text 409 231 - next - outputs next item; +#X text 409 251 - previous - outputs previous item; +#X text 14 401 Send/receive variables; +#N canvas 491 72 386 554 edit 0; +#X text 12 337 You can edit the configuration file in anyway you want. +Or you can use the GUI:; +#X text 12 387 - the name window appears \, you will be prompted to +give it a name; +#X text 12 417 - the new preset slot is created. You can write data +to it by sending the message "save \$1 ..."; +#X text 12 367 - click the last preset slot \, called "NEW"; +#X text 12 447 - the preset file is automatically saved after you add +some content to it.; +#X text 12 317 To add a new preset; +#X text 12 37 To write a preset; +#X text 12 57 - select a preset \, making it active; +#X text 12 77 - send the message "save \$1 ..." to [jp.preset]. It +overwrites the active preset and saves the file.; +#X text 12 207 - select a preset \, making it active; +#X text 12 227 - send the message "save \$1 ..." to [jp.preset]. It +overwrites the active preset and saves the file.; +#X text 12 187 To rename a preset; +#X msg 11 107 save ano soa apdp aospd; +#X msg 21 127 save 1 23 aa xpto -5; +#X msg 11 257 rename; +#X text 12 7 All content operations save the preset file immediately. +; +#X text 12 497 To delete a preset; +#X text 12 517 For now \, the only way to delete a preset is by editing +the text file with the data.; +#X obj 11 147 s \$0-test2-i; +#X obj 11 277 s \$0-test2-i; +#X connect 12 0 18 0; +#X connect 13 0 18 0; +#X connect 14 0 19 0; +#X restore 164 361 pd edit; +#X text 14 361 Edit presets; +#X text 14 421 Display configuration; +#N canvas 509 163 442 464 display 0; +#X msg 21 307 color 57 600; +#X text 10 167 Change colors:; +#X obj 373 227 pd-colors; +#X msg 11 387 color; +#X text 11 367 Or send only the message "color" to open a color selector. +; +#X text 11 227 The colors follow the data structures color scheme. +Look at; +#X text 11 241 for a complete palette.; +#X text 11 257 If both color arguments are 0 \, default colors will +be used.; +#X msg 11 287 color 999 0; +#X text 91 287 default values; +#X text 11 207 \$1 = background color \, \$2 = label+border color; +#X text 11 187 Send the message "color \$1 \$2" to set the menu colors. +; +#X msg 31 327 color 60 999; +#X text 11 427 !! Mind \, for "color" the object doesn't get saved +with the new parameters !! You must edit the object itself.; +#X msg 20 47 size 60 70; +#X msg 30 67 size 120 20; +#X msg 10 27 size 80 15; +#X text 10 7 Change menu size; +#X text 10 107 !! Mind \, for "size" the object doesn't get saved with +the new parameters !! You must edit the object itself.; +#X obj 10 87 s \$0-test2-i; +#X obj 11 347 s \$0-test2-i; +#X obj 11 407 s \$0-test2-i; +#X connect 0 0 20 0; +#X connect 3 0 21 0; +#X connect 8 0 20 0; +#X connect 12 0 20 0; +#X connect 14 0 19 0; +#X connect 15 0 19 0; +#X connect 16 0 19 0; +#X restore 164 421 pd display; +#X text 19 211 This object is controlled by the send/receive variables +defined as arguments.; +#X text 14 91 This preset has 4 items; +#X text 428 81 - lenght (pixels) \, set to 100 if not used; +#X text 429 101 - height (pixels) \, set to 17 if not used; +#X text 409 31 Arguments - Always use the first argument \, others +are facultative; +#X obj 138 261 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X text 139 241 Send:; +#X text 239 241 Receive:; +#X text 12 41 [jp.preset] can be used to store and recall lists of +values. You can connect it with another object \, or use configurable +send/receive variables.; +#X text 11 11 [jp.preset] - Dropdown preset saver programmed with data +structures; +#X text 409 461 - list of elements; +#X obj 18 151 jp.preset test1; +#X obj 138 281 s \$0-test2-i; +#X obj 238 261 r \$0-test2; +#X text 14 341 Formatting/loading a configuration file; +#X text 12 506 - the size and font of the label can't be changed; +#X obj 18 241 jp.preset test2 100 22 \$0-test2 89 9; +#X connect 8 0 48 0; +#X connect 10 0 48 0; +#X connect 23 0 22 0; +#X connect 42 0 49 0; +#X connect 48 0 21 0; +#X connect 50 0 23 0; diff --git a/abstractions/jmmmp/jp.preset-test1.txt b/abstractions/jmmmp/jp.preset-test1.txt new file mode 100644 index 000000000..46f3e01df --- /dev/null +++ b/abstractions/jmmmp/jp.preset-test1.txt @@ -0,0 +1,5 @@ +test1 1 2 3 +test2 -1 -2 -3 -4 -5 +test3 0.1 0.2 0.3 0.4 +othertest a b 1 2 c 3 d e f -4 -5 -6 + diff --git a/abstractions/jmmmp/jp.preset-test2.txt b/abstractions/jmmmp/jp.preset-test2.txt new file mode 100644 index 000000000..3fbb6a1df --- /dev/null +++ b/abstractions/jmmmp/jp.preset-test2.txt @@ -0,0 +1,5 @@ +item1 1 2 3 +something -1 -2 -3 -4 -5 +else 0.1 0.2 0.3 0.4 +list a b 1 2 c 3 d e f -4 -5 -6 +a_symbol symb \ No newline at end of file diff --git a/abstractions/jmmmp/jp.preset.pd b/abstractions/jmmmp/jp.preset.pd new file mode 100644 index 000000000..bb0ee229c --- /dev/null +++ b/abstractions/jmmmp/jp.preset.pd @@ -0,0 +1,597 @@ +#N struct 1036-color float x float y float farbe; +#N struct 1036-color-display float x float y float farbe; +#N struct 1039-color float x float y float farbe; +#N struct 1039-color-display float x float y float farbe; +#N canvas 558 47 375 250 10; +#X declare -stdlib zexy; +#N canvas 156 50 442 365 \$0-element 0; +#X obj 8 94 route click; +#X obj 35 134 tgl 15 0 \$0-open/close \$0-open/close-i empty 17 7 0 +10 -262144 -1 -1 1 1; +#X obj 8 182 unpack pointer f; +#X obj 8 242 / 1; +#X obj 23 222 r \$0-ypos; +#X obj 8 262 outlet; +#X obj 8 152 spigot; +#X obj 8 114 t l b; +#X text 8 14 Data structures template and click interaction; +#X obj 8 202 get \$0-element ypos; +#X obj 8 44 struct \$0-element float x float y symbol menu float lenght +float height float selection float ypos float col-back float col-lab +; +#X obj 8 313 filledpolygon -v selection col-back col-lab 1 0 0 0 height +lenght height lenght 0; +#X obj 8 293 drawsymbol -v selection menu 4 2 col-lab; +#X connect 0 0 7 0; +#X connect 1 0 6 1; +#X connect 2 0 9 0; +#X connect 3 0 5 0; +#X connect 4 0 3 1; +#X connect 6 0 2 0; +#X connect 7 0 6 0; +#X connect 7 1 1 0; +#X connect 9 0 3 0; +#X connect 10 0 0 0; +#X restore 128 40 pd \$0-element; +#X obj 128 20 namecanvas \$0-menu; +#N canvas 800 113 691 659 patch 0; +#X msg 408 90 clear; +#X obj 408 110 s pd-\$0-paint; +#X obj 309 590 s pd-\$0-paint; +#X obj 357 150 symbol \$0-element; +#X obj 352 360 l2s; +#X obj 183 440 + 0; +#X obj 155 630 s \$0-menu; +#X msg 165 560 donecanvasdialog 1 1 2 0 0 \$3 \$2 \$3 \$2 0 0 \, dirty +0; +#X msg 8 480 0 \$1; +#X obj 350 250 0; +#X obj 8 420 r \$0-open/close; +#X obj 90 440 r \$0-ypos; +#X obj 198 420 r \$0-ypos; +#X obj 8 460 expr if ($f1 == 1 \, $f2 \, $f3); +#X msg 155 610 donecanvasdialog 1 -1 2 0 -1 1 1 \$3 \$2 0 0 \, dirty +0; +#X obj 309 470 * 1; +#X obj 309 380 f+ 0 1; +#X obj 401 430 s \$0-sellist; +#X obj 401 410 f; +#X text 22 10 Reads configuration file and creates the menu scalars. +; +#X msg 309 510 scalar \$2 0 0 \$3 \$4 \$5 0 \$1 \$6 \$7; +#X obj 496 270 sel 1; +#X obj 496 300 999; +#X obj 524 300 0; +#X text 496 210 Sets default colors; +#X obj 350 270 outlet; +#X obj 212 490 r \$0-lenght; +#X obj 309 340 t b a; +#X text 317 530 scalar parameters: x y menu lenght height selection +ypos col-back col-lab; +#X obj 173 400 r \$0-gop-height; +#X text 124 380 New height after "size"; +#X obj 330 50 t b b; +#X obj 357 70 t b b b b; +#X obj 261 150 r \$0-load; +#X obj 261 170 t b s b; +#N canvas 133 417 276 172 path+file 0; +#X obj 12 106 list; +#X obj 12 46 t b b; +#X obj 12 26 inlet; +#X text 12 6 Gets path of parent patch and opens file; +#X obj 12 66 symbol jp.preset-\$1.txt; +#X msg 12 126 symbol \$2/\$1; +#X obj 12 146 s \$0-load; +#X obj 33 86 ggee/getdir 3; +#X connect 0 0 5 0; +#X connect 1 0 4 0; +#X connect 1 1 7 0; +#X connect 2 0 1 0; +#X connect 4 0 0 0; +#X connect 5 0 6 0; +#X connect 7 0 0 1; +#X restore 280 90 pd path+file; +#X obj 280 300 list split 1; +#X obj 280 230 msgfile; +#X obj 261 210 until; +#X msg 280 190 read \$1 cr \, rewind; +#X obj 303 35 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 +-1; +#X obj 401 290 symbol NEW; +#X obj 350 230 t b b b b; +#X obj 411 270 r \$0-addNEW; +#X obj 401 310 t b s; +#X obj 330 30 loadbang; +#X obj 496 230 pack \$5 \$6; +#X obj 496 250 expr if($i1 + $i2 == 0 \, 1 \, 0); +#X text 436 491 pack f s s \$2 \$3 \$5 \$6; +#X obj 309 490 pack f s s f f \$5 \$6; +#X obj 155 510 pack f f f; +#X obj 337 440 r \$0-ypos; +#X obj 367 470 r \$0-lenght; +#N canvas 75 90 370 149 dimensions 0; +#X obj 11 109 s \$0-ypos; +#X obj 11 39 inlet; +#X obj 11 69 f \$3; +#X obj 11 89 expr if($i1 == 0 \, 17 \, $i1); +#X text 11 9 Checks if arguments for lenght and height are there. If +not \, takes 100 + 17 as default values.; +#X obj 181 69 f \$2; +#X obj 181 89 expr if($i1 == 0 \, 100 \, $i1); +#X obj 181 109 s \$0-lenght; +#X connect 1 0 2 0; +#X connect 1 0 5 0; +#X connect 2 0 3 0; +#X connect 3 0 0 0; +#X connect 5 0 6 0; +#X connect 6 0 7 0; +#X restore 391 130 pd dimensions; +#X connect 0 0 1 0; +#X connect 3 0 49 1; +#X connect 4 0 49 2; +#X connect 5 0 13 2; +#X connect 5 0 50 1; +#X connect 7 0 2 0; +#X connect 8 0 50 0; +#X connect 9 0 25 0; +#X connect 10 0 13 0; +#X connect 11 0 13 1; +#X connect 12 0 5 1; +#X connect 13 0 8 0; +#X connect 14 0 6 0; +#X connect 15 0 5 0; +#X connect 15 0 49 0; +#X connect 16 0 15 0; +#X connect 16 0 18 1; +#X connect 18 0 17 0; +#X connect 20 0 2 0; +#X connect 21 0 23 0; +#X connect 21 0 22 0; +#X connect 22 0 49 5; +#X connect 23 0 49 6; +#X connect 26 0 50 2; +#X connect 27 0 16 0; +#X connect 27 1 4 0; +#X connect 29 0 13 2; +#X connect 31 0 35 0; +#X connect 31 1 32 0; +#X connect 32 0 3 0; +#X connect 32 1 46 0; +#X connect 32 2 53 0; +#X connect 32 3 0 0; +#X connect 33 0 34 0; +#X connect 34 0 38 0; +#X connect 34 1 39 0; +#X connect 34 2 16 1; +#X connect 36 0 27 0; +#X connect 37 0 36 0; +#X connect 37 1 42 0; +#X connect 38 0 37 0; +#X connect 39 0 37 0; +#X connect 40 0 31 0; +#X connect 41 0 44 0; +#X connect 42 0 9 0; +#X connect 42 2 38 1; +#X connect 42 3 41 0; +#X connect 43 0 41 0; +#X connect 44 0 18 0; +#X connect 44 1 27 0; +#X connect 45 0 31 0; +#X connect 46 0 47 0; +#X connect 47 0 21 0; +#X connect 49 0 20 0; +#X connect 50 0 7 0; +#X connect 50 0 14 0; +#X connect 51 0 49 4; +#X connect 51 0 15 1; +#X connect 52 0 49 3; +#X restore 197 110 pd patch; +#X obj 138 70 inlet; +#X obj 128 180 outlet; +#N canvas 77 301 547 364 selection 0; +#X obj 234 22 inlet; +#X obj 301 212 symbol \$0-paint; +#X obj 301 272 pointer; +#X msg 252 252 next; +#X msg 301 232 traverse pd-\$1; +#X msg 265 102 1 0 0 0 0; +#X obj 364 122 * -1; +#X obj 225 232 t f b; +#X msg 158 212 1 1 1 1 1; +#X obj 297 62 outlet; +#X obj 265 82 t b f b b; +#X obj 225 332 set \$0-element selection y; +#X obj 396 162 s \$0-open/close-i; +#X obj 158 122 r \$0-open/close; +#X obj 158 182 t b b; +#X obj 158 142 t f f; +#X msg 396 142 1; +#X obj 301 312 expr if ($f2 == 0 \, $f1 \, 0); +#X obj 158 162 sel 0; +#X obj 14 48 r \$0-sellist; +#X msg 68 108 set \, add2 1; +#X obj 41 128 until; +#X msg 51 148 add2 1; +#X msg 41 168 add2 0; +#X obj 41 88 t f b; +#X obj 14 68 sel 0; +#N canvas 184 50 479 211 messages 0; +#X obj 11 27 inlet; +#X obj 11 107 outlet; +#X obj 170 177 outlet; +#X obj 11 87 0; +#N canvas 506 305 300 290 color 0; +#X obj 16 52 route bang; +#X obj 16 242 s pd-\$0-color-selector; +#X msg 16 222 vis 1; +#N canvas 423 741 518 243 \$0-color-selector 0; +#N canvas 298 464 528 328 color-sel-gui 0; +#X obj 12 59 ds-color-sel; +#X obj 12 154 ds-color-sel; +#X obj 425 25 bng 15 250 50 0 \$0-send-colors \$0-send-colors-i empty +17 7 0 10 -228856 -1 -1; +#X text 442 23 Send colors; +#X obj 12 258 pack s f f; +#X msg 12 238 symbol color; +#X obj 12 298 s \$0-color-reset; +#X msg 12 278 \$2 \$3; +#X text 12 41 Background color; +#X text 12 136 Label and border color; +#X text 12 13 Click the desired color for the fields \, and click the +"send" button when you're finished.; +#X connect 0 0 4 1; +#X connect 1 0 4 2; +#X connect 2 0 5 0; +#X connect 4 0 7 0; +#X connect 5 0 4 0; +#X connect 7 0 6 0; +#X coords 0 -1 1 1 506 217 2 10 10; +#X restore 5 14 pd color-sel-gui; +#X restore 16 262 pd \$0-color-selector; +#X obj 83 72 r \$0-color-reset; +#X obj 16 32 inlet; +#X msg 92 142 traverse \$1; +#X obj 92 122 symbol pd-\$0-paint; +#X obj 92 162 pointer \$0-element; +#X msg 54 142 next; +#X obj 54 122 until; +#X obj 92 202 set \$0-element col-back col-lab; +#X obj 92 182 list prepend; +#X obj 73 92 t b b a; +#X text 17 12 Sets color scheme; +#X connect 0 0 2 0; +#X connect 0 1 13 0; +#X connect 2 0 1 0; +#X connect 4 0 13 0; +#X connect 5 0 0 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X connect 8 0 12 0; +#X connect 8 2 10 1; +#X connect 9 0 8 0; +#X connect 10 0 9 0; +#X connect 12 0 11 0; +#X connect 13 0 10 0; +#X connect 13 1 7 0; +#X connect 13 2 12 1; +#X restore 100 107 pd color; +#N canvas 471 174 426 490 size 0; +#X obj 99 74 s pd-\$0-paint; +#X obj 82 114 s \$0-menu; +#X obj 48 14 inlet; +#X msg 99 54 donecanvasdialog 1 1 2 0 0 \$1 \$2 \$1 \$2 0 0 \, dirty +0; +#X msg 82 94 donecanvasdialog 1 -1 2 0 -1 1 1 \$1 \$2 0 0 \, dirty +0; +#X msg 65 374 traverse \$1; +#X obj 65 234 symbol pd-\$0-paint; +#X obj 65 394 pointer \$0-element; +#X msg 27 374 next; +#X obj 27 234 until; +#X obj 65 464 set \$0-element lenght height ypos; +#X obj 122 154 s \$0-ypos; +#X obj 65 134 unpack f f; +#X obj 65 174 s \$0-lenght; +#X obj 103 304 r \$0-ypos; +#X obj 88 324 * 1; +#X obj 88 284 f+ 0 1; +#X obj 48 204 t b b b a; +#X obj 27 254 t b b; +#X obj 65 424 pack p f f f; +#X msg 65 444 \$3 \$4 \$2 \$1; +#X obj 48 34 t l l l l; +#X obj 111 254 unpack f f; +#X obj 98 344 s \$0-gop-height; +#X connect 2 0 21 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X connect 7 0 19 0; +#X connect 7 2 9 1; +#X connect 8 0 7 0; +#X connect 9 0 18 0; +#X connect 12 0 13 0; +#X connect 12 1 11 0; +#X connect 14 0 15 1; +#X connect 15 0 19 1; +#X connect 15 0 23 0; +#X connect 16 0 15 0; +#X connect 17 0 9 0; +#X connect 17 1 6 0; +#X connect 17 2 16 1; +#X connect 17 3 22 0; +#X connect 18 0 8 0; +#X connect 18 1 16 0; +#X connect 19 0 20 0; +#X connect 20 0 10 0; +#X connect 21 0 17 0; +#X connect 21 1 12 0; +#X connect 21 2 4 0; +#X connect 21 3 3 0; +#X connect 22 0 19 2; +#X connect 22 1 19 3; +#X restore 126 87 pd size; +#N canvas 129 204 270 175 load 0; +#X obj 14 13 inlet; +#X msg 41 53 clear; +#X obj 41 73 s pd-\$0-paint; +#X obj 14 133 s \$0-load; +#X obj 14 33 t a b; +#X obj 14 93 symbol; +#X msg 14 113 symbol jp.preset-\$1.txt; +#X connect 0 0 4 0; +#X connect 1 0 2 0; +#X connect 4 0 5 0; +#X connect 4 1 1 0; +#X connect 5 0 6 0; +#X connect 6 0 3 0; +#X restore 162 107 pd load; +#X text 12 7 Messages accepted by [jp.preset]; +#X obj 57 157 outlet; +#N canvas 347 312 450 300 store 0; +#X obj 16 28 inlet; +#X text 67 28 guarda um outro preset \, primeiro envia-se o nr; +#X restore 297 21 pd store; +#N canvas 517 402 493 387 input 0; +#X obj 10 50 inlet; +#X obj 10 70 i; +#X obj 10 180 moses 0; +#X obj 49 200 moses; +#X obj 96 170 r \$0-sellist; +#X obj 106 200 + 1; +#X obj 29 330 outlet; +#X text 9 11 Filters selection input. Selecting last element creates +new preset.; +#X obj 79 220 moses; +#X msg 106 240 Error - outside preset range; +#X obj 106 260 print jp.preset-\$1; +#X msg 98 320 vis 1; +#X obj 98 340 s pd-RENAME-\$0; +#X text 138 289 clicking on "NEW" selects it \, renames it and makes +a new "NEW" preset; +#X obj 79 290 t b b f; +#X obj 79 360 s \$0-addNEW; +#X obj 70 50 inlet; +#X obj 210 50 inlet; +#X obj 70 100 +; +#X obj 70 70 1; +#X obj 210 100 +; +#X obj 210 70 -1; +#X obj 210 120 moses 0; +#X obj 70 120 moses 0; +#X obj 109 100 r \$0-sellist; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 1 0 18 1; +#X connect 1 0 20 1; +#X connect 2 0 9 0; +#X connect 2 1 3 0; +#X connect 3 0 6 0; +#X connect 3 1 8 0; +#X connect 4 0 5 0; +#X connect 4 0 3 1; +#X connect 5 0 8 1; +#X connect 8 0 14 0; +#X connect 8 1 9 0; +#X connect 9 0 10 0; +#X connect 11 0 12 0; +#X connect 14 0 15 0; +#X connect 14 1 11 0; +#X connect 14 2 6 0; +#X connect 16 0 19 0; +#X connect 17 0 21 0; +#X connect 18 0 23 0; +#X connect 19 0 18 0; +#X connect 20 0 22 0; +#X connect 21 0 20 0; +#X connect 22 0 9 0; +#X connect 22 1 1 0; +#X connect 23 0 1 0; +#X connect 23 1 9 0; +#X connect 24 0 23 1; +#X restore 57 127 pd input; +#N canvas 56 193 582 437 edit 0; +#X obj 61 307 outlet; +#X obj 37 137 r \$0-load; +#X msg 37 157 read \$1 cr; +#X obj 27 267 list split 1; +#X obj 27 247 msgfile; +#X msg 27 117 goto \$1 \, this; +#X obj 206 117 list prepend; +#X obj 206 137 list prepend replace; +#X obj 206 157 list trim; +#X obj 179 177 symbol; +#X msg 179 197 write \$1 cr; +#X obj 179 97 t b l; +#X obj 61 287 demux 0 1; +#X obj 356 247 1; +#X msg 322 267 this; +#X obj 305 227 t b b s b; +#X obj 305 247 0; +#X obj 454 337 symbol \$0-paint; +#X obj 454 377 pointer; +#X msg 405 357 next; +#X msg 454 357 traverse pd-\$1; +#X obj 295 397 set -symbol \$0-element menu; +#X obj 405 337 until; +#X obj 405 317 + 1; +#X obj 405 297 t f b; +#N canvas 494 50 387 83 RENAME-\$0 0; +#X symbolatom 9 56 50 0 0 0 - #0-renamesymb-i #0-renamesymb; +#X text 8 6 Click on the field below to input the new name for the +current preset. Must be a symbol (in one word) \, with any characters. +To finish typing \, press return.; +#X restore 395 267 pd RENAME-\$0; +#X obj 295 197 r \$0-renamesymb; +#X msg 395 227 vis 1; +#X obj 395 247 s pd-RENAME-\$0; +#X msg 435 227 vis 0; +#X obj 27 357 s \$0-renamesymb-i; +#X msg 27 337 set \$1; +#X text 70 337 updates name window; +#X obj 27 57 inlet; +#X text 7 97 stores file for edition; +#X obj 179 57 inlet; +#X text 178 37 saves preset; +#X obj 395 197 inlet; +#X text 324 177 renames preset; +#X text 28 17 Commands for edition \, saving \, rename; +#X obj 179 77 list prepend list; +#X text 231 57 to make sure that lists beginning with symbols are read +; +#X msg 228 315 add \$1; +#X connect 1 0 2 0; +#X connect 1 0 9 1; +#X connect 2 0 4 0; +#X connect 3 0 6 1; +#X connect 3 0 31 0; +#X connect 3 1 12 0; +#X connect 4 0 3 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 9 0 10 0; +#X connect 10 0 4 0; +#X connect 11 0 9 0; +#X connect 11 1 6 0; +#X connect 12 0 0 0; +#X connect 12 1 11 0; +#X connect 13 0 12 1; +#X connect 14 0 4 0; +#X connect 15 0 16 0; +#X connect 15 1 14 0; +#X connect 15 2 6 1; +#X connect 15 3 13 0; +#X connect 16 0 12 1; +#X connect 17 0 20 0; +#X connect 18 0 21 1; +#X connect 19 0 18 0; +#X connect 20 0 18 0; +#X connect 22 0 19 0; +#X connect 23 0 22 0; +#X connect 24 0 23 0; +#X connect 24 1 17 0; +#X connect 26 0 15 0; +#X connect 26 0 21 0; +#X connect 26 0 29 0; +#X connect 27 0 28 0; +#X connect 29 0 28 0; +#X connect 31 0 30 0; +#X connect 33 0 5 0; +#X connect 33 0 24 0; +#X connect 35 0 40 0; +#X connect 37 0 27 0; +#X connect 40 0 11 0; +#X restore 170 157 pd edit; +#X obj 11 47 route open float bang color size load save rename store +next previous; +#X msg 338 80 Error: wrong command; +#X obj 338 100 print jp.preset-\$1; +#X connect 0 0 12 0; +#X connect 3 0 1 0; +#X connect 10 0 8 0; +#X connect 10 0 11 0; +#X connect 11 0 2 0; +#X connect 12 0 3 0; +#X connect 12 1 10 0; +#X connect 12 2 10 0; +#X connect 12 3 4 0; +#X connect 12 4 5 0; +#X connect 12 5 6 0; +#X connect 12 6 11 1; +#X connect 12 7 11 2; +#X connect 12 9 10 1; +#X connect 12 10 10 2; +#X connect 12 11 13 0; +#X connect 13 0 14 0; +#X restore 234 42 pd messages; +#X obj 301 292 get \$0-element ypos menu; +#X obj 314 22 inlet; +#X obj 265 142 list-abs/list-rot; +#X obj 265 162 list-abs/list-drip; +#X connect 0 0 26 0; +#X connect 1 0 4 0; +#X connect 2 0 11 2; +#X connect 2 0 27 0; +#X connect 3 0 2 0; +#X connect 4 0 2 0; +#X connect 5 0 29 0; +#X connect 6 0 29 1; +#X connect 7 0 11 0; +#X connect 7 1 3 0; +#X connect 8 0 30 0; +#X connect 10 0 5 0; +#X connect 10 1 6 0; +#X connect 10 2 1 0; +#X connect 10 3 16 0; +#X connect 13 0 15 0; +#X connect 14 0 8 0; +#X connect 14 1 1 0; +#X connect 15 0 18 0; +#X connect 15 1 17 1; +#X connect 16 0 12 0; +#X connect 17 0 11 1; +#X connect 18 0 14 0; +#X connect 19 0 25 0; +#X connect 20 0 5 0; +#X connect 20 0 8 0; +#X connect 21 0 22 0; +#X connect 21 0 23 0; +#X connect 22 0 8 0; +#X connect 23 0 5 0; +#X connect 24 0 21 0; +#X connect 24 1 20 0; +#X connect 25 1 24 0; +#X connect 26 0 12 0; +#X connect 26 1 10 0; +#X connect 26 2 9 0; +#X connect 27 0 17 0; +#X connect 28 0 10 0; +#X connect 29 0 30 0; +#X connect 30 0 7 0; +#X restore 128 130 pd selection; +#X obj 147 90 receive \$4-i; +#X obj 137 160 send \$4; +#N canvas 125 353 450 300 \$0-paint 0; +#X coords 0 0 100 17 100 17 2 0 0; +#X restore 0 0 pd \$0-paint; +#N canvas 322 55 450 240 zutun 0; +#X text 26 18 ## ver questoes em aberto em jp.menu; +#X text 28 48 suggestion for commands; +#X text 28 68 - reload; +#X text 28 108 - flush (right outlet); +#X text 28 88 - delete; +#X text 28 128 - close (oposto de open); +#X text 28 148 - enviar comandos através do ficheiro de config (tamanho +\, cor \, etc); +#X restore 248 180 pd zutun; +#X obj 128 201 declare -stdlib zexy; +#X connect 0 0 5 0; +#X connect 2 0 5 1; +#X connect 3 0 5 0; +#X connect 5 0 4 0; +#X connect 5 0 7 0; +#X connect 6 0 5 0; +#X coords 0 -1 1 1 100 17 2 0 0; diff --git a/abstractions/jmmmp/mat-~.pd b/abstractions/jmmmp/mat-~.pd index 5b898c3cb..ea81c45ac 100644 --- a/abstractions/jmmmp/mat-~.pd +++ b/abstractions/jmmmp/mat-~.pd @@ -13,7 +13,7 @@ #X obj 29 352 env~ 8820; #X obj 39 87 inlet mute; #X obj 48 144 bang; -#X obj 48 164 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +#X obj 48 164 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 48 242 *; #X obj 48 182 t b f; @@ -54,7 +54,7 @@ in the documentation and/or other materials provided with the distribution. #X text 266 136 - Mute / Unmute (bang); #X obj 29 372 dbtofad; #X obj 36 125 hsl 119 10 0 127 0 0 empty empty empty -2 -8 0 10 -191407 --1 -33289 9100 0; +-1 -33289 0 0; #X obj 36 112 hsl 119 10 -100 12 0 0 empty empty empty -2 -8 0 10 -195568 -1 -1 0 1; #X obj 128 127 cnv 1 2 6 empty empty empty 20 12 0 14 -262144 -262144 @@ -65,7 +65,6 @@ in the documentation and/or other materials provided with the distribution. #X text 266 46 Arguments; #X text 266 66 - Level (0-127); #X obj 170 67 \$1; -#X obj 170 47 initbang; #X obj 78 144 1; #X obj 118 385 change; #X msg 118 405 color \$1 22 22; @@ -74,6 +73,7 @@ if ($f1 < -22 \, 15 \, if ($f1 < -16 \, 14 \, 13)))); #X text 11 8 [met~] - Level meter with amplitude control and color display; #X text 12 437 (C) 2009-2014 João Pais - jmmmpais@googlemail.com; +#X obj 170 47 iemlib/init; #X connect 1 0 6 0; #X connect 1 0 10 0; #X connect 2 0 1 1; @@ -83,7 +83,7 @@ display; #X connect 7 0 3 0; #X connect 7 0 8 0; #X connect 9 0 28 0; -#X connect 9 0 39 0; +#X connect 9 0 38 0; #X connect 10 0 26 0; #X connect 11 0 12 0; #X connect 12 0 13 0; @@ -98,10 +98,10 @@ display; #X connect 27 0 14 0; #X connect 31 1 27 0; #X connect 34 0 31 0; -#X connect 35 0 34 0; -#X connect 35 0 36 0; -#X connect 36 0 13 0; -#X connect 37 0 38 0; -#X connect 38 0 28 0; -#X connect 39 0 37 0; +#X connect 35 0 13 0; +#X connect 36 0 37 0; +#X connect 37 0 28 0; +#X connect 38 0 36 0; +#X connect 41 0 34 0; +#X connect 41 0 35 0; #X coords 0 -1 1 1 130 31 1 30 108; -- GitLab