From 35994ca3a4ef6a136a16cac63b4f68540d0434e1 Mon Sep 17 00:00:00 2001 From: Frank Barknecht Date: Fri, 23 Apr 2004 16:22:42 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r1630, which included commits to RCS files with non-trunk default branches. svn path=/trunk/abstractions/rradical/; revision=1631 --- memento/tutorial/0-START.pd | 30 +++++++++++++++++++ memento/tutorial/0-tut.pd | 17 +++++++++++ memento/tutorial/1-tut.pd | 22 ++++++++++++++ memento/tutorial/10-tut.pd | 41 +++++++++++++++++++++++++ memento/tutorial/11-tut.pd | 25 ++++++++++++++++ memento/tutorial/12-tut.pd | 61 ++++++++++++++++++++++++++++++++++++++ memento/tutorial/2-tut.pd | 22 ++++++++++++++ memento/tutorial/3-tut.pd | 30 +++++++++++++++++++ memento/tutorial/4-tut.pd | 41 +++++++++++++++++++++++++ memento/tutorial/5-tut.pd | 51 +++++++++++++++++++++++++++++++ memento/tutorial/6-tut.pd | 39 ++++++++++++++++++++++++ memento/tutorial/7-tut.pd | 16 ++++++++++ memento/tutorial/8-tut.pd | 13 ++++++++ memento/tutorial/9-tut.pd | 20 +++++++++++++ memento/tutorial/MoreStates.dat | 22 ++++++++++++++ memento/tutorial/OSCAbstraction.pd | 32 ++++++++++++++++++++ memento/tutorial/TheStateName.dat | 6 ++++ memento/tutorial/anAbstraction.pd | 29 ++++++++++++++++++ memento/tutorial/miniab.pd | 18 +++++++++++ memento/tutorial/neu.dat | 22 ++++++++++++++ memento/tutorial/savedState.dat | 6 ++++ memento/tutorial/tutorial.pd | 15 ++++++++++ 22 files changed, 578 insertions(+) create mode 100644 memento/tutorial/0-START.pd create mode 100644 memento/tutorial/0-tut.pd create mode 100644 memento/tutorial/1-tut.pd create mode 100644 memento/tutorial/10-tut.pd create mode 100644 memento/tutorial/11-tut.pd create mode 100644 memento/tutorial/12-tut.pd create mode 100644 memento/tutorial/2-tut.pd create mode 100644 memento/tutorial/3-tut.pd create mode 100644 memento/tutorial/4-tut.pd create mode 100644 memento/tutorial/5-tut.pd create mode 100644 memento/tutorial/6-tut.pd create mode 100644 memento/tutorial/7-tut.pd create mode 100644 memento/tutorial/8-tut.pd create mode 100644 memento/tutorial/9-tut.pd create mode 100644 memento/tutorial/MoreStates.dat create mode 100644 memento/tutorial/OSCAbstraction.pd create mode 100644 memento/tutorial/TheStateName.dat create mode 100644 memento/tutorial/anAbstraction.pd create mode 100644 memento/tutorial/miniab.pd create mode 100644 memento/tutorial/neu.dat create mode 100644 memento/tutorial/savedState.dat create mode 100644 memento/tutorial/tutorial.pd (limited to 'memento/tutorial') diff --git a/memento/tutorial/0-START.pd b/memento/tutorial/0-START.pd new file mode 100644 index 0000000..c992182 --- /dev/null +++ b/memento/tutorial/0-START.pd @@ -0,0 +1,30 @@ +#N canvas 440 304 450 300 10; +#X obj 124 153 hradio 15 0 0 13 part empty Goto_part 0 -6 128 8 -262144 +-1 -1 0; +#X obj 9 7 cnv 15 100 20 empty empty Using_Memento 20 12 1 14 -262144 +-66577 0; +#N canvas 0 0 504 355 nav 0; +#X obj 82 38 r part; +#X msg 99 83 \; pd open \$1-tut.pd .; +#X obj 65 120 - 1; +#X obj 68 168 del 10; +#X obj 66 143 t b f; +#X obj 71 190 f; +#X obj 68 248 makefilename pd-%s; +#X msg 67 219 symbol \$1-tut.pd; +#X msg 68 280 \; pd \$1 menu_close \;; +#X connect 0 0 1 0; +#X connect 0 0 2 0; +#X connect 2 0 4 0; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 4 1 5 1; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 7 0 6 0; +#X restore 317 15 pd nav; +#X text 19 65 This is a tutorial explaing the Memento preset system. +To use it \, make sure \, the directory containing the memento patches +is in you pd-path \, then navigate through the tutorial parts with +the following radio button:; +#X floatatom 158 192 5 0 0 0 currently_viewing part -; diff --git a/memento/tutorial/0-tut.pd b/memento/tutorial/0-tut.pd new file mode 100644 index 0000000..53c010d --- /dev/null +++ b/memento/tutorial/0-tut.pd @@ -0,0 +1,17 @@ +#N canvas 489 406 539 307 10; +#X obj 9 7 cnv 15 100 20 empty empty Overview 20 12 1 14 -262144 -66577 +0; +#X text 44 168 The caretaker exists only once \, the originator exists +for every abstraction \, that needs to save something \, and commun +objects exists for every bit of a save.; +#X text 46 221 Let's look at the caretaker first.; +#X obj 349 32 s part; +#X msg 349 8 1; +#X text 377 7 click here \, to go on; +#X text 44 83 Memento is divided in various parts \, where each part +has a well defined responsibility. A single caretaker is responsible +for saving and loading state to rsp. from disk \, [originator]s wrap +all access to change or read out the state. The originator uses commun +objects to communicate with the things \, that represent the state. +; +#X connect 4 0 3 0; diff --git a/memento/tutorial/1-tut.pd b/memento/tutorial/1-tut.pd new file mode 100644 index 0000000..e92f68a --- /dev/null +++ b/memento/tutorial/1-tut.pd @@ -0,0 +1,22 @@ +#N canvas 328 363 557 382 10; +#X obj 9 7 cnv 15 100 20 empty empty The_Caretaker 20 12 1 14 -262144 +-66577 0; +#X obj 378 34 s part; +#X msg 378 10 2; +#X text 406 8 click here \, to go on; +#X text 44 83 The most comfortable way to use the caretaker object +is the careGUI GUI patch:; +#X obj 46 122 careGUI; +#X text 43 208 It *needs* to know a filename \, before it's functional. +You either can provide this as an argument \, or click on FILE to select +a state file.; +#X obj 434 284 bng 15 250 50 0 empty empty print 0 -6 0 8 -261689 -1 +-1; +#X text 41 305 Restore also sends a; +#X msg 191 305 bang; +#X text 230 306 to the careGUI outlet.; +#X text 39 332 You can use the bang \, to do housekeeping after a state +has been loaded from disk.; +#X text 38 257 Save and Restore do as they say: They move the memory +data to and from disk. To see the menory data \, you can press; +#X connect 2 0 1 0; diff --git a/memento/tutorial/10-tut.pd b/memento/tutorial/10-tut.pd new file mode 100644 index 0000000..5461ad6 --- /dev/null +++ b/memento/tutorial/10-tut.pd @@ -0,0 +1,41 @@ +#N canvas 347 241 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Using_OSC 20 12 1 14 -262144 -66577 +0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X obj 59 298 OSCAbstraction /OSCState; +#X msg 378 10 11; +#X obj 59 249 pack s s; +#X obj 249 245 pack s 0; +#X obj 418 244 pack s 0; +#X symbolatom 59 167 10 0 0 0 - - -; +#X obj 59 189 t b s; +#X obj 59 215 symbol /OSCState/aSymbol; +#X floatatom 249 167 5 0 0 0 - - -; +#X obj 418 171 hradio 15 1 0 8 empty empty aRadio 0 -6 0 8 -262144 +-1 -1 3; +#X obj 418 218 symbol /OSCState/aRadio; +#X obj 249 217 symbol /OSCState/aFloat; +#X obj 249 191 t b f; +#X obj 418 194 t b f; +#X text 55 76 Here's an example \, how you could create the needed +OSC-messages by hand: OSC-Selectors are like a filesystem path \, where +/ is the directory divider. First comes the name of the state \, after +that the thing to set and as second part of the list you give the value +to set.; +#X connect 4 0 1 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X connect 7 0 3 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 9 1 5 1; +#X connect 10 0 5 0; +#X connect 11 0 15 0; +#X connect 12 0 16 0; +#X connect 13 0 7 0; +#X connect 14 0 6 0; +#X connect 15 0 14 0; +#X connect 15 1 6 1; +#X connect 16 0 13 0; +#X connect 16 1 7 1; diff --git a/memento/tutorial/11-tut.pd b/memento/tutorial/11-tut.pd new file mode 100644 index 0000000..e1ebbf4 --- /dev/null +++ b/memento/tutorial/11-tut.pd @@ -0,0 +1,25 @@ +#N canvas 452 267 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Networking_with_OSC 20 12 1 14 +-262144 -66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X obj 76 340 OSCAbstraction /OSCState; +#X obj 126 291 sendOSC; +#X obj 76 316 dumpOSC 3000; +#X msg 282 274 connect localhost 3000; +#X obj 282 252 loadbang; +#X obj 76 187 netcontrol /OSCState aFloat; +#X obj 281 187 netcontrol /OSCState aRadio; +#X text 65 77 Memento comes with an example remote control GUI called +netcontrol. You give it the name of a receiver and then you can send +floats to that receiver. Doing the same for other data types like symbols +is left as an exercise to the reader. You supply the target state as +first argument \, the receiver as second arg (without / in the example) +; +#X msg 378 10 12; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 6 0; +#X connect 8 0 4 0; +#X connect 9 0 4 0; +#X connect 11 0 1 0; diff --git a/memento/tutorial/12-tut.pd b/memento/tutorial/12-tut.pd new file mode 100644 index 0000000..69ebb7e --- /dev/null +++ b/memento/tutorial/12-tut.pd @@ -0,0 +1,61 @@ +#N canvas 339 60 576 798 10; +#X obj 9 7 cnv 15 100 20 empty empty Summary_and_Conclusion 20 12 1 +14 -262144 -66577 0; +#X text 36 95 a) Things to do inside abstractions; +#X obj 71 240 originator \$1 \$0; +#X obj 125 183 commun /myFloat \$0; +#X floatatom 215 157 5 0 0 0 - - -; +#X obj 73 367 originator \$1 \$0; +#X obj 73 317 t b f; +#X msg 73 342 set; +#X msg 103 343 substate \$1; +#X floatatom 73 299 5 0 0 1 presets - -; +#X obj 234 300 inlet OSC; +#X text 45 397 b) Things to do in the parent patch; +#X text 72 419 1 create a single careGUI:; +#X obj 73 443 careGUI; +#X obj 74 582 miniab /one; +#X text 70 639 3 Use the OSC-inlet for remote control as you like. +; +#X text 151 717 Now have fun and: Please share your patches.; +#X text 39 37 Now you've seen in detail \, how to add a preset mechanism +and remote control with OSC to a patch using Memento. I'd like to end +this tutorial with a summary of what to do to memento-ize your work: +; +#X text 72 534 2 use your abstractions with unique identifiers as arguments +\, starting with a slash for OSC:; +#X text 66 124 1 X-wrap (cross-wrap) all things \, that you want to +save \, with 'commun' objects. Use names starting with slashes for +OSC:; +#X text 69 220 2 create a single [originator \$1 \$0] object per abstraction +; +#X text 71 278 3 Create a substate selector and OSC-inlet (optional): +; +#N canvas 0 0 450 300 OSC 0; +#X obj 114 56 loadbang; +#X obj 114 124 sendOSC; +#X msg 114 86 connect localhost 3001; +#X obj 62 62 inlet; +#X msg 228 107 disconnect; +#X connect 0 0 2 0; +#X connect 2 0 1 0; +#X connect 3 0 1 0; +#X connect 4 0 1 0; +#X restore 75 715 pd OSC; +#X obj 377 564 dumpOSC 3001; +#X obj 227 581 miniab /two; +#X obj 75 660 netcontrol /* myFloat; +#X text 150 736 (c) Frank Barknecht \, free to use +as you like.; +#X text 286 671 (See the /*? OSC knows wildcards!); +#X connect 3 0 4 0; +#X connect 4 0 3 0; +#X connect 6 0 7 0; +#X connect 6 1 8 0; +#X connect 7 0 5 0; +#X connect 8 0 5 0; +#X connect 9 0 6 0; +#X connect 10 0 5 1; +#X connect 23 0 14 0; +#X connect 23 0 24 0; +#X connect 25 0 22 0; diff --git a/memento/tutorial/2-tut.pd b/memento/tutorial/2-tut.pd new file mode 100644 index 0000000..fe56d09 --- /dev/null +++ b/memento/tutorial/2-tut.pd @@ -0,0 +1,22 @@ +#N canvas 322 395 557 382 10; +#X obj 9 7 cnv 15 100 20 empty empty The_Originator 20 12 1 14 -262144 +-66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X msg 378 10 3; +#X text 41 68 The originator object wraps access to the data stored +in memory. The object takes two creating argument: a symbol and a float. +; +#X obj 141 128 originator TheState 10; +#X text 45 160 The first \, symbolic argument will be the name of the +state \, that is managed. The second \, float argument is used for +communication with the commun objects. Normally it should be unique +to a patch \, because then you get only local communcation inside a +patch's borders. To make it unique use \$0:; +#X obj 139 256 originator AnotherState \$0; +#X text 48 282 If you intend to use your patch several times \, it's +possible to use \$1 as argument to originator \, so that the surrounding +patch will specify the state name. So in the end \, you'll probably +always use this:; +#X obj 139 353 originator \$1 \$0; +#X connect 3 0 1 0; diff --git a/memento/tutorial/3-tut.pd b/memento/tutorial/3-tut.pd new file mode 100644 index 0000000..083708a --- /dev/null +++ b/memento/tutorial/3-tut.pd @@ -0,0 +1,30 @@ +#N canvas 322 395 781 403 10; +#X obj 10 7 cnv 15 100 20 empty empty Originator_Methods 20 12 1 14 +-262144 -66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X obj 30 301 originator aState \$0; +#X msg 77 179 set; +#X msg 74 214 copy; +#X msg 72 233 paste; +#X msg 74 270 create AnotherState; +#X msg 77 132 substate \$1; +#X obj 77 110 hradio 15 0 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X text 219 108 Select a substate. Substates are subdirectories \, +that contain a set of state variables.; +#X text 217 173 Set the managed objects to the values of the substate +currently selected. Objects are managed with 'commun'. See later; +#X text 215 218 Copy and paste a complete substate.; +#X text 219 266 Create a totally new state. Overwrites the object argument. +Instead of a state called 'aState' now everything is inside a state +'AnotherState'.; +#X text 42 64 Originator accepts various methods:; +#X msg 378 10 4; +#X connect 4 0 3 0; +#X connect 5 0 3 0; +#X connect 6 0 3 0; +#X connect 7 0 3 0; +#X connect 8 0 3 0; +#X connect 9 0 8 0; +#X connect 15 0 1 0; diff --git a/memento/tutorial/4-tut.pd b/memento/tutorial/4-tut.pd new file mode 100644 index 0000000..66bb69d --- /dev/null +++ b/memento/tutorial/4-tut.pd @@ -0,0 +1,41 @@ +#N canvas 318 284 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Commun 20 12 1 14 -262144 -66577 +0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X msg 378 10 5; +#X obj 156 192 commun number 10; +#X text 63 82 'commun' objects are responsible for communication between +the 'originator' and the things you want to set. They also accept a +symbolic argument as first and a float as second argument. The symbolic +argument is used to uniquely identify the 'thing' that is managed. +The second \, float arg serves the communication with the 'originator'. +Normally you use \$0 here.; +#X text 60 214 X-lets; +#X floatatom 272 296 5 0 0 0 - - -; +#X obj 139 321 commun aRadio \$0; +#X obj 139 296 commun aFloat \$0; +#X obj 271 322 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X text 73 346 Of course you also can use send/receives for this \, +to keep things more readable:; +#X obj 92 430 s \$0-something-in; +#X obj 92 385 r \$0-something-out; +#X obj 92 406 commun aThing 10; +#X obj 263 432 s \$0-something-out; +#X obj 263 387 r \$0-something-in; +#X obj 266 410 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 0 1; +#X text 69 230 The inlet of commun reads \, what should be saved \, +continuosly. The outlet sets the managed 'thing' to the value \, that +is currently stored in the 'originator' state. So you normally 'cross-wrap' +things like this:; +#X connect 3 0 1 0; +#X connect 7 0 9 0; +#X connect 8 0 10 0; +#X connect 9 0 7 0; +#X connect 10 0 8 0; +#X connect 13 0 14 0; +#X connect 14 0 12 0; +#X connect 16 0 17 0; +#X connect 17 0 15 0; diff --git a/memento/tutorial/5-tut.pd b/memento/tutorial/5-tut.pd new file mode 100644 index 0000000..c8061d3 --- /dev/null +++ b/memento/tutorial/5-tut.pd @@ -0,0 +1,51 @@ +#N canvas 318 284 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Commun_and_Originator 20 12 1 +14 -262144 -66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X floatatom 166 253 5 0 0 0 - - -; +#X obj 98 334 commun aRadio \$0; +#X obj 97 282 commun aFloat \$0; +#X obj 167 310 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 4; +#X obj 87 421 s \$0-something-in; +#X obj 87 376 r \$0-something-out; +#X obj 223 422 s \$0-something-out; +#X obj 223 375 r \$0-something-in; +#X obj 226 400 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144 +-1 -1 3900 1; +#X msg 378 10 6; +#X obj 87 397 commun aThing \$0; +#X obj 152 202 originator myState \$0; +#X msg 152 177 set; +#X msg 189 177 substate \$1; +#X obj 159 126 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6 +0 10 -225280 -1 -1 0 1; +#X obj 159 153 t b f; +#X text 67 451 Now play with these settings and try to switch between +substates as well.; +#X text 66 224 And lets manage some things with commun objects. Note +the \$0.; +#X symbolatom 359 267 10 0 0 2 type_something_here - -; +#X obj 323 289 commun aSymbol \$0; +#X obj 323 313 symbol; +#X text 284 334 Symbols need another 'symbol' object!; +#X text 51 77 Now lets see \, how originator and commun work together. +First create the originator and add some messages to it:; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 8 0 13 0; +#X connect 10 0 11 0; +#X connect 11 0 9 0; +#X connect 12 0 1 0; +#X connect 13 0 7 0; +#X connect 15 0 14 0; +#X connect 16 0 14 0; +#X connect 17 0 18 0; +#X connect 18 0 15 0; +#X connect 18 1 16 0; +#X connect 21 0 22 0; +#X connect 22 0 23 0; +#X connect 23 0 21 0; diff --git a/memento/tutorial/6-tut.pd b/memento/tutorial/6-tut.pd new file mode 100644 index 0000000..de5eb56 --- /dev/null +++ b/memento/tutorial/6-tut.pd @@ -0,0 +1,39 @@ +#N canvas 318 284 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Saving_And_Loading 20 12 1 14 +-262144 -66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X floatatom 166 253 5 0 0 0 - - -; +#X obj 98 334 commun aRadio \$0; +#X obj 97 282 commun aFloat \$0; +#X obj 167 310 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 7; +#X msg 96 201 set; +#X msg 133 201 substate \$1; +#X obj 103 150 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6 +0 10 -225280 -1 -1 1 1; +#X obj 103 177 t b f; +#X symbolatom 359 267 10 0 0 2 type_something_here - -; +#X obj 323 289 commun aSymbol \$0; +#X obj 323 313 symbol; +#X text 284 334 Symbols need another 'symbol' object!; +#X msg 378 10 7; +#X text 51 77 Now only a single change: We added a caretaker with careGUI. +Please select a file then play with saving and restoring. You also +can peek into the state with PRINT.; +#X obj 98 377 careGUI; +#X obj 96 226 originator myState-2 \$0; +#X text 117 461 First select a FILE \, then SAVE!!!; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 3 0; +#X connect 6 0 4 0; +#X connect 7 0 18 0; +#X connect 8 0 18 0; +#X connect 9 0 10 0; +#X connect 10 0 7 0; +#X connect 10 1 8 0; +#X connect 11 0 12 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 15 0 1 0; diff --git a/memento/tutorial/7-tut.pd b/memento/tutorial/7-tut.pd new file mode 100644 index 0000000..3ad77f1 --- /dev/null +++ b/memento/tutorial/7-tut.pd @@ -0,0 +1,16 @@ +#N canvas 393 272 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Abstractions 20 12 1 14 -262144 +-66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X msg 378 10 8; +#X obj 59 187 anAbstraction TheStateName; +#X obj 98 377 careGUI TheStateName.dat; +#X text 57 78 Here's comes the cool part. All you've learned so far +also works with abstractions. Abstractions are pd-files \, that are +saved standalone and then called in another patch by name. Here we +gave our abstraction an argument \, that gets routed to the 'originator' +as name of the state. Play with it \, and don't forget to first select +a caretaker-file.; +#X text 100 461 First select a FILE \, then SAVE or RESTORE!!!; +#X connect 3 0 1 0; diff --git a/memento/tutorial/8-tut.pd b/memento/tutorial/8-tut.pd new file mode 100644 index 0000000..ecb1155 --- /dev/null +++ b/memento/tutorial/8-tut.pd @@ -0,0 +1,13 @@ +#N canvas 393 272 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Multiple_Abstractions 20 12 1 +14 -262144 -66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X text 100 461 First select a FILE \, then SAVE or RESTORE!!!; +#X obj 53 91 anAbstraction oneState; +#X obj 54 233 anAbstraction anotherState; +#X msg 378 10 9; +#X obj 98 377 careGUI MoreStates.dat; +#X text 52 56 By using different arguments \, you can even reuse an +abstraction several times \, each with its own state.; +#X connect 6 0 1 0; diff --git a/memento/tutorial/9-tut.pd b/memento/tutorial/9-tut.pd new file mode 100644 index 0000000..290e703 --- /dev/null +++ b/memento/tutorial/9-tut.pd @@ -0,0 +1,20 @@ +#N canvas 393 272 611 495 10; +#X obj 9 7 cnv 15 100 20 empty empty Remote_Control_with_OSC 20 12 +1 14 -262144 -66577 0; +#X obj 378 34 s part; +#X text 406 8 click here \, to go on; +#X text 98 476 First select a FILE \, then SAVE or RESTORE!!!; +#X obj 96 392 careGUI MoreStates.dat; +#X obj 47 163 OSCAbstraction /OSCState; +#X text 45 62 THere even is a remote control built into Memento. It +is done using Open Sound Control OSC. OSC requires \, that send- and +receive-names start with a slash '/'. So now our state name (the argument +of OSCAbstration) has a slash \, and if you look inside \, you'll see +\, that all commun objects now also start with a slash.; +#X msg 378 10 10; +#X text 44 314 Also the abstraction now has gotten an inlet which accepts +OSC-messages. This needs to be connected to the originator's right +inlet \, its 'OSC-inlet'. Those messages are always send to a receive +called \$0-OSC. Just always use it that way. See the next part for +an example useage.; +#X connect 7 0 1 0; diff --git a/memento/tutorial/MoreStates.dat b/memento/tutorial/MoreStates.dat new file mode 100644 index 0000000..8fd6aaf --- /dev/null +++ b/memento/tutorial/MoreStates.dat @@ -0,0 +1,22 @@ +myState-2 0 , aFloat , 50 +myState-2 0 , aSymbol , help +myState-2 0 , aRadio , 3 +myState-2 1 , aFloat , 82 +myState-2 1 , aSymbol , me +myState-2 1 , aRadio , 7 +TheStateName 0 , aFloat , 95 +TheStateName 0 , aSymbol , help +TheStateName 0 , aRadio , 1 +TheStateName 1 , aFloat , 60 +TheStateName 1 , aSymbol , hi +TheStateName 1 , aRadio , 4 +oneState 0 , aFloat , 30 +oneState 0 , aSymbol , ImFirst +oneState 0 , aRadio , 4 +oneState 1 , aSymbol , hi +anotherState 0 , aFloat , 109 +anotherState 0 , aSymbol , IamNumberTwo +anotherState 0 , aRadio , 1 +anotherState 1 , aFloat , 144 +anotherState 1 , aSymbol , second +anotherState 1 , aRadio , 7 diff --git a/memento/tutorial/OSCAbstraction.pd b/memento/tutorial/OSCAbstraction.pd new file mode 100644 index 0000000..d7c3617 --- /dev/null +++ b/memento/tutorial/OSCAbstraction.pd @@ -0,0 +1,32 @@ +#N canvas 128 135 527 326 10; +#X floatatom 61 224 5 0 0 1 aFloat - -; +#X obj 258 231 hradio 15 1 0 8 empty empty aRadio 0 -6 0 8 -262144 +-1 -1 4; +#X msg 52 137 set; +#X msg 89 137 substate \$1; +#X obj 59 86 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6 +0 10 -225280 -1 -1 0 1; +#X obj 59 113 t b f; +#X symbolatom 313 159 10 0 0 2 aSymbol - -; +#X obj 240 152 symbol; +#X text 201 173 Symbols need another 'symbol' object!; +#X obj 52 162 originator \$1 \$0; +#X obj 208 98 inlet; +#X text 262 99 OSC-In; +#X obj 240 128 commun /aSymbol \$0; +#X obj 56 253 commun /aFloat \$0; +#X obj 252 259 commun /aRadio \$0; +#X connect 0 0 13 0; +#X connect 1 0 14 0; +#X connect 2 0 9 0; +#X connect 3 0 9 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 5 1 3 0; +#X connect 6 0 12 0; +#X connect 7 0 6 0; +#X connect 10 0 9 1; +#X connect 12 0 7 0; +#X connect 13 0 0 0; +#X connect 14 0 1 0; +#X coords 0 0 1 1 400 140 1; diff --git a/memento/tutorial/TheStateName.dat b/memento/tutorial/TheStateName.dat new file mode 100644 index 0000000..a1c718e --- /dev/null +++ b/memento/tutorial/TheStateName.dat @@ -0,0 +1,6 @@ +TheStateName 0 , aFloat , 27 +TheStateName 0 , aSymbol , help +TheStateName 0 , aRadio , 1 +TheStateName 1 , aFloat , 60 +TheStateName 1 , aSymbol , hi +TheStateName 1 , aRadio , 4 diff --git a/memento/tutorial/anAbstraction.pd b/memento/tutorial/anAbstraction.pd new file mode 100644 index 0000000..3038356 --- /dev/null +++ b/memento/tutorial/anAbstraction.pd @@ -0,0 +1,29 @@ +#N canvas 128 135 527 326 10; +#X floatatom 58 189 5 0 0 0 - - -; +#X obj 54 270 commun aRadio \$0; +#X obj 53 218 commun aFloat \$0; +#X obj 60 242 hradio 15 1 0 8 empty empty empty 0 -6 0 8 -262144 -1 +-1 0; +#X msg 52 137 set; +#X msg 89 137 substate \$1; +#X obj 59 86 tgl 24 0 empty empty Toggles_Between_2_Substates 0 -6 +0 10 -225280 -1 -1 0 1; +#X obj 59 113 t b f; +#X symbolatom 305 202 10 0 0 2 type_something_here - -; +#X obj 232 171 commun aSymbol \$0; +#X obj 232 195 symbol; +#X text 193 216 Symbols need another 'symbol' object!; +#X obj 52 162 originator \$1 \$0; +#X connect 0 0 2 0; +#X connect 1 0 3 0; +#X connect 2 0 0 0; +#X connect 3 0 1 0; +#X connect 4 0 12 0; +#X connect 5 0 12 0; +#X connect 6 0 7 0; +#X connect 7 0 4 0; +#X connect 7 1 5 0; +#X connect 8 0 9 0; +#X connect 9 0 10 0; +#X connect 10 0 8 0; +#X coords 0 0 1 1 400 140 1; diff --git a/memento/tutorial/miniab.pd b/memento/tutorial/miniab.pd new file mode 100644 index 0000000..f212025 --- /dev/null +++ b/memento/tutorial/miniab.pd @@ -0,0 +1,18 @@ +#N canvas 82 160 413 225 10; +#X obj 27 180 originator \$1 \$0; +#X obj 27 130 t b f; +#X msg 27 155 set; +#X msg 57 153 substate \$1; +#X floatatom 27 90 5 0 0 3 presets - -; +#X obj 150 65 inlet OSC; +#X obj 211 124 commun /myFloat \$0; +#X floatatom 249 91 5 0 0 3 myFloat - -; +#X connect 1 0 2 0; +#X connect 1 1 3 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 1 0; +#X connect 5 0 0 1; +#X connect 6 0 7 0; +#X connect 7 0 6 0; +#X coords 0 0 1 1 140 50 1; diff --git a/memento/tutorial/neu.dat b/memento/tutorial/neu.dat new file mode 100644 index 0000000..f4e1c31 --- /dev/null +++ b/memento/tutorial/neu.dat @@ -0,0 +1,22 @@ +anotherState 0 , aRadio , 7 +anotherState 0 , aFloat , 9 +anotherState 0 , aSymbol , zwei +anotherState 1 , aRadio , 0 +anotherState 1 , aFloat , 31 +anotherState 1 , aSymbol , zweieinhalb +myState-2 0 , aRadio , 3 +myState-2 0 , aFloat , 50 +myState-2 0 , aSymbol , help +myState-2 1 , aRadio , 7 +myState-2 1 , aFloat , 82 +myState-2 1 , aSymbol , me +oneState 0 , aRadio , 3 +oneState 0 , aFloat , 9 +oneState 0 , aSymbol , eins +oneState 1 , aRadio , 7 +TheStateName 0 , aRadio , 1 +TheStateName 0 , aFloat , 27 +TheStateName 0 , aSymbol , help +TheStateName 1 , aRadio , 4 +TheStateName 1 , aFloat , 60 +TheStateName 1 , aSymbol , hi diff --git a/memento/tutorial/savedState.dat b/memento/tutorial/savedState.dat new file mode 100644 index 0000000..7532a60 --- /dev/null +++ b/memento/tutorial/savedState.dat @@ -0,0 +1,6 @@ +myState-2 0 , aFloat , 50 +myState-2 0 , aSymbol , help +myState-2 0 , aRadio , 3 +myState-2 1 , aFloat , 82 +myState-2 1 , aSymbol , me +myState-2 1 , aRadio , 7 diff --git a/memento/tutorial/tutorial.pd b/memento/tutorial/tutorial.pd new file mode 100644 index 0000000..5cd436b --- /dev/null +++ b/memento/tutorial/tutorial.pd @@ -0,0 +1,15 @@ +#N canvas 440 304 450 300 10; +#X obj 124 153 hradio 15 0 0 8 part empty Goto_part 0 -6 128 8 -262144 +-1 -1 0; +#X obj 9 7 cnv 15 100 20 empty empty Using_Memento 20 12 1 14 -262144 +-66577 0; +#N canvas 0 0 450 300 nav 0; +#X obj 82 38 r part; +#X msg 79 75 \; pd open \$1-tut.pd .; +#X connect 0 0 1 0; +#X restore 317 15 pd nav; +#X text 19 65 This is a tutorial explaing the Memento preset system. +To use it \, make sure \, the directory containing the memento patches +is in you pd-path \, then navigate through the tutorial parts with +the following radio button:; +#X floatatom 158 192 5 0 0 0 currently_viewing part -; -- cgit v1.2.1