aboutsummaryrefslogtreecommitdiff
path: root/compactidac
diff options
context:
space:
mode:
authorLuke Iannini <lukeiannini@users.sourceforge.net>2009-03-22 01:41:27 +0000
committerLuke Iannini <lukeiannini@users.sourceforge.net>2009-03-22 01:41:27 +0000
commitcc3062618f3e4ab08b3a3847a3993a8b567240ef (patch)
tree7a31f896f2bed17346428f1e093303c16cb9ebdd /compactidac
parent108c7c2f64b9254ea599073bd737f5e5a8b8d9c3 (diff)
more work on ds-choice-list, added ds-array for visualizing arrays more flexibly, and added a few more of jwilkes' prototypes from the list
svn path=/trunk/abstractions/ds-gui/; revision=10887
Diffstat (limited to 'compactidac')
-rwxr-xr-xcompactidac/compactidac~.pd199
-rwxr-xr-xcompactidac/expand.pd52
-rwxr-xr-xcompactidac/filetype.pd68
-rwxr-xr-xcompactidac/load.pd48
-rwxr-xr-xcompactidac/mute.pd78
-rwxr-xr-xcompactidac/rec.pd50
-rwxr-xr-xcompactidac/save.pd51
-rwxr-xr-xcompactidac/stop.pd53
-rwxr-xr-xcompactidac/test.pd16
-rwxr-xr-xcompactidac/volume.pd138
10 files changed, 753 insertions, 0 deletions
diff --git a/compactidac/compactidac~.pd b/compactidac/compactidac~.pd
new file mode 100755
index 0000000..6b48453
--- /dev/null
+++ b/compactidac/compactidac~.pd
@@ -0,0 +1,199 @@
+#N struct 1039-clickpoint float x float y float vis;
+#N struct 1039-slider float x float y float x0 float vis;
+#N struct 1040-mute float x float y float c;
+#N struct 1041-expand float x float y float max float max-shadow;
+#N struct 1042-save float x float y float border float vis;
+#N struct 1043-stop float x float y float border float vis;
+#N struct 1044-rec float x float y float border float vis;
+#N struct 1045-filetype float x float y float vis symbol ext;
+#N canvas 3 16 1004 682 12;
+#X obj 59 435 *~;
+#X obj 126 435 *~;
+#X obj 125 296 inlet~;
+#X obj 60 296 inlet~;
+#X obj 76 501 dac~;
+#X obj 60 530 outlet~;
+#X obj 127 531 outlet~;
+#X obj 148 401 line~;
+#X obj 148 350 dbtorms;
+#X msg 148 375 \$1 50;
+#X obj 296 144 moses 1;
+#X msg 336 234 set 0;
+#X obj 160 210 sel 0 1;
+#X msg 148 258 0;
+#X msg 186 258 set 0;
+#X msg 296 171 1;
+#X obj 296 31 inlet;
+#X obj 625 170 i;
+#X msg 502 164 \; pd dsp 1;
+#X obj 262 262 f 1;
+#X obj 113 6 loadbang;
+#X obj 571 6 namecanvas \$0-vol-abs;
+#X obj 113 31 t b b b;
+#X obj 625 333 list append \$0 pd-;
+#X obj 625 251 t a a;
+#X obj 662 277 - 5;
+#X obj 433 86 t a;
+#N canvas 0 46 1004 682 \$0-gop 0;
+#X scalar 1039-clickpoint 27 18 1 \;;
+#X scalar 1039-clickpoint 37 18 1 \;;
+#X scalar 1039-clickpoint 47 18 1 \;;
+#X scalar 1039-clickpoint 57 18 1 \;;
+#X scalar 1039-clickpoint 67 18 1 \;;
+#X scalar 1039-clickpoint 77 18 1 \;;
+#X scalar 1039-slider 25 17 0 1 \;;
+#X scalar 1040-mute 1 15 0 \;;
+#X scalar 1041-expand 0 0 999 999 \;;
+#X scalar 1041-expand 12 0 333 666 \;;
+#X scalar 1042-save 0 32 999 1 \;;
+#X scalar 1043-stop 69 32 999 1 \;;
+#X scalar 1044-rec 48 32 999 1 \;;
+#X scalar 1045-filetype 22 36 1 wav \;;
+#X coords 0 0 5 5 5 5 1;
+#X restore 3 6 pd \$0-gop;
+#X obj 625 226 + 30;
+#X obj 625 145 * 67;
+#X obj 296 115 volume \$0 25 17;
+#X obj 160 182 mute \$0 1 15;
+#X obj 188 31 s pd-\$0-gop;
+#X obj 139 59 s \$0-init;
+#X obj 625 66 expand \$0 0 0;
+#X msg 188 6 clear \, donecanvasdialog 1 -1 2 0 0 5 5 5 5 0 0;
+#X obj 625 118 line 1;
+#X msg 625 91 \$1 200;
+#X obj 625 195 change;
+#X obj 625 306 pack f f f;
+#X obj 702 225 + 44;
+#X msg 454 536 0;
+#X msg 340 536 0;
+#X msg 305 481 0;
+#X obj 305 456 del 200;
+#X obj 503 600 savepanel;
+#X obj 454 795 writesf~ 2;
+#X obj 340 480 save \$0 0 32;
+#X obj 454 566 stop \$0 69 32;
+#X obj 340 566 rec \$0 48 32;
+#X obj 620 620 filetype \$0 22 36;
+#X obj 691 144 * 20;
+#X obj 691 169 i;
+#X obj 691 194 change;
+#X obj 575 645 symbol;
+#X obj 575 670 makefilename %%s.%s;
+#X msg 575 695 set \$1;
+#X obj 503 725 makefilename;
+#X obj 503 625 t a b;
+#X msg 503 750 open \$1;
+#X obj 340 700 spigot;
+#X msg 540 654 1;
+#X msg 404 728 start;
+#X msg 454 728 stop;
+#X msg 385 654 0;
+#X obj 340 795 f;
+#X obj 374 795 == 0;
+#X obj 385 535 == 0;
+#X obj 340 770 metro 450;
+#X obj 296 56 route float;
+#X obj 381 170 b;
+#X obj 304 86 r \$0-mstr-lvl;
+#X obj 262 310 s \$0-mstr-lvl;
+#X obj 336 263 s \$0-mute;
+#X obj 160 156 r \$0-mute;
+#X msg 625 362 \; \$4-vol-abs donecanvasdialog 1 -1 2 0 0 1 -1 \$1
+\$3 0 0 \;;
+#X text 63 754 2009 Jonathan Wilkes;
+#X connect 0 0 4 0;
+#X connect 0 0 5 0;
+#X connect 1 0 4 1;
+#X connect 1 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 7 0 1 1;
+#X connect 7 0 0 1;
+#X connect 8 0 9 0;
+#X connect 9 0 7 0;
+#X connect 10 0 15 0;
+#X connect 10 1 8 0;
+#X connect 10 1 18 0;
+#X connect 10 1 19 1;
+#X connect 10 1 11 0;
+#X connect 11 0 73 0;
+#X connect 12 0 19 0;
+#X connect 12 1 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 8 0;
+#X connect 14 0 72 0;
+#X connect 15 0 73 0;
+#X connect 16 0 69 0;
+#X connect 17 0 38 0;
+#X connect 19 0 72 0;
+#X connect 20 0 22 0;
+#X connect 22 0 11 0;
+#X connect 22 1 33 0;
+#X connect 22 2 35 0;
+#X connect 23 0 75 0;
+#X connect 24 0 39 0;
+#X connect 24 1 25 0;
+#X connect 25 0 39 1;
+#X connect 26 0 30 1;
+#X connect 26 0 47 1;
+#X connect 26 0 48 1;
+#X connect 26 0 49 1;
+#X connect 26 0 50 1;
+#X connect 28 0 24 0;
+#X connect 29 0 17 0;
+#X connect 30 0 10 0;
+#X connect 31 0 12 0;
+#X connect 34 0 37 0;
+#X connect 34 0 26 0;
+#X connect 35 0 32 0;
+#X connect 36 0 29 0;
+#X connect 36 0 51 0;
+#X connect 37 0 36 0;
+#X connect 38 0 28 0;
+#X connect 39 0 23 0;
+#X connect 40 0 39 2;
+#X connect 41 0 48 0;
+#X connect 42 0 49 0;
+#X connect 43 0 47 0;
+#X connect 44 0 43 0;
+#X connect 45 0 58 0;
+#X connect 47 0 44 0;
+#X connect 47 0 42 0;
+#X connect 47 0 41 0;
+#X connect 47 0 45 0;
+#X connect 48 0 42 0;
+#X connect 48 0 63 0;
+#X connect 48 0 64 0;
+#X connect 49 0 41 0;
+#X connect 49 0 60 0;
+#X connect 50 0 54 1;
+#X connect 51 0 52 0;
+#X connect 52 0 53 0;
+#X connect 53 0 40 0;
+#X connect 54 0 55 0;
+#X connect 55 0 56 0;
+#X connect 56 0 57 0;
+#X connect 57 0 59 0;
+#X connect 58 0 57 0;
+#X connect 58 1 54 0;
+#X connect 58 1 61 0;
+#X connect 59 0 46 0;
+#X connect 60 0 62 0;
+#X connect 60 0 68 0;
+#X connect 61 0 60 1;
+#X connect 62 0 46 0;
+#X connect 63 0 46 0;
+#X connect 64 0 60 1;
+#X connect 64 0 67 0;
+#X connect 64 0 68 0;
+#X connect 65 0 66 0;
+#X connect 66 0 49 1;
+#X connect 66 0 65 1;
+#X connect 67 0 49 1;
+#X connect 68 0 65 0;
+#X connect 69 0 30 0;
+#X connect 69 1 70 0;
+#X connect 70 0 73 0;
+#X connect 71 0 30 0;
+#X connect 74 0 31 0;
+#X coords 0 0 1 -1 97 62 2 0 0;
diff --git a/compactidac/expand.pd b/compactidac/expand.pd
new file mode 100755
index 0000000..f0f5815
--- /dev/null
+++ b/compactidac/expand.pd
@@ -0,0 +1,52 @@
+#N canvas 0 56 1004 682 12;
+#N canvas 344 86 653 382 expand 0;
+#X obj 86 106 outlet;
+#X obj 119 305 filledpolygon 999 999 1 -1 -1 12 -1 12 14 -1 14;
+#X obj 125 172 drawpolygon max-shadow 1 2 11 12 11 12 3 2 3 2 11;
+#X obj 125 142 drawpolygon max 1 1 2 11 2 11 3 1 3 11 3 11 11 1 11
+1 2;
+#X obj 124 244 drawpolygon 666 1 2 12 10 12 2 12;
+#X obj 124 219 drawpolygon 333 1 1 11 9 11 1 11;
+#X obj 86 56 struct \$0-expand float x float y float max float max-shadow
+;
+#X connect 6 0 0 0;
+#X restore 23 50 pd expand;
+#X obj 475 189 pointer;
+#X obj 438 52 t b b;
+#X obj 23 75 route click;
+#X obj 23 100 unpack p;
+#X obj 23 220 outlet;
+#X obj 198 78 f \$2;
+#X obj 198 217 append \$0-expand x y max max-shadow;
+#X obj 198 103 t a a;
+#X obj 198 153 pack f f \$3;
+#X msg 198 181 \$1 \$3 999 999 \, \$2 \$3 333 666;
+#X obj 23 125 get \$0-expand max;
+#X obj 23 150 sel 999;
+#X msg 23 175 0;
+#X msg 76 175 1;
+#X obj 235 126 + 12;
+#X obj 438 26 r \$1-init;
+#X msg 475 164 traverse \$1\$2\$3 \, bang;
+#X obj 475 139 list prepend pd- \$1 -gop;
+#X connect 0 0 3 0;
+#X connect 1 0 7 4;
+#X connect 2 0 6 0;
+#X connect 2 1 18 0;
+#X connect 3 0 4 0;
+#X connect 4 0 11 0;
+#X connect 6 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 15 0;
+#X connect 9 0 10 0;
+#X connect 10 0 7 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 12 1 14 0;
+#X connect 13 0 5 0;
+#X connect 14 0 5 0;
+#X connect 15 0 9 1;
+#X connect 16 0 2 0;
+#X connect 17 0 1 0;
+#X connect 18 0 17 0;
+#X coords 0 0 1 1 26 15 0;
diff --git a/compactidac/filetype.pd b/compactidac/filetype.pd
new file mode 100755
index 0000000..cf3d6dc
--- /dev/null
+++ b/compactidac/filetype.pd
@@ -0,0 +1,68 @@
+#N canvas 154 140 730 457 12;
+#X obj 578 162 pointer;
+#X obj 73 37 route click;
+#X obj 541 84 t b b;
+#X obj 541 56 r \$1-init;
+#X obj 578 112 list prepend pd- \$1 -gop;
+#X msg 578 137 traverse \$1\$2\$3 \, bang;
+#X obj 13 38 inlet;
+#X obj 73 87 t b a;
+#X obj 267 38 inlet;
+#X obj 437 198 append \$0-filetype x y vis;
+#X obj 437 252 t b a;
+#X obj 267 222 set \$0-filetype vis;
+#X obj 73 115 f;
+#X obj 106 115 + 1;
+#X obj 73 140 mod 3;
+#X obj 73 170 sel 0 1 2;
+#X obj 73 387 outlet;
+#X obj 437 162 pack \$2 \$3 1;
+#N canvas 502 92 490 255 filetype 1;
+#X obj 7 36 outlet;
+#X obj 7 11 struct \$0-filetype float x float y float vis symbol ext
+;
+#X obj 110 145 drawpolygon -v vis 999 1 -1 16 26 16;
+#X text 34 138 hide gop;
+#X text 39 158 border;
+#X obj 109 93 drawsymbol -v vis ext 0 0 322;
+#X connect 1 0 0 0;
+#X restore 73 10 pd filetype;
+#X obj 437 329 set -symbol \$0-filetype ext;
+#X obj 73 271 set -symbol \$0-filetype ext;
+#X obj 73 62 unpack p f;
+#X msg 73 195 symbol aiff;
+#X msg 96 220 symbol snd;
+#X msg 119 245 symbol wav;
+#X obj 437 302 symbol;
+#X msg 437 277 wav;
+#X connect 0 0 9 3;
+#X connect 1 0 21 0;
+#X connect 2 0 17 0;
+#X connect 2 1 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 0 0;
+#X connect 7 0 12 0;
+#X connect 7 1 20 1;
+#X connect 8 0 11 0;
+#X connect 9 0 10 0;
+#X connect 9 0 11 1;
+#X connect 9 0 20 1;
+#X connect 10 0 26 0;
+#X connect 10 1 19 1;
+#X connect 12 0 13 0;
+#X connect 12 0 14 0;
+#X connect 13 0 12 1;
+#X connect 14 0 15 0;
+#X connect 15 0 22 0;
+#X connect 15 1 23 0;
+#X connect 15 2 24 0;
+#X connect 17 0 9 0;
+#X connect 18 0 1 0;
+#X connect 21 0 7 0;
+#X connect 22 0 20 0;
+#X connect 23 0 20 0;
+#X connect 24 0 20 0;
+#X connect 25 0 19 0;
+#X connect 25 0 16 0;
+#X connect 26 0 25 0;
diff --git a/compactidac/load.pd b/compactidac/load.pd
new file mode 100755
index 0000000..444b316
--- /dev/null
+++ b/compactidac/load.pd
@@ -0,0 +1,48 @@
+#N canvas 20 86 1004 682 12;
+#N canvas 37 15 546 300 load 1;
+#X obj 71 65 outlet;
+#X obj 71 41 struct \$0-load float x float y float border;
+#X obj 111 156 filledpolygon 999 border 1 0 0 20 0 20 20 0 20;
+#X obj 111 96 filledpolygon 0 0 1 5 9 10 4 15 9;
+#X obj 111 126 filledpolygon 0 0 1 5 12 5 15 15 15 15 12;
+#X connect 1 0 0 0;
+#X restore 107 41 pd load;
+#X obj 401 176 pointer;
+#X obj 107 71 route click;
+#X obj 43 201 outlet;
+#X obj 364 98 t b b;
+#X obj 364 70 r \$1-init;
+#X obj 401 126 list prepend pd- \$1 -gop;
+#X msg 401 151 traverse \$1\$2\$3 \, bang;
+#X obj 260 176 pack \$2 \$3 999;
+#X obj 107 96 unpack p;
+#X obj 142 151 == 0;
+#X obj 107 151 f 1;
+#X obj 107 176 sel 0 1;
+#X obj 47 72 inlet;
+#X msg 107 201 999;
+#X msg 133 229 0;
+#X obj 107 121 t a a;
+#X obj 260 212 append \$0-load x y border;
+#X obj 107 256 set \$0-load border;
+#X connect 0 0 2 0;
+#X connect 1 0 17 3;
+#X connect 2 0 9 0;
+#X connect 4 0 8 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 8 0 17 0;
+#X connect 9 0 16 0;
+#X connect 10 0 11 1;
+#X connect 11 0 10 0;
+#X connect 11 0 12 0;
+#X connect 11 0 3 0;
+#X connect 12 0 14 0;
+#X connect 12 1 15 0;
+#X connect 13 0 11 0;
+#X connect 14 0 18 0;
+#X connect 15 0 18 0;
+#X connect 16 0 11 0;
+#X connect 16 1 18 1;
diff --git a/compactidac/mute.pd b/compactidac/mute.pd
new file mode 100755
index 0000000..0f8f271
--- /dev/null
+++ b/compactidac/mute.pd
@@ -0,0 +1,78 @@
+#N canvas 173 240 804 453 12;
+#X obj 74 90 route click;
+#X obj 111 194 == 0;
+#X obj 150 239 s \$0-x;
+#X msg 74 270 555;
+#N canvas 258 229 741 372 \$0-mute 0;
+#X obj 70 59 outlet;
+#X text 26 326 rect to hide gop box;
+#X obj 70 34 struct \$0-mute float x float y float c;
+#X obj 193 326 filledpolygon 999 999 1 -1 -1 23 -1 23 16 -1 16;
+#X text 120 209 drybrush;
+#X text 147 140 horn;
+#X obj 193 139 filledpolygon 459 c 1 1 6 5 6 10 1 11 1 11 15 10 15
+5 10 1 10;
+#X text 173 109 x;
+#X obj 193 79 r \$0-x;
+#X obj 193 109 drawpolygon 911 2 2 2 14 14 8 8 2 14 14 2 8 8;
+#X obj 193 180 drawpolygon c 1 14 6 15 7 15 9 14 10 15 9;
+#X obj 193 210 drawpolygon c 1 16 4 17 5 18 6 18 10 17 11 16 12 17
+11;
+#X obj 193 240 drawpolygon c 1 19 2 20 3 20 4 21 5 21 11 20 12 20 13
+19 14 18 15;
+#X connect 2 0 0 0;
+#X connect 8 0 9 0;
+#X restore 74 65 pd \$0-mute;
+#X obj 74 296 set \$0-mute c;
+#X obj 262 75 inlet;
+#X obj 188 296 outlet;
+#X obj 262 100 route set;
+#X obj 74 194 f;
+#X obj 74 245 sel 1;
+#X obj 262 127 == 0;
+#X obj 74 115 b;
+#N canvas 0 0 450 509 init 0;
+#X obj 12 15 inlet;
+#X obj 12 246 outlet;
+#X obj 169 157 pointer;
+#X obj 12 46 t b b;
+#X obj 12 185 pack 0 \$2 \$3;
+#X msg 12 150 0;
+#X obj 12 217 append \$0-mute c x y;
+#X obj 49 73 list prepend pd- \$1 -gop;
+#X msg 169 132 traverse \$1\$2\$3 \, bang;
+#X connect 0 0 3 0;
+#X connect 2 0 6 3;
+#X connect 3 0 5 0;
+#X connect 3 1 7 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 1 0;
+#X connect 7 0 8 0;
+#X connect 8 0 2 0;
+#X restore 377 104 pd init;
+#X obj 150 120 loadbang;
+#X msg 150 145 0;
+#X obj 377 76 r \$1-init;
+#X connect 0 0 12 0;
+#X connect 1 0 9 1;
+#X connect 3 0 5 0;
+#X connect 4 0 0 0;
+#X connect 6 0 8 0;
+#X connect 8 0 11 0;
+#X connect 8 0 10 0;
+#X connect 8 0 2 0;
+#X connect 8 1 9 0;
+#X connect 9 0 1 0;
+#X connect 9 0 10 0;
+#X connect 9 0 2 0;
+#X connect 9 0 7 0;
+#X connect 10 0 3 0;
+#X connect 10 1 5 0;
+#X connect 11 0 9 1;
+#X connect 12 0 9 0;
+#X connect 13 0 5 1;
+#X connect 14 0 15 0;
+#X connect 15 0 2 0;
+#X connect 16 0 13 0;
+#X coords 0 0 1 1 22 16 0;
diff --git a/compactidac/rec.pd b/compactidac/rec.pd
new file mode 100755
index 0000000..a409cd1
--- /dev/null
+++ b/compactidac/rec.pd
@@ -0,0 +1,50 @@
+#N canvas 0 86 1004 682 12;
+#X obj 401 176 pointer;
+#X obj 107 71 route click;
+#X obj 43 201 outlet;
+#X obj 364 98 t b b;
+#X obj 364 70 r \$1-init;
+#X obj 401 126 list prepend pd- \$1 -gop;
+#X msg 401 151 traverse \$1\$2\$3 \, bang;
+#X obj 107 96 unpack p;
+#X obj 107 176 sel 0 1;
+#X obj 47 72 inlet;
+#X msg 107 201 999;
+#X msg 133 229 0;
+#X obj 107 121 t b a;
+#X obj 107 146 1;
+#X obj 682 67 inlet;
+#X obj 682 341 set \$0-rec vis;
+#X obj 107 256 set \$0-rec border;
+#N canvas 502 92 490 255 rec 1;
+#X obj 7 36 outlet;
+#X obj 7 11 struct \$0-rec float x float y float border float vis;
+#X obj 47 116 filledpolygon -v vis 999 border 1 0 0 20 0 20 20 0 20
+;
+#X obj 47 86 filledpolygon -v vis 933 233 1 4 17 17 10 4 3;
+#X connect 1 0 0 0;
+#X restore 107 44 pd rec;
+#X obj 260 212 append \$0-rec x y border vis;
+#X obj 260 176 pack \$2 \$3 999 1;
+#X connect 0 0 18 4;
+#X connect 1 0 7 0;
+#X connect 3 0 19 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 6 0 0 0;
+#X connect 7 0 12 0;
+#X connect 8 0 10 0;
+#X connect 8 1 11 0;
+#X connect 9 0 8 0;
+#X connect 10 0 16 0;
+#X connect 11 0 16 0;
+#X connect 12 0 13 0;
+#X connect 12 0 2 0;
+#X connect 12 1 16 1;
+#X connect 13 0 8 0;
+#X connect 14 0 15 0;
+#X connect 17 0 1 0;
+#X connect 18 0 15 1;
+#X connect 18 0 16 1;
+#X connect 19 0 18 0;
diff --git a/compactidac/save.pd b/compactidac/save.pd
new file mode 100755
index 0000000..6df4e41
--- /dev/null
+++ b/compactidac/save.pd
@@ -0,0 +1,51 @@
+#N canvas 0 86 1004 682 12;
+#N canvas 280 171 525 300 save 0;
+#X obj 71 66 outlet;
+#X obj 71 41 struct \$0-save float x float y float border float vis
+;
+#X obj 111 168 filledpolygon -v vis 999 border 1 0 0 20 0 20 20 0 20
+;
+#X obj 111 116 drawpolygon -v vis 0 1 2 2 15 2 15 9 5 9 5 2 18 2 18
+18 6 18 6 12 14 12 14 18 2 18 2 2;
+#X connect 1 0 0 0;
+#X restore 107 44 pd save;
+#X obj 399 176 pointer;
+#X obj 107 71 route click;
+#X obj 43 201 outlet;
+#X obj 362 98 t b b;
+#X obj 362 70 r \$1-init;
+#X obj 399 126 list prepend pd- \$1 -gop;
+#X msg 399 151 traverse \$1\$2\$3 \, bang;
+#X obj 107 96 unpack p;
+#X obj 107 176 sel 0 1;
+#X obj 47 72 inlet;
+#X msg 107 201 999;
+#X msg 133 229 0;
+#X obj 107 256 set \$0-save border;
+#X obj 107 121 t b a;
+#X obj 107 146 1;
+#X obj 682 67 inlet;
+#X obj 682 341 set \$0-save vis;
+#X obj 260 212 append \$0-save x y border vis;
+#X obj 260 176 pack \$2 \$3 999 1;
+#X connect 0 0 2 0;
+#X connect 1 0 18 4;
+#X connect 2 0 8 0;
+#X connect 4 0 19 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 8 0 14 0;
+#X connect 9 0 11 0;
+#X connect 9 1 12 0;
+#X connect 10 0 9 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 14 0 15 0;
+#X connect 14 0 3 0;
+#X connect 14 1 13 1;
+#X connect 15 0 9 0;
+#X connect 16 0 17 0;
+#X connect 18 0 17 1;
+#X connect 19 0 18 0;
diff --git a/compactidac/stop.pd b/compactidac/stop.pd
new file mode 100755
index 0000000..9e52807
--- /dev/null
+++ b/compactidac/stop.pd
@@ -0,0 +1,53 @@
+#N canvas 0 84 1004 682 12;
+#N canvas 37 15 546 300 stop 1;
+#X obj 71 66 outlet;
+#X obj 71 41 struct \$0-stop float x float y float border float vis
+;
+#X obj 91 209 filledpolygon -v vis 999 border 1 0 0 20 0 20 20 0 20
+;
+#X obj 91 127 filledpolygon -v vis 933 933 1 5 7 7 5 10 8 13 5 15 7
+12 10 15 13 13 15 10 12 7 15 5 13 8 10 5 7 2 7 2 13 7 18 13 18 18 13
+18 7 13 2 7 2 2 7 5 7;
+#X connect 1 0 0 0;
+#X restore 107 43 pd stop;
+#X obj 401 176 pointer;
+#X obj 107 71 route click;
+#X obj 43 201 outlet;
+#X obj 364 98 t b b;
+#X obj 364 70 r \$1-init;
+#X obj 401 126 list prepend pd- \$1 -gop;
+#X msg 401 151 traverse \$1\$2\$3 \, bang;
+#X obj 107 96 unpack p;
+#X obj 107 176 sel 0 1;
+#X obj 47 72 inlet;
+#X msg 107 201 999;
+#X msg 133 229 0;
+#X obj 107 256 set \$0-stop border;
+#X obj 107 121 t b a;
+#X obj 107 146 1;
+#X obj 682 67 inlet;
+#X obj 682 341 set \$0-stop vis;
+#X obj 260 212 append \$0-stop x y border vis;
+#X obj 260 176 pack \$2 \$3 999 1;
+#X connect 0 0 2 0;
+#X connect 1 0 18 4;
+#X connect 2 0 8 0;
+#X connect 4 0 19 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 7 0;
+#X connect 7 0 1 0;
+#X connect 8 0 14 0;
+#X connect 9 0 11 0;
+#X connect 9 1 12 0;
+#X connect 10 0 9 0;
+#X connect 11 0 13 0;
+#X connect 12 0 13 0;
+#X connect 14 0 15 0;
+#X connect 14 0 3 0;
+#X connect 14 1 13 1;
+#X connect 15 0 9 0;
+#X connect 16 0 17 0;
+#X connect 18 0 17 1;
+#X connect 18 0 13 1;
+#X connect 19 0 18 0;
diff --git a/compactidac/test.pd b/compactidac/test.pd
new file mode 100755
index 0000000..4971c32
--- /dev/null
+++ b/compactidac/test.pd
@@ -0,0 +1,16 @@
+#N struct 1004-clickpoint float x float y float vis;
+#N struct 1004-slider float x float y float x0 float vis;
+#N struct 1005-mute float x float y float c;
+#N struct 1006-expand float x float y float max float max-shadow;
+#N struct 1007-save float x float y float border float vis;
+#N struct 1008-stop float x float y float border float vis;
+#N struct 1009-rec float x float y float border float vis;
+#N struct 1010-filetype float x float y float vis symbol ext;
+#N canvas 366 173 450 300 12;
+#X obj 157 60 osc~ 440;
+#X floatatom 248 40 5 0 100 0 - - -;
+#X msg 299 76 mute;
+#X obj 158 96 compactidac~;
+#X connect 0 0 3 0;
+#X connect 1 0 3 2;
+#X connect 2 0 3 2;
diff --git a/compactidac/volume.pd b/compactidac/volume.pd
new file mode 100755
index 0000000..d53e2f4
--- /dev/null
+++ b/compactidac/volume.pd
@@ -0,0 +1,138 @@
+#N canvas 0 11 1004 682 12;
+#N canvas 306 292 580 300 slider 1;
+#X obj 28 68 outlet;
+#X obj 28 43 struct \$0-slider float x float y float x0 float vis;
+#X text 9 255 hide gop;
+#X obj 95 256 filledpolygon -v vis 999 999 1 0 -19 64 -19 64 14 0 14
+;
+#X obj 91 174 filledpolygon -v vis 999 999 1 0 0 64 0 64 14 0 14;
+#X obj 89 98 filledpolygon -v vis 999 0 1 2 7 x0(0:100)(2:52) 7 x0(0:100)(2:52)
+2 x0(0:100)(12:62) 2 x0(0:100)(12:62) 7 62 7 x0(0:100)(12:62) 7 x0(0:100)(12:62)
+12 x0(0:100)(2:52) 12 x0(0:100)(2:52) 7 2 7;
+#X obj 92 216 drawnumber -v vis x0 7 -18 322 Vol:;
+#X connect 1 0 0 0;
+#X restore 285 28 pd slider;
+#X obj 505 321 pointer;
+#N canvas 3 357 450 300 clickpoint 0;
+#X obj 54 59 outlet;
+#X obj 54 34 struct \$0-clickpoint float x float y float vis;
+#X obj 92 125 filledpolygon -v vis 999 999 1 0 0 10 0 10 12 0 12;
+#X connect 1 0 0 0;
+#X restore 88 28 pd clickpoint;
+#X obj 88 53 route click;
+#X obj 88 78 unpack p;
+#X obj 285 53 route change;
+#X obj 285 78 unpack p;
+#X msg 314 312 0;
+#X obj 88 218 * 2;
+#X obj 106 342 outlet;
+#X obj 88 103 get \$0-clickpoint x;
+#X obj 285 103 get \$0-slider x0;
+#X obj 462 614 append \$0-clickpoint x y;
+#X obj 88 411 set \$0-slider x0;
+#X obj 3 29 inlet;
+#X obj 3 218 route set;
+#X obj 462 559 + 2;
+#X obj 462 377 t b b;
+#X obj 506 503 f \$3;
+#X obj 506 559 + 1;
+#X obj 462 427 until;
+#X msg 462 402 6;
+#X obj 462 452 f;
+#X msg 516 426 0;
+#X obj 462 477 t a b;
+#X obj 500 451 + 1;
+#X obj 462 589 pack;
+#X obj 167 140 loadbang;
+#X obj 167 165 \$2;
+#X obj 167 190 max 1;
+#X obj 462 528 + \$2;
+#X obj 462 503 * 10;
+#X obj 737 36 inlet;
+#X obj 372 351 append \$0-slider x y vis;
+#X obj 372 320 pack \$2 \$3 1;
+#X msg 676 405 next;
+#X obj 737 244 t b a;
+#X obj 737 359 t b b a;
+#X obj 763 437 f;
+#X obj 844 474 f;
+#X obj 818 359 t b b a;
+#X obj 737 334 pointer \$0-clickpoint \$0-slider;
+#X obj 663 499 set \$0-clickpoint vis;
+#X obj 844 499 set \$0-slider vis;
+#X obj 88 160 - \$2;
+#X obj 88 128 - 2;
+#X obj 505 271 list prepend pd- \$1 -gop;
+#X msg 505 296 traverse \$1\$2\$3 \, bang;
+#X obj 420 143 r \$1-init;
+#X msg 542 224 1;
+#X obj 737 283 list prepend pd- \$1 -gop;
+#X msg 737 309 traverse \$1\$2\$3 \, bang;
+#X obj 420 170 t b b b b b;
+#X connect 0 0 5 0;
+#X connect 1 0 12 2;
+#X connect 1 0 33 3;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 10 0;
+#X connect 5 0 6 0;
+#X connect 6 0 11 0;
+#X connect 7 0 13 0;
+#X connect 8 0 9 0;
+#X connect 8 0 13 0;
+#X connect 10 0 45 0;
+#X connect 11 0 9 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 15 1 13 0;
+#X connect 15 1 9 0;
+#X connect 16 0 26 0;
+#X connect 17 0 21 0;
+#X connect 17 1 23 0;
+#X connect 18 0 19 0;
+#X connect 19 0 26 1;
+#X connect 20 0 22 0;
+#X connect 21 0 20 0;
+#X connect 22 0 24 0;
+#X connect 22 0 25 0;
+#X connect 23 0 22 1;
+#X connect 24 0 31 0;
+#X connect 24 1 18 0;
+#X connect 25 0 22 1;
+#X connect 26 0 12 0;
+#X connect 27 0 28 0;
+#X connect 28 0 29 0;
+#X connect 30 0 16 0;
+#X connect 31 0 30 0;
+#X connect 32 0 36 0;
+#X connect 33 0 13 1;
+#X connect 34 0 33 0;
+#X connect 35 0 41 0;
+#X connect 36 0 50 0;
+#X connect 36 1 38 1;
+#X connect 36 1 39 1;
+#X connect 37 0 35 0;
+#X connect 37 1 38 0;
+#X connect 37 2 42 1;
+#X connect 38 0 42 0;
+#X connect 39 0 43 0;
+#X connect 40 0 35 0;
+#X connect 40 1 39 0;
+#X connect 40 2 43 1;
+#X connect 41 0 37 0;
+#X connect 41 1 40 0;
+#X connect 41 2 35 0;
+#X connect 44 0 8 0;
+#X connect 45 0 44 0;
+#X connect 46 0 47 0;
+#X connect 47 0 1 0;
+#X connect 48 0 52 0;
+#X connect 49 0 36 0;
+#X connect 50 0 51 0;
+#X connect 51 0 41 0;
+#X connect 52 0 7 0;
+#X connect 52 1 49 0;
+#X connect 52 2 17 0;
+#X connect 52 3 34 0;
+#X connect 52 4 46 0;
+#X coords 0 0 1 1 66 16 0;