aboutsummaryrefslogtreecommitdiff
path: root/examples/lifop.pd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/lifop.pd')
-rw-r--r--examples/lifop.pd33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/lifop.pd b/examples/lifop.pd
new file mode 100644
index 0000000..fe8169c
--- /dev/null
+++ b/examples/lifop.pd
@@ -0,0 +1,33 @@
+#N canvas 2 165 568 508 10;
+#X text 471 31 part of;
+#X obj 533 30 zexy;
+#X obj 58 192 lifop;
+#X msg 58 85 1 2 3 4 5;
+#X msg 69 110 list a list;
+#X msg 81 137 5;
+#X msg 199 127 bang;
+#X floatatom 200 163 5 0 0 1 priority - -;
+#X text 45 61 input lists;
+#X text 247 110 bang to output the last list that came in \; bang again
+to output the second last list \; and so on;
+#X obj 58 223 print LIFO;
+#X text 47 18 lifop:: Last-In-First-Out stack with Priorities;
+#X text 54 263 [lifop] manages a number of LIFO-stacks \; each stack
+has assigned a priority value \; the lower the value \, the higher
+the priority;
+#X text 52 312 banging the object will first empty the LIFO with the
+highest priority \, then the LIFO with the second highest priority
+until the LIFO with the lowest priority is emptied.;
+#X text 52 363 when all LIFOs are emptied \, nothing will come out
+of the object any more.;
+#X text 50 400 priorities can be floating-point numbers (1.8 has a
+higher priority then 10);
+#X text 52 445 note: you can store any number of lists into the [fifop]
+\, but just pushing lists on the stack without popping them back will
+eat your memory.;
+#X connect 2 0 10 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 2 0;
+#X connect 6 0 2 0;
+#X connect 7 0 2 1;