diff --git a/000.A.VECTOR_GENERATORS.pd b/000.A.VECTOR_GENERATORS.pd index ad2e530..7723cee 100644 --- a/000.A.VECTOR_GENERATORS.pd +++ b/000.A.VECTOR_GENERATORS.pd @@ -1,10 +1,10 @@ -#N canvas 289 -1056 983 733 10; +#N canvas 289 23 983 733 10; #X obj 555 422 expr~ $v1 && $v2; #X obj 24 423 vs-seeme; #X obj 39 254 vs-operator-gui \$0 \$0-operator-one; -#A saved 100 0 0 1 0 100 0 1 1 0 0; +#A saved 100 0 0 1 0 25 0 1 1 0 0; #X obj 353 252 vs-operator-gui \$0 \$0-operator-two; -#A saved 500 0 0 1 0 50 90 1 1 0 0; +#A saved 500 0 0 1 0 10 90 1 1 0 0; #X text 623 591 Derek Holzer; #X text 623 640 macumbista@gmail.com; #X text 640 675 CAUTION: make sure to rename "\$0--one" @@ -23,7 +23,7 @@ to "\$0--two" when making multiple copies!; #X obj 24 42 vs-phasor-gui \$0 \$0-phasor-one; #A saved 50 0 1 0; #X obj 280 532 vs-audiodac-gui \$0 \$0-dac-vectorgen; -#A saved 75 1 5 6 1 1 25 0 0 0 1 2 100; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; #X obj 280 681 switch~; #X obj 503 44 vs-operator-gui \$0 \$0-operator-three; #A saved 1 0 0 1 0 50 0 2 1 0 0; diff --git a/000.B.1.CYCLOIDS.pd b/000.B.1.CYCLOIDS.pd index eccba89..bc6f298 100644 --- a/000.B.1.CYCLOIDS.pd +++ b/000.B.1.CYCLOIDS.pd @@ -1,24 +1,24 @@ -#N canvas 542 -1397 1792 1012 10; +#N canvas 0 23 997 1012 10; #X obj 47 262 vs-circle-gui \$0 \$0-circle-one; -#A saved 25 5 0 0 5 50 100 0; +#A saved 25 5 0 0 5 25 100 0; #X text 937 517 Derek Holzer; #X text 937 566 macumbista@gmail.com; #X obj 37 455 cnv 15 320 165 empty empty Connect_here_to_test 20 12 0 14 -191407 -66577 0; #X obj 46 475 vs-audiodac-gui \$0 \$0-dac-2dvectors; -#A saved 75 1 5 6 1 1 50 0 0 0 1 2 100; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; #X obj 47 120 vs-operator-gui \$0 \$0-operator-one; #A saved 25 25 0 10 0 20 0 1 1 0 0; #X obj 46 620 switch~; #X text 937 541 Stockholm October 2020; #X obj 377 263 vs-circle-gui \$0 \$0-circle-two; -#A saved 25 9 0 0 7 50 100 0; +#A saved 25 9 0 0 7 25 100 0; #X obj 50 20 vs-phasor-gui \$0 \$0-master; #A saved 25 0 1 0; #X obj 377 120 vs-operator-gui \$0 \$0-operator-two; #A saved 25 10 0 12 0 25 0 1 1 0 0; #X obj 692 264 vs-circle-gui \$0 \$0-circle-three; -#A saved 25 7 0 0 13 50 100 0; +#A saved 25 7 0 0 13 25 100 0; #X obj 692 121 vs-operator-gui \$0 \$0-operator-three; #A saved 25 6 0 4 0 20 0 1 1 0 0; #X obj 492 457 cnv 15 350 165 empty empty empty 20 12 0 14 -4034 -66577 @@ -28,7 +28,7 @@ #X obj 1002 121 vs-operator-gui \$0 \$0-operator-four; #A saved 25 3 0 2 0 20 0 1 1 0 0; #X obj 1002 264 vs-circle-gui \$0 \$0-circle-four; -#A saved 25 13 0 0 25 50 100 0; +#A saved 25 13 0 0 25 25 100 0; #X obj 47 352 vs-morph-gui \$0 \$0-morph-one; #A saved 100 0 0 1; #X obj 377 352 vs-morph-gui \$0 \$0-morph-two; diff --git a/000.B.2D_VECTORS.pd b/000.B.2D_VECTORS.pd index 2802e7d..52d247c 100644 --- a/000.B.2D_VECTORS.pd +++ b/000.B.2D_VECTORS.pd @@ -1,27 +1,27 @@ #N canvas 88 265 1056 639 10; #X obj 349 271 vs-lissajous-gui \$0 \$0-lissajous-one; -#A saved 50 0 0 0 1 100 100 2 0; +#A saved 50 0 0 0 1 25 100 2 0; #X obj 349 7 vs-circle-gui \$0 \$0-circle-one; -#A saved 50 0 0 0 1 100 100 0; +#A saved 50 0 0 0 1 25 100 0; #X obj 349 93 vs-triangle-gui \$0 \$0-triangle-one; -#A saved 50 0 0 0 1 100 100 0; +#A saved 50 0 0 0 1 25 100 0; #X obj 349 183 vs-diamond-gui \$0 \$0-diamond-one; -#A saved 50 0 0 0 1 100 100 0; +#A saved 50 0 0 0 1 25 100 0; #X text 534 536 Derek Holzer; #X text 534 585 macumbista@gmail.com; #X text 534 560 Helsinki May 2019; #X obj 19 6 vs-poly-gui \$0 \$0-poly-one; -#A saved 50 0 0 0 1 100 100 3 1 0 0; +#A saved 50 0 0 0 1 25 100 3 1 0 0; #X obj 19 268 vs-2D-data-gui \$0 \$0-2d-data-one; -#A saved 50 0 0 0 1 100 100 0 0; +#A saved 50 0 0 0 1 25 100 0 0; #X obj 19 398 vs-2D-wav-gui \$0 \$0-2d-data-wav; -#A saved 50 0 0 0 1 100 100 0 0; +#A saved 50 0 0 0 1 25 100 0 0; #X obj 19 115 vs-raster-gui \$0 \$0-raster-one; -#A saved 25 25 100 0 0 0 0 0 2 100; +#A saved 25 25 100 0 0 0 0 0 2 25; #X obj 340 368 cnv 15 320 165 empty empty Connect_here_to_test 20 12 0 14 -191407 -66577 0; #X obj 349 388 vs-audiodac-gui \$0 \$0-dac-2dvectors; -#A saved 75 1 5 6 1 1 25 0 0 0 1 2 100; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; #X obj 684 45 vs-operator-gui \$0 \$0-operator-one; #A saved 1 0 0 8 0 100 0 5 1 0 0; #X text 687 193 Try connecting the left outlet of [vs-operator-gui] diff --git a/000.C.3D_VECTORS.pd b/000.C.3D_VECTORS.pd index 5b3db77..2ddaec1 100644 --- a/000.C.3D_VECTORS.pd +++ b/000.C.3D_VECTORS.pd @@ -27,7 +27,7 @@ #X obj 373 607 vs-hand-gui \$0 \$0-hand-one; #A saved 25 0 0 0 1 25 100 0 0; #X obj 710 577 vs-audiodac-gui \$0 \$0-dac-3dvectors; -#A saved 75 1 5 6 1 1 25 0 0 0 1 2 100; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; #X obj 710 506 vs-projector-gui \$0 \$0-project-one; #A saved 100 0 0 85; #X obj 21 268 cnv 15 340 350 empty empty empty 20 12 0 14 -4034 -66577 diff --git a/000.D.VECTOR_MODIFIERS.pd b/000.D.VECTOR_MODIFIERS.pd index 10f25ea..7c4a592 100644 --- a/000.D.VECTOR_MODIFIERS.pd +++ b/000.D.VECTOR_MODIFIERS.pd @@ -1,6 +1,6 @@ #N canvas 0 28 1132 712 10; -#X text 887 576 Derek Holzer; -#X text 887 625 macumbista@gmail.com; +#X text 922 644 Derek Holzer; +#X text 922 693 macumbista@gmail.com; #X obj 60 337 vs-translate-gui \$0 \$0-translate-one; #A saved 0 0 0; #X obj 60 124 vs-scale-gui \$0 \$0-scale-one; @@ -18,7 +18,7 @@ to "\$0--two" when making multiple copies!; #X obj 51 492 cnv 15 320 170 empty empty Connect_here_to_test 20 12 0 14 -191407 -66577 0; #X obj 60 517 vs-audiodac-gui \$0 \$0-dac-3dvectors; -#A saved 75 1 5 6 1 1 25 0 0 0 1 2 100; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; #X obj 60 14 vs-icosahedron-gui \$0 \$0-ico-one; #A saved 50 0 0 0 1 25 100 1 0; #X obj 388 216 vs-operator-gui \$0 \$0-operator-one; @@ -57,8 +57,9 @@ to "\$0--two" when making multiple copies!; #X text 594 356 [vs-operator-gui] \,; #X text 393 374 or of [vs-ext-input] if you have an external signal \,; -#X text 887 600 Santa Cruz de Tenerife May 2019; +#X text 922 668 Santa Cruz de Tenerife May 2019; #X obj 60 670 switch~; +#X obj 700 471 vs-seeme; #X connect 2 0 7 0; #X connect 2 1 7 1; #X connect 2 2 7 2; @@ -81,3 +82,4 @@ to "\$0--two" when making multiple copies!; #X connect 11 3 3 3; #X connect 12 0 2 5; #X connect 38 0 11 1; +#X connect 38 0 43 0; diff --git a/000.F.SCAN_PROCESSING-copy.pd b/000.F.SCAN_PROCESSING-copy.pd new file mode 100644 index 0000000..90f3f07 --- /dev/null +++ b/000.F.SCAN_PROCESSING-copy.pd @@ -0,0 +1,33 @@ +#N canvas 5 23 679 782 10; +#X obj 28 19 vs-gemhead-master; +#X obj 357 19 vs-operator-gui \$0 \$0-op-X; +#A saved 25 0 0 3 21 10 59 1 1 0 0; +#X obj 357 179 vs-operator-gui \$0 \$0-op-Y; +#A saved 25 0 0 3 -4 -2 100 1 1 0 0; +#X obj 357 344 vs-operator-gui \$0 \$0-op-Z; +#A saved 25 0 0 2 0 10 0 1 1 0 0; +#X obj 28 587 vs-audiodac-gui \$0 \$0-dac-one; +#A saved 75 1 5 6 1 1 16 0 0 0 1 2 33; +#X obj 28 743 switch~; +#X obj 28 513 vs-projector-gui \$0 \$0-proj; +#A saved 80 0 0 80; +#X obj 28 375 vs-rotate-gui \$0 \$0-rot-one, f 28; +#A saved 23 2 10 0 0 0 1 0 0 0; +#X obj 28 178 vs-scanprocessor-gui; +#A saved 25 120 10 40 82 52 34 39 20 14 32 0 0; +#X connect 0 0 8 0; +#X connect 1 0 7 0; +#X connect 2 0 7 1; +#X connect 3 0 7 2; +#X connect 4 0 5 0; +#X connect 6 0 4 0; +#X connect 6 1 4 1; +#X connect 6 2 4 2; +#X connect 7 0 6 0; +#X connect 7 1 6 1; +#X connect 7 2 6 2; +#X connect 7 3 6 3; +#X connect 8 0 7 0; +#X connect 8 1 7 1; +#X connect 8 2 7 2; +#X connect 8 3 7 3; diff --git a/000.F.SCAN_PROCESSING.pd b/000.F.SCAN_PROCESSING.pd index 1a07f6a..3dedd05 100644 --- a/000.F.SCAN_PROCESSING.pd +++ b/000.F.SCAN_PROCESSING.pd @@ -1,192 +1,9 @@ -#N canvas 0 23 1067 909 10; -#X obj 22 173 cnv 15 420 160 empty empty empty 20 12 0 14 -233017 -66577 -0; +#N canvas 88 25 1115 918 10; #X text 557 13 This patch aims to emulate the famous Rutt-Etra scan processor by plotting digital video or images into audio signals sent to an X/Y analog monitor with brightness control \, and draws inspiration from a similar MaxMSP patch by Ivan Marusic Klif.; #X obj 28 19 vs-gemhead-master; -#X obj 42 238 nbx 5 14 -1e+37 1e+37 0 1 empty empty Hblank 60 8 0 10 --4034 -1 -1 25 256; -#X obj 147 238 nbx 5 14 -1e+37 1e+37 0 1 empty empty Vblank 60 8 0 -10 -4034 -1 -1 25 256; -#X obj 253 238 nbx 5 14 -1e+37 1e+37 0 1 empty empty Brightness 60 -8 0 10 -4034 -1 -1 500 256; -#X obj 147 198 nbx 5 14 -1e+37 1e+37 0 1 empty empty Vsize 60 8 0 10 --4034 -1 -1 100 256; -#X obj 42 198 nbx 5 14 -1e+37 1e+37 0 1 empty empty Hsize 60 8 0 10 --4034 -1 -1 100 256; -#X obj 147 218 nbx 5 14 -1e+37 1e+37 0 1 empty empty Vpos 60 8 0 10 --4034 -1 -1 0 256; -#X obj 42 218 nbx 5 14 -1e+37 1e+37 0 1 empty empty Hpos 60 8 0 10 --4034 -1 -1 0 256; -#X obj 253 218 nbx 5 14 -1e+37 1e+37 0 1 empty empty Zdeflect 60 8 -0 10 -4034 -1 -1 3 256; -#X obj 253 198 nbx 5 14 -1e+37 1e+37 0 1 empty empty Zoom 60 8 0 10 --4034 -1 -1 -50 256; -#X obj 275 262 vradio 20 1 1 2 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X text 303 266 internal raster; -#X text 303 283 external source; -#X obj 42 177 nbx 5 14 0 1e+37 0 1 empty empty Vertical_frequency 60 -8 0 10 -4034 -1 -1 25 256; -#X obj 253 177 nbx 5 14 0 1e+37 0 1 empty empty Horizontal_lines 60 -8 0 10 -4034 -1 -1 80 256; -#N canvas 165 36 994 218 control 0; -#X obj 213 30 inlet; -#X obj 213 56 / 100; -#X obj 213 105 line~; -#X obj 213 81 pack 0 20; -#X obj 213 131 outlet~; -#X obj 283 30 inlet; -#X obj 283 56 / 100; -#X obj 283 105 line~; -#X obj 283 81 pack 0 20; -#X obj 283 131 outlet~; -#X obj 353 30 inlet; -#X obj 353 56 / 100; -#X obj 353 105 line~; -#X obj 353 81 pack 0 20; -#X obj 353 131 outlet~; -#X obj 423 30 inlet; -#X obj 423 56 / 100; -#X obj 423 105 line~; -#X obj 423 81 pack 0 20; -#X obj 423 131 outlet~; -#X obj 493 30 inlet; -#X obj 493 56 / 100; -#X obj 493 105 line~; -#X obj 493 81 pack 0 20; -#X obj 493 131 outlet~; -#X obj 563 30 inlet; -#X obj 563 56 / 100; -#X obj 563 105 line~; -#X obj 563 81 pack 0 20; -#X obj 563 131 outlet~; -#X obj 633 30 inlet; -#X obj 633 56 / 100; -#X obj 633 105 line~; -#X obj 633 81 pack 0 20; -#X obj 633 131 outlet~; -#X obj 703 30 inlet; -#X obj 703 56 / 100; -#X obj 703 105 line~; -#X obj 703 81 pack 0 20; -#X obj 703 131 outlet~; -#X obj 773 30 inlet; -#X obj 773 56 / 100; -#X obj 773 105 line~; -#X obj 773 81 pack 0 20; -#X obj 773 131 outlet~; -#X obj 83 30 inlet; -#X obj 83 105 line~; -#X obj 83 81 pack 0 20; -#X obj 83 131 outlet~; -#X obj 153 30 inlet; -#X obj 153 105 line~; -#X obj 153 81 pack 0 20; -#X obj 153 131 outlet~, f 35; -#X connect 0 0 1 0; -#X connect 1 0 3 0; -#X connect 2 0 4 0; -#X connect 3 0 2 0; -#X connect 5 0 6 0; -#X connect 6 0 8 0; -#X connect 7 0 9 0; -#X connect 8 0 7 0; -#X connect 10 0 11 0; -#X connect 11 0 13 0; -#X connect 12 0 14 0; -#X connect 13 0 12 0; -#X connect 15 0 16 0; -#X connect 16 0 18 0; -#X connect 17 0 19 0; -#X connect 18 0 17 0; -#X connect 20 0 21 0; -#X connect 21 0 23 0; -#X connect 22 0 24 0; -#X connect 23 0 22 0; -#X connect 25 0 26 0; -#X connect 26 0 28 0; -#X connect 27 0 29 0; -#X connect 28 0 27 0; -#X connect 30 0 31 0; -#X connect 31 0 33 0; -#X connect 32 0 34 0; -#X connect 33 0 32 0; -#X connect 35 0 36 0; -#X connect 36 0 38 0; -#X connect 37 0 39 0; -#X connect 38 0 37 0; -#X connect 40 0 41 0; -#X connect 41 0 43 0; -#X connect 42 0 44 0; -#X connect 43 0 42 0; -#X connect 45 0 47 0; -#X connect 46 0 48 0; -#X connect 47 0 46 0; -#X connect 49 0 51 0; -#X connect 50 0 52 0; -#X connect 51 0 50 0; -#X restore 42 280 pd control scaling; -#X obj 377 192 vradio 20 1 1 3 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X text 406 215 VERT; -#X text 406 196 HORZ; -#X text 405 235 GRID; -#X obj 338 41 cnv 15 200 120 empty empty EXTERNAL_XY_SOURCE 20 12 0 -14 -233017 -66577 0; -#N canvas 0 22 537 469 spiral 0; -#X obj 67 177 phasor~; -#X obj 67 48 nbx 5 14 -1e+37 1e+37 0 1 empty empty base_frequency 60 -8 0 10 -4034 -1 -1 2019 256; -#X obj 129 134 sig~; -#X obj 129 91 nbx 5 14 -1e+37 1e+37 0 1 empty empty phase 60 8 0 10 --4034 -1 -1 90 256; -#X obj 89 112 sig~; -#X obj 89 88 / 100; -#X obj 89 67 nbx 5 14 -1e+37 1e+37 0 1 empty empty harmonic 60 8 0 -10 -4034 -1 -1 100 256; -#X obj 129 112 / 360; -#X obj 67 228 VS-sine-circle; -#X obj 67 271 outlet~ H; -#X obj 137 271 outlet~ V; -#X obj 127 177 phasor~; -#X obj 229 124 nbx 5 14 -1e+37 1e+37 0 1 empty empty modulation_frequency -60 8 0 10 -4034 -1 -1 132 256; -#X obj 67 22 inlet BaseFreq; -#X text 268 219 Derek Holzer; -#X text 269 275 macumbista@gmail.com; -#X text 267 247 September 2018 Helsinki; -#X obj 184 177 phasor~; -#X obj 229 22 inlet SizModFreq; -#X obj 349 22 inlet PhaseModFreq; -#X obj 349 92 nbx 5 14 -1e+37 1e+37 0 1 empty empty modulation_frequency -60 8 0 10 -4034 -1 -1 0.5 256; -#X connect 0 0 8 0; -#X connect 1 0 0 0; -#X connect 2 0 8 2; -#X connect 3 0 7 0; -#X connect 4 0 8 1; -#X connect 5 0 4 0; -#X connect 6 0 5 0; -#X connect 7 0 2 0; -#X connect 8 0 9 0; -#X connect 8 1 10 0; -#X connect 11 0 8 3; -#X connect 12 0 11 0; -#X connect 13 0 1 0; -#X connect 17 0 8 2; -#X connect 18 0 12 0; -#X connect 19 0 20 0; -#X connect 20 0 17 0; -#X restore 341 126 pd spiral; -#X obj 341 67 nbx 5 14 -1e+37 1e+37 0 1 empty empty base_freq 60 8 -0 10 -4034 -1 -1 2019 256; -#X obj 392 105 nbx 5 14 -1e+37 1e+37 0 1 empty empty phase_mod_freq -60 8 0 10 -4034 -1 -1 0.5 256; -#X obj 366 87 nbx 5 14 -1e+37 1e+37 0 1 empty empty size_mod_freq 60 -8 0 10 -4034 -1 -1 132 256; #X text 555 92 Results are very dependent on your sampling rate. Optimum samping rate is 192K.; #N canvas 0 22 560 391 SOFTWARE 0; @@ -203,17 +20,6 @@ samping rate is 192K.; #X text 36 119 * DC coupled soundcard @ 192K sampling rate for best results; #X restore 558 275 pd SOFTWARE HARDWARE REQUIREMENTS README; -#X text 555 137 Use the internal raster for horizonal \, vertical \, -or grid lines. Other shapes can be used to drive the [scanprocessor] -abstraction. Try the spiral XY source in the upper right \, for example. -; -#X obj 28 316 vs-scanprocessor, f 36; -#X text 555 194 Hsize \, Vsize \, and Zoom can all be used to zoom -into an image \, even down to single pixels. Hpos and Vpos can be used -to scroll around inside a zoomed image. Zdeflect adds the brightness -signal to the Z axis for the classic "Vasulka effect" when projected -in 3D space with [vs-projector]. All numeric parameters can be controlled -with audio signals.; #N canvas 689 576 600 413 INPUTS 0; #X text 289 227 Derek Holzer; #X text 290 283 macumbista@gmail.com; @@ -241,69 +47,70 @@ with audio signals.; #X text 88 283 4) Brightness signal; #X text 88 111 4) Horizontal Size; #X restore 814 275 pd INPUTS OUTPUTS HELP; -#X obj 556 300 vs-operator-gui \$0 \$0-op-X; -#A saved 25 0 0 1 0 0 0 1 1 0 0; -#X obj 557 439 vs-operator-gui \$0 \$0-op-Y; -#A saved 25 0 0 1 0 0 0 1 1 0 0; -#X obj 557 578 vs-operator-gui \$0 \$0-op-Z; -#A saved 25 0 0 1 0 0 0 1 1 0 0; -#X obj 28 555 vs-audiodac-gui \$0 \$0-dac-one; -#A saved 75 1 5 6 1 1 50 0 0 0 1 2 100; -#X obj 28 711 switch~; -#X obj 28 481 vs-projector-gui \$0 \$0-proj; +#X obj 402 306 vs-operator-gui \$0 \$0-op-X; +#A saved 25 0 1 3 0 0 0 1 1 0 0; +#X obj 402 441 vs-operator-gui \$0 \$0-op-Y; +#A saved 25 0 1 3 0 0 0 1 1 0 0; +#X obj 403 577 vs-operator-gui \$0 \$0-op-Z; +#A saved 25 0 0 3 0 0 0 1 1 0 0; +#X obj 28 695 vs-audiodac-gui \$0 \$0-dac-one; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; +#X obj 28 851 switch~; +#X obj 28 621 vs-projector-gui \$0 \$0-proj; #A saved 80 0 0 80; -#X obj 28 343 vs-rotate-gui \$0 \$0-rot-one, f 28; +#X obj 28 403 vs-rotate-gui \$0 \$0-rot-one, f 28; #A saved 0 0 0 0 0 0 1 0 0 0; -#X text 558 716 These operators warp the 3D image in the X \, Y \, +#X text 876 744 Derek Holzer; +#X text 876 793 macumbista@gmail.com; +#X obj 28 185 vs-scanprocessor-gui; +#A saved 25 120 1 4 100 50 -50 3 5 10 300 0 0; +#X text 555 194 Hsize \, Vsize \, and Zoom can all be used to zoom +into an image \, even down to single pixels. Hpos and Vpos can be used +to scroll around inside a zoomed image. Zdeflect adds the brightness +signal to the Z axis for the classic "Vasulka effect" when projected +in 3D space with [vs-projector-gui].; +#X text 555 137 Use the internal raster for horizonal \, vertical \, +or grid lines. Other shapes can be used to drive the [scanprocessor] +abstraction.; +#X text 876 768 Stockholm APR 2022; +#X obj 28 541 vs-scale-gui \$0 \$0-scale; +#A saved 50 50 50; +#X obj 731 309 vs-phasor-gui \$0 \$0-mod-1; +#A saved 0 9 0 0; +#X obj 734 441 vs-phasor-gui \$0 \$0-mod-2; +#A saved 0 7 0 0; +#X obj 732 576 vs-phasor-gui \$0 \$0-mod-3; +#A saved 0 5 0 0; +#X text 393 719 These operators warp the 3D image in the X \, Y \, and Z dimensions. The number of harmonics determine the number of "ripples" \, the scale determines the dpeth of the ripples \, phase changes the location of the ripples \, and the wave shape determines the shape -of the ripples.; -#X text 732 786 Derek Holzer; -#X text 732 835 macumbista@gmail.com; -#X text 732 810 Stockholm NOV 2020; -#X connect 2 0 30 0; -#X connect 3 0 17 8; -#X connect 4 0 17 9; -#X connect 5 0 17 10; -#X connect 6 0 17 3; -#X connect 7 0 17 2; -#X connect 8 0 17 6; -#X connect 9 0 17 5; -#X connect 10 0 17 7; -#X connect 11 0 17 4; -#X connect 12 0 30 15; -#X connect 15 0 17 0; -#X connect 16 0 17 1; -#X connect 17 0 30 1; -#X connect 17 1 30 2; -#X connect 17 2 30 3; -#X connect 17 3 30 4; -#X connect 17 4 30 5; -#X connect 17 5 30 6; -#X connect 17 6 30 7; -#X connect 17 7 30 8; -#X connect 17 8 30 9; -#X connect 17 9 30 10; -#X connect 17 10 30 11; -#X connect 18 0 30 14; -#X connect 23 0 30 12; -#X connect 23 1 30 13; -#X connect 24 0 23 0; -#X connect 25 0 23 2; -#X connect 26 0 23 1; -#X connect 30 0 39 0; -#X connect 30 1 39 1; -#X connect 30 2 39 2; -#X connect 30 3 39 3; -#X connect 33 0 39 0; -#X connect 34 0 39 1; -#X connect 35 0 39 2; -#X connect 36 0 37 0; -#X connect 38 0 36 0; -#X connect 38 1 36 1; -#X connect 38 2 36 2; -#X connect 39 0 38 0; -#X connect 39 1 38 1; -#X connect 39 2 38 2; -#X connect 39 3 38 3; +of the ripples. TURN UP SCALE TO SEE THEM AT WORK.; +#X text 730 649 These phasors modulate the phase of the operators \, +creating a slow moving \, animated rippling effect.; +#X connect 1 0 14 0; +#X connect 5 0 11 0; +#X connect 6 0 11 1; +#X connect 7 0 11 2; +#X connect 8 0 9 0; +#X connect 10 0 8 0; +#X connect 10 1 8 1; +#X connect 10 2 8 2; +#X connect 11 0 18 0; +#X connect 11 1 18 1; +#X connect 11 2 18 2; +#X connect 11 3 18 3; +#X connect 14 0 11 0; +#X connect 14 0 6 0; +#X connect 14 0 7 0; +#X connect 14 1 11 1; +#X connect 14 1 5 0; +#X connect 14 2 11 2; +#X connect 14 3 11 3; +#X connect 18 0 10 0; +#X connect 18 1 10 1; +#X connect 18 2 10 2; +#X connect 18 3 10 3; +#X connect 19 0 5 1; +#X connect 20 0 6 1; +#X connect 21 0 7 1; diff --git a/000.G.VECTOR_MULTIPLEXING.pd b/000.G.VECTOR_MULTIPLEXING.pd index d8cdb2d..83d0369 100644 --- a/000.G.VECTOR_MULTIPLEXING.pd +++ b/000.G.VECTOR_MULTIPLEXING.pd @@ -27,7 +27,7 @@ your patch.; #X text 53 621 Create one [vs-audiodac-gui \$0 ] for your patch.; #X obj 627 372 vs-audiodac-gui \$0 dac-one; -#A saved 85 1 5 6 1 1 50 0 0 0 1 2 100; +#A saved 85 0 5 6 1 0 50 0 0 0 1 2 100; #X obj 629 200 vs-multiplex-gui \$0 multiplex-one; #A saved 25 2 1 1; #X obj 317 201 vs-icosahedron-gui \$0 \$0-ico-one; diff --git a/000.I.PRESET_SYSTEM.pd b/000.I.PRESET_SYSTEM.pd index f84c940..8770e67 100644 --- a/000.I.PRESET_SYSTEM.pd +++ b/000.I.PRESET_SYSTEM.pd @@ -1,11 +1,11 @@ -#N canvas 498 23 954 705 10; +#N canvas 334 33 954 705 10; #X obj 307 249 expr~ $v1 && $v2; #X obj 13 308 vs-audiodac-gui \$0 dac-one; -#A saved 75 1 5 6 1 1 25 0 0 0 1 2 100; +#A saved 75 1 5 6 1 1 100 0 0 0 1 2 100; #X obj 12 83 vs-operator-gui \$0 \$0-operator-one; -#A saved 100 0 2 1 0 100 0 1 1 0 0; +#A saved 100 0 2 1 0 25 0 1 1 0 0; #X obj 340 83 vs-operator-gui \$0 \$0-operator-two; -#A saved 100 0 2 1 0 100 90 1 1 0 0; +#A saved 100 0 2 1 0 25 90 1 1 0 0; #X obj 14 12 vs-phasor-gui \$0 \$0-phasor-one; #A saved 500 0 1 0; #X obj 339 12 vs-phasor-gui \$0 \$0-phasor-two; diff --git a/vs-audiodac-gui.pd b/vs-audiodac-gui.pd index 88ef19b..8e12e08 100644 --- a/vs-audiodac-gui.pd +++ b/vs-audiodac-gui.pd @@ -1,4 +1,4 @@ -#N canvas 655 279 1027 705 10; +#N canvas 670 290 1027 705 10; #X obj 101 118 cnv 15 300 120 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 85 -3 inlet~ X; @@ -171,7 +171,7 @@ #X connect 29 0 2 1; #X restore 263 574 pd demulitiplex; #X obj 258 204 hradio 15 1 0 9 \$2/left \$2/left 4.5.6.7.8.17.18.65.66 -6 -8 0 11 -257985 -1 -1 5; +0 -8 0 11 -257985 -1 -1 5; #X obj 189 322 / 100; #X obj 189 346 pack 0 100; #X obj 190 370 line~; @@ -252,7 +252,7 @@ to one of the channels (1-8 of your audio interface. Normally this is channels 1-3.; #X restore 360 356 pd \$2-help; #X obj 110 135 nbx 5 14 -1e+37 1e+37 0 0 \$2/scale \$2/scale Scale -55 8 0 10 -4034 -1 -1 25 256; +55 8 0 10 -4034 -1 -1 50 256; #X obj 109 152 nbx 5 14 -1e+37 1e+37 0 0 \$2/horz \$2/horz Horz 55 8 0 10 -4034 -1 -1 0 256; #X obj 109 169 nbx 5 14 -1e+37 1e+37 0 0 \$2/vert \$2/vert Vert 55 @@ -495,7 +495,7 @@ beam from burning the CRT.; #X connect 33 0 3 1; #X connect 33 0 2 1; #X restore 25 596 pd demulitiplex; -#X text 244 203 L; +#X text 208 191 L; #X text 244 221 R; #X text 143 203 XY to LR OFF/ON; #X text 143 221 Bright.Mod OFF/ON; diff --git a/vs-scanprocessor-gui.pd b/vs-scanprocessor-gui.pd new file mode 100644 index 0000000..f555a24 --- /dev/null +++ b/vs-scanprocessor-gui.pd @@ -0,0 +1,343 @@ +#N canvas 728 60 1027 705 10; +#X text 376 474 Derek Holzer; +#X text 376 523 macumbista@gmail.com; +#X obj 410 93 savestate; +#X obj 461 137 f; +#X obj 476 157 f; +#X obj 492 177 f; +#X obj 508 138 f; +#X obj 538 168 f; +#X obj 550 145 f; +#X obj 488 64 s pd-\$2-help; +#X msg 488 42 vis 1; +#N canvas 21 23 476 677 \$2-help 0; +#X obj 36 18 cnv 15 300 250 empty empty HELP:vs-scanprocessor-gui 20 +12 0 14 -4034 -66577 0; +#X text 42 41 INLETS:; +#X text 39 277 This patch aims to emulate the famous Rutt-Etra scan +processor by plotting digital video or images into audio signals sent +to an X/Y analog monitor with brightness control \, and draws inspiration +from a similar MaxMSP patch by Ivan Marusic Klif.; +#X text 37 356 Results are very dependent on your sampling rate. Optimum +samping rate is 192K.; +#N canvas 0 22 560 391 SOFTWARE 0; +#X text 23 15 Requirements:; +#X text 62 168 with Horizontal \, Vertical and Brightness inputs; +#X text 35 149 * Oscilloscope \, vector monitor \, or Vectrex; +#X text 35 96 * Gem (Help->Find externals "Gem"); +#X text 36 49 * Pd 0.45 or newer \, 32 bit version only; +#X text 57 69 (Pd Extended and 64 bit won't work!); +#X text 34 193 * Or use Hansi Raber's "Oscilloscope!" app + SoundFlower +(MacOS); +#X text 49 231 https://github.com/kritzikratzi/Oscilloscope/releases/tag/1.0.9 +; +#X text 36 119 * DC coupled soundcard @ 192K sampling rate for best +results; +#X restore 39 550 pd SOFTWARE HARDWARE REQUIREMENTS README; +#N canvas 689 576 600 413 INPUTS 0; +#X text 289 227 Derek Holzer; +#X text 290 283 macumbista@gmail.com; +#X text 288 255 September 2018 Helsinki; +#X text 62 38 INPUTS; +#X text 88 65 1) Gemlist; +#X text 88 81 2) Vertical Frequency; +#X text 88 95 3) Horizontal Lines; +#X text 88 126 5) Vertical Size; +#X text 88 142 6) Zoom (summed w/ Hsize \, Vsize); +#X text 88 156 7) Horizontal Position; +#X text 88 172 8) Vertical Position; +#X text 288 65 9) Z Axis Deflection; +#X text 288 81 10) Horizontal Blanking; +#X text 288 95 11) Vertical Blanking; +#X text 288 111 12) Brightness; +#X text 288 126 13) External Vertical Signal; +#X text 288 142 14) External Horizontal Signal; +#X text 288 172 16) Internal/External Source (int: 0 \, 1); +#X text 288 156 15) Raster Mode (int: 0 \, 1 \, 2); +#X text 62 210 OUTPUTS; +#X text 88 237 1) X signal; +#X text 88 253 2) Y signal; +#X text 88 267 3) Z signal; +#X text 88 283 4) Brightness signal; +#X text 88 111 4) Horizontal Size; +#X restore 39 581 pd INPUTS OUTPUTS HELP; +#X text 85 60 1) Gemlist; +#X text 85 99 3) External Y axis signal; +#X text 85 80 2) External X axis signal; +#X text 42 131 OUTLETS:; +#X text 85 170 1) External X axis signal; +#X text 85 189 2) External Y axis signal; +#X text 85 209 3) External Z axis signal; +#X text 85 229 4) Brightness signal; +#X text 37 401 Use the internal raster for horizonal \, vertical \, +or grid lines. Other shapes can be used to drive the [scanprocessor] +abstraction. Try a spiral XY source \, for example.; +#X text 37 458 Hsize \, Vsize \, and Zoom can all be used to zoom into +an image \, even down to single pixels. Hpos and Vpos can be used to +scroll around inside a zoomed image. Zdeflect adds the brightness signal +to the Z axis for the classic "Vasulka effect" when projected in 3D +space with [vs-projector-gui].; +#X restore 569 64 pd \$2-help; +#X obj 580 145 f; +#X obj 600 165 f; +#X obj 620 185 f; +#X obj 396 42 loadbang; +#X obj 640 145 f; +#X obj 660 165 f; +#X obj 669 185 f; +#X obj 693 144 f; +#X obj 84 -3 inlet gemlist; +#X obj 199 -3 inlet~ extyX; +#X obj 284 -3 inlet~ extY; +#X obj 101 118 cnv 15 300 160 empty empty empty 20 12 0 14 -233017 +-66577 0; +#X obj 109 224 nbx 5 14 -1e+37 1e+37 0 0 \$2/Hblank \$2/Hblank Hblank +0 -8 0 10 -4034 -1 -1 0 256; +#X obj 214 224 nbx 5 14 -1e+37 1e+37 0 0 \$2/Vblank \$2/Vblank Vblank +0 -8 0 10 -4034 -1 -1 0 256; +#X obj 320 224 nbx 5 14 -1e+37 1e+37 0 0 \$2/Brite \$2/Brite Brightness +0 -8 0 10 -4034 -1 -1 298 256; +#X obj 212 162 nbx 5 14 -1e+37 1e+37 0 0 \$2/Vsize \$2/Vsize Vsize +0 -8 0 10 -4034 -1 -1 4 256; +#X obj 107 162 nbx 5 14 -1e+37 1e+37 0 0 \$2/Hsize \$2/Hsize Hsize +0 -8 0 10 -4034 -1 -1 1 256; +#X obj 213 193 nbx 5 14 -1e+37 1e+37 0 0 \$2/Vpos \$2/Vpos Vpos 0 -8 +0 10 -4034 -1 -1 -50 256; +#X obj 108 193 nbx 5 14 -1e+37 1e+37 0 0 \$2/Hpos \$2/Hpos Hpos 0 -8 +0 10 -4034 -1 -1 50 256; +#X obj 319 193 nbx 5 14 -1e+37 1e+37 0 0 \$2/Zdeflect \$2/Zdeflect +Zdeflect 0 -8 0 10 -4034 -1 -1 0 256; +#X obj 318 162 nbx 5 14 -1e+37 1e+37 0 0 \$2/Zoom \$2/Zoom Zoom 0 -8 +0 10 -4034 -1 -1 100 256; +#X obj 155 131 nbx 5 14 0 1e+37 0 0 \$2/Vfreq \$2/Vfreq Vfreq 0 -8 +0 10 -4034 -1 -1 25 256; +#X obj 266 131 nbx 5 14 0 1e+37 0 0 \$2/Hlines \$2/Hlines Hlines 0 +-8 0 10 -4034 -1 -1 120 256; +#N canvas 165 36 994 218 control 0; +#X obj 213 30 inlet; +#X obj 213 56 / 100; +#X obj 213 105 line~; +#X obj 213 81 pack 0 20; +#X obj 213 131 outlet~; +#X obj 283 30 inlet; +#X obj 283 56 / 100; +#X obj 283 105 line~; +#X obj 283 81 pack 0 20; +#X obj 283 131 outlet~; +#X obj 353 30 inlet; +#X obj 353 56 / 100; +#X obj 353 105 line~; +#X obj 353 81 pack 0 20; +#X obj 353 131 outlet~; +#X obj 423 30 inlet; +#X obj 423 56 / 100; +#X obj 423 105 line~; +#X obj 423 81 pack 0 20; +#X obj 423 131 outlet~; +#X obj 493 30 inlet; +#X obj 493 56 / 100; +#X obj 493 105 line~; +#X obj 493 81 pack 0 20; +#X obj 493 131 outlet~; +#X obj 563 30 inlet; +#X obj 563 56 / 100; +#X obj 563 105 line~; +#X obj 563 81 pack 0 20; +#X obj 563 131 outlet~; +#X obj 633 30 inlet; +#X obj 633 56 / 100; +#X obj 633 105 line~; +#X obj 633 81 pack 0 20; +#X obj 633 131 outlet~; +#X obj 703 30 inlet; +#X obj 703 56 / 100; +#X obj 703 105 line~; +#X obj 703 81 pack 0 20; +#X obj 703 131 outlet~; +#X obj 773 30 inlet; +#X obj 773 56 / 100; +#X obj 773 105 line~; +#X obj 773 81 pack 0 20; +#X obj 773 131 outlet~; +#X obj 83 30 inlet; +#X obj 83 105 line~; +#X obj 83 81 pack 0 20; +#X obj 83 131 outlet~; +#X obj 153 30 inlet; +#X obj 153 105 line~; +#X obj 153 81 pack 0 20; +#X obj 153 131 outlet~, f 35; +#X connect 0 0 1 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 2 0; +#X connect 5 0 6 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 14 0; +#X connect 13 0 12 0; +#X connect 15 0 16 0; +#X connect 16 0 18 0; +#X connect 17 0 19 0; +#X connect 18 0 17 0; +#X connect 20 0 21 0; +#X connect 21 0 23 0; +#X connect 22 0 24 0; +#X connect 23 0 22 0; +#X connect 25 0 26 0; +#X connect 26 0 28 0; +#X connect 27 0 29 0; +#X connect 28 0 27 0; +#X connect 30 0 31 0; +#X connect 31 0 33 0; +#X connect 32 0 34 0; +#X connect 33 0 32 0; +#X connect 35 0 36 0; +#X connect 36 0 38 0; +#X connect 37 0 39 0; +#X connect 38 0 37 0; +#X connect 40 0 41 0; +#X connect 41 0 43 0; +#X connect 42 0 44 0; +#X connect 43 0 42 0; +#X connect 45 0 47 0; +#X connect 46 0 48 0; +#X connect 47 0 46 0; +#X connect 49 0 51 0; +#X connect 50 0 52 0; +#X connect 51 0 50 0; +#X restore 100 304 pd control scaling; +#X obj 86 340 vs-scanprocessor, f 36; +#X obj 274 404 outlet~ B; +#X obj 87 404 outlet~ X; +#X obj 150 404 outlet~ Y; +#X obj 210 404 outlet~ Z; +#X obj 173 257 hradio 15 1 0 2 \$2/IntExt \$2/IntExt INT|EXT -5 -8 +0 10 -4034 -1 -1 0; +#X obj 281 257 hradio 15 1 0 3 \$2/HoVeGr \$2/HoVeGr HORZ|VERT|GRID +-18 -8 0 10 -4034 -1 -1 0; +#X text 220 255 RASTER; +#X obj 376 313 kollabs/ds_reg \$1 \$2/Vfreq; +#X obj 376 334 kollabs/ds_reg \$1 \$2/Hlines; +#X obj 375 354 kollabs/ds_reg \$1 \$2/Hsize; +#X obj 375 374 kollabs/ds_reg \$1 \$2/Vsize; +#X obj 375 394 kollabs/ds_reg \$1 \$2/Zoom; +#X obj 375 414 kollabs/ds_reg \$1 \$2/Hpos; +#X obj 565 312 kollabs/ds_reg \$1 \$2/Zdeflect; +#X obj 565 333 kollabs/ds_reg \$1 \$2/Hblank; +#X obj 565 353 kollabs/ds_reg \$1 \$2/Vblank; +#X text 376 498 Stockholm APR 2021; +#X obj 375 434 kollabs/ds_reg \$1 \$2/Vpos; +#X obj 565 373 kollabs/ds_reg \$1 \$2/Brite; +#X obj 565 393 kollabs/ds_reg \$1 \$2/IntExt; +#X obj 565 413 kollabs/ds_reg \$1 \$2/HoVeGr; +#X obj 461 115 t b b b b b b b b b b b b b; +#X obj 461 210 pack 0 0 0 0 0 0 0 0 0 0 0 0 0; +#X obj 435 237 unpack 0 0 0 0 0 0 0 0 0 0 0 0 0; +#X obj 361 256 bng 15 250 50 0 empty empty ? 17 7 0 10 -4032 -1 -1 +; +#X connect 2 0 60 0; +#X connect 2 1 58 0; +#X connect 3 0 59 0; +#X connect 4 0 59 1; +#X connect 5 0 59 2; +#X connect 6 0 59 3; +#X connect 7 0 59 4; +#X connect 8 0 59 5; +#X connect 10 0 9 0; +#X connect 12 0 59 6; +#X connect 13 0 59 7; +#X connect 14 0 59 8; +#X connect 15 0 33 0; +#X connect 15 0 42 0; +#X connect 15 0 41 0; +#X connect 15 0 34 0; +#X connect 15 0 32 0; +#X connect 15 0 31 0; +#X connect 15 0 30 0; +#X connect 15 0 29 0; +#X connect 15 0 28 0; +#X connect 15 0 27 0; +#X connect 15 0 26 0; +#X connect 15 0 25 0; +#X connect 15 0 24 0; +#X connect 16 0 59 9; +#X connect 17 0 59 10; +#X connect 18 0 59 11; +#X connect 19 0 59 12; +#X connect 20 0 36 0; +#X connect 21 0 36 12; +#X connect 22 0 36 13; +#X connect 24 0 35 8; +#X connect 24 0 14 1; +#X connect 25 0 35 9; +#X connect 25 0 16 1; +#X connect 26 0 35 10; +#X connect 26 0 17 1; +#X connect 27 0 35 3; +#X connect 27 0 6 1; +#X connect 28 0 35 2; +#X connect 28 0 5 1; +#X connect 29 0 35 6; +#X connect 29 0 12 1; +#X connect 30 0 35 5; +#X connect 30 0 8 1; +#X connect 31 0 35 7; +#X connect 31 0 13 1; +#X connect 32 0 35 4; +#X connect 32 0 7 1; +#X connect 33 0 35 0; +#X connect 33 0 3 1; +#X connect 34 0 35 1; +#X connect 34 0 4 1; +#X connect 35 0 36 1; +#X connect 35 1 36 2; +#X connect 35 2 36 3; +#X connect 35 3 36 4; +#X connect 35 4 36 5; +#X connect 35 5 36 6; +#X connect 35 6 36 7; +#X connect 35 7 36 8; +#X connect 35 8 36 9; +#X connect 35 9 36 10; +#X connect 35 10 36 11; +#X connect 36 0 38 0; +#X connect 36 1 39 0; +#X connect 36 2 40 0; +#X connect 36 3 37 0; +#X connect 41 0 36 15; +#X connect 41 0 18 1; +#X connect 42 0 36 14; +#X connect 42 0 19 1; +#X connect 58 0 3 0; +#X connect 58 1 4 0; +#X connect 58 2 5 0; +#X connect 58 3 6 0; +#X connect 58 4 7 0; +#X connect 58 5 8 0; +#X connect 58 6 12 0; +#X connect 58 7 13 0; +#X connect 58 8 14 0; +#X connect 58 9 16 0; +#X connect 58 10 17 0; +#X connect 58 11 18 0; +#X connect 58 12 19 0; +#X connect 59 0 2 0; +#X connect 60 0 33 0; +#X connect 60 1 34 0; +#X connect 60 2 28 0; +#X connect 60 3 27 0; +#X connect 60 4 32 0; +#X connect 60 5 30 0; +#X connect 60 6 29 0; +#X connect 60 7 31 0; +#X connect 60 8 24 0; +#X connect 60 9 25 0; +#X connect 60 10 26 0; +#X connect 60 11 41 0; +#X connect 60 12 42 0; +#X connect 61 0 10 0; +#X coords 0 -1 1 1 302 180 1 100 100; diff --git a/vs-synthshape-simple.pd b/vs-synthshape-simple.pd index 6f17526..aca6945 100644 --- a/vs-synthshape-simple.pd +++ b/vs-synthshape-simple.pd @@ -71,8 +71,8 @@ #X obj 311 492 switch~; #X obj 312 572 dac~ 3; #X obj 312 547 sig~; -#X obj 312 525 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; +#X obj 312 525 tgl 15 1 empty empty empty 17 7 0 10 -4034 -1 -1 1 1 +; #X obj 587 72 * -1; #X text 665 549 Derek Holzer; #X text 665 587 macumbista@gmail.com;