From 6626b2647fe1a676144db5ac6220beffe0b35ea1 Mon Sep 17 00:00:00 2001 From: Bob Jarvis Date: Fri, 18 Mar 2022 11:31:23 +1100 Subject: [PATCH] updated sketch text --- parent-example.pd | 58 +++++++++------- sketch01.pd | 174 ++++++++++++++++++++++++---------------------- 2 files changed, 121 insertions(+), 111 deletions(-) diff --git a/parent-example.pd b/parent-example.pd index 334ec96..5c5563d 100644 --- a/parent-example.pd +++ b/parent-example.pd @@ -1,51 +1,55 @@ #N struct text float x float y text t; #N canvas 429 188 1111 607 10; #X obj 340 320 sketch01, f 16; -#X obj 340 160 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000 0 1; +#X obj 340 140 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000 1 1; #X text 370 60 πŸ‘ˆ click to start; #X obj 600 480 dac~, f 11; #X text 450 320 πŸ‘ˆ click to open bop sketch; #X obj 770 320 sketch01, f 16; -#X obj 770 160 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000 0 1; -#X msg 50 390 rewind 1; -#X text 70 360 sync!; -#X obj 50 360 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#X obj 770 140 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 +#000000 1 1; +#X msg 50 400 rewind 1; +#X text 70 370 sync!; +#X obj 50 370 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000 #000000; -#X text 190 210 Send messages to all connected bop modules!, f 23 -; +#X text 40 200 Send messages to all connected bop modules!, f 45; #X obj 600 400 +~; #X obj 660 398 +~; -#X text 50 70 This demonstrates playing two instances of the same bop -sketch at different bpms and summing them together., f 33; -#X obj 50 440 s \$0-to-all-sketches; +#X obj 50 450 s \$0-to-all-sketches; #X obj 360 280 r \$0-to-all-sketches; #X obj 800 290 r \$0-to-all-sketches; #X obj 340 60 tgl 15 0 empty empty empty 17 7 0 10 #fcfcfc #000000 -#000000 0 1; -#X text 40 310 control both patches simultaneously, f 23; -#X msg 110 390 notelist a3 e4 a2 e3; -#X msg 340 220 play \$1 \, bpm 100 \, pan -0.5 \, audio 0 \, amp 0.6 +#000000 1 1; +#X text 40 320 control both patches simultaneously, f 23; +#X msg 120 400 notelist a3 e4 a2 e3; +#X msg 340 200 play \$1 \, bpm 100 \, pan -0.5 \, audio 0 \, amp 0.6 ; -#X msg 770 230 play \$1 \, bpm 80 \, pan 0.5 \, audio 0 \, amp 0.6 +#X msg 770 210 play \$1 \, bpm 80 \, pan 0.5 \, audio 0 \, amp 0.6 ; #X msg 790 260 bpm 300; +#X text 50 70 This demonstrates playing two instances of the same bop +sketch \, each receiving different messages via an inlet., f 33; +#X text 140 370 change tonality; +#X obj 120 370 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc +#000000 #000000; +#X text 850 260 control sketch independantly; #X connect 0 0 11 0; #X connect 0 1 12 0; -#X connect 1 0 20 0; +#X connect 1 0 19 0; #X connect 5 0 11 1; #X connect 5 1 12 1; -#X connect 6 0 21 0; -#X connect 7 0 14 0; +#X connect 6 0 20 0; +#X connect 7 0 13 0; #X connect 9 0 7 0; #X connect 11 0 3 0; #X connect 12 0 3 1; -#X connect 15 0 0 0; -#X connect 16 0 5 0; -#X connect 17 0 1 0; -#X connect 17 0 6 0; -#X connect 19 0 14 0; -#X connect 20 0 0 0; +#X connect 14 0 0 0; +#X connect 15 0 5 0; +#X connect 16 0 1 0; +#X connect 16 0 6 0; +#X connect 18 0 13 0; +#X connect 19 0 0 0; +#X connect 20 0 5 0; #X connect 21 0 5 0; -#X connect 22 0 5 0; +#X connect 24 0 18 0; diff --git a/sketch01.pd b/sketch01.pd index 5e549a3..667e1f4 100644 --- a/sketch01.pd +++ b/sketch01.pd @@ -2,27 +2,29 @@ #N canvas 0 23 1680 968 10; #X declare -path ./bop; #X declare -path ./samples; -#X obj 470 250 cnv 15 271 40 empty empty empty 20 12 0 14 #f4c8e4 #404040 +#X obj 100 870 cnv 15 283 316 empty empty empty 20 12 0 14 #c7e2ca +#404040 0; +#X obj 470 240 cnv 15 271 40 empty empty empty 20 12 0 14 #f4c8e4 #404040 0; #X obj 490 1525 outlet~; #X obj 560 1525 outlet~; -#X obj 140 1152 tgl 15 1 empty empty ENABLE\ 17 7 0 10 #fcfcfc #000000 +#X obj 110 1122 tgl 15 1 empty empty ENABLE\ 17 7 0 10 #fcfcfc #000000 #000000 1 1; -#X obj 140 1180 switch~; +#X obj 110 1150 switch~; #X obj 490 105 bop; -#A saved 90; +#A saved 100; #X obj 490 1225 bop.mix; -#A saved 0 0.739139 0; +#A saved 0 0.599977 -0.5; #X obj 490 825 bop.sampler; #A saved note1.wav 0 0.269663 0 1 0 4.2951 1; -#X obj 490 335 bop.rhythm; -#A saved 24 2.80952 1 0 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0 +#X obj 490 320 bop.rhythm; +#A saved 24 2.80952 1 1 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0\ 1\ 0\ 0 ; #X obj 490 550 bop.notelist; #A saved g3\ f#3\ e3\ d3\ c3\ b2\ a2\ g2 0.075; #X obj 800 120 bop.palette; -#X obj 140 1120 route play; -#X obj 140 930 inlet; +#X obj 110 1090 route play; +#X obj 110 930 inlet; #X obj 490 650 bop.notefx; #A saved 0.56 0.08 0 0 100 112 1 25 35.8696; #X obj 490 1045 bop.reverb; @@ -33,87 +35,91 @@ #X msg 690 1365 audio \$1; #X obj 100 10 declare -path ./bop; #X obj 100 35 declare -path ./samples; -#X text 480 260 LEFT; -#X text 540 260 RIGHT; -#X text 600 260 MIDI-notes; -#X msg 320 360 play 1; +#X text 480 250 LEFT; +#X text 540 250 RIGHT; +#X msg 100 380 play 1; #X obj 100 100 cnv 15 336 30 empty empty 🐦\ WELCOME\ TO\ THE\ BOP\ STARTER\ SKETCH 20 12 0 14 #94c4ec #ffffff 0; -#X msg 370 360 play 0; -#X text 800 100 🐣use bop.palette to browse and create bop.modules -; +#X msg 150 380 play 0; #X text 100 140 πŸ¦‰bop is a modular tool suite for music making in Purr Data and Pure Data vanilla., f 55; -#X text 100 180 bop in pd vanilla requires the cyclone \, iemguts \, -and freeverb libraries., f 55; -#X text 100 250 bop uses the same inlet/outlet convention as ORAC. -, f 53; -#X text 220 920 πŸ¦‰This bop sketch can be controlled from a parent +#X text 190 920 πŸ¦‰This bop sketch can be controlled from a parent patch to be mixed with bop other sketches., f 24; -#X text 220 980 Close this patch and open parent-example.pd to see +#X text 190 990 Close this patch and open parent-example.pd to see how., f 26; -#X msg 120 580 notelist c#3 d#3 f3 f#3 g#3 a#3 c4; -#X text 100 500 change this message and watch it received by the notelist -module's "notelist" parameter., f 34; -#X msg 100 550 notelist g3 f#3 e3 d3 c3 b2 a2 g2; -#X obj 320 400 s \$0-to-bop; +#X msg 120 590 notelist c#3 d#3 f3 f#3 g#3 a#3 c4; +#X msg 100 560 notelist g3 f#3 e3 d3 c3 b2 a2 g2; +#X obj 100 420 s \$0-to-bop; #X obj 690 75 r \$0-to-bop; -#X obj 140 960 s \$0-to-bop; -#X text 670 260 messages; -#X obj 100 610 s \$0-to-bop; -#X text 320 1330 you can intercept messages from upstream to automate -other parameters - or do any other pd ninja moves to glue things together. -, f 22; -#X text 160 860 RUNNING MULTIPLE SKETCHES, f 26; -#X text 160 720 modules and their parameters will save their state +#X obj 110 960 s \$0-to-bop; +#X text 670 250 messages; +#X obj 100 620 s \$0-to-bop; +#X text 150 880 RUNNING MULTIPLE SKETCHES, f 26; +#X text 100 730 modules and their parameters will save their state with the parent patch making it easy to tweak and save., f 42; -#X text 100 280 audio \, MIDI and messages are passed through from -top to bottom, f 52; -#X text 100 360 messages are addressed by parameter label. these play -messages control the large toggle labelled play on the first bop module -in the chain \, as well as the toggle on this bop.rhythm, f 30; -#X obj 140 1090 r \$0-to-bop; -#X text 220 1120 πŸ‘ˆ this maps bop play messages to the switch~ object +#X obj 110 1060 r \$0-to-bop; +#X text 190 1090 πŸ‘ˆ this maps bop play messages to the switch~ object to free resources when not playing., f 24; -#X connect 3 0 4 0; -#X connect 5 0 8 0; -#X connect 5 1 8 1; -#X connect 5 2 8 2; -#X connect 5 3 8 3; -#X connect 6 0 15 0; -#X connect 6 1 15 1; -#X connect 6 2 15 2; -#X connect 6 3 16 0; -#X connect 7 0 14 0; -#X connect 7 1 14 1; -#X connect 7 2 14 2; -#X connect 7 3 14 3; -#X connect 8 0 9 0; -#X connect 8 1 9 1; -#X connect 8 2 9 2; -#X connect 8 3 9 3; -#X connect 9 0 13 0; -#X connect 9 1 13 1; -#X connect 9 2 13 2; -#X connect 9 3 13 3; -#X connect 11 0 3 0; -#X connect 12 0 37 0; -#X connect 13 0 7 0; -#X connect 13 1 7 1; -#X connect 13 2 7 2; -#X connect 13 3 7 3; -#X connect 14 0 6 0; -#X connect 14 1 6 1; -#X connect 14 2 6 2; -#X connect 14 3 6 3; -#X connect 15 0 1 0; -#X connect 15 1 2 0; -#X connect 16 0 17 0; -#X connect 16 1 15 3; -#X connect 17 0 15 3; -#X connect 23 0 35 0; -#X connect 25 0 35 0; -#X connect 32 0 39 0; -#X connect 34 0 39 0; -#X connect 36 0 5 3; -#X connect 45 0 11 0; +#X text 610 250 notes; +#X text 100 240 bop uses the same inlet/outlet convention as ORAC πŸ‘‰ +, f 53; +#X text 100 180 pd vanilla requires the cyclone \, iemguts \, and freeverb +libraries to run bop., f 55; +#X text 210 380 πŸ‘ˆ these play messages to the right control the large +toggle labelled play on the first bop module in the chain \, as well +as the toggle on this bop.rhythm., f 29; +#X text 100 500 click the messages below and watch them received by +the notelist module's "notelist" parameter., f 36; +#X text 100 330 πŸ“ messages are addressed by parameter label., f +50; +#X text 100 270 audio \, MIDI notes \, and messages are passed through +modules and flow from top to bottom., f 53; +#X text 800 100 🐣 use bop.palette to browse and create bop.modules +; +#X text 100 1380 this binds incoming play messages to also enable/disable +audio output πŸ‘‰, f 44; +#X text 100 1330 you can intercept messages from upstream to automate +other parameters - or do other pd ninja moves to glue things together. +, f 44; +#X connect 4 0 5 0; +#X connect 6 0 9 0; +#X connect 6 1 9 1; +#X connect 6 2 9 2; +#X connect 6 3 9 3; +#X connect 7 0 16 0; +#X connect 7 1 16 1; +#X connect 7 2 16 2; +#X connect 7 3 17 0; +#X connect 8 0 15 0; +#X connect 8 1 15 1; +#X connect 8 2 15 2; +#X connect 8 3 15 3; +#X connect 9 0 10 0; +#X connect 9 1 10 1; +#X connect 9 2 10 2; +#X connect 9 3 10 3; +#X connect 10 0 14 0; +#X connect 10 1 14 1; +#X connect 10 2 14 2; +#X connect 10 3 14 3; +#X connect 12 0 4 0; +#X connect 13 0 33 0; +#X connect 14 0 8 0; +#X connect 14 1 8 1; +#X connect 14 2 8 2; +#X connect 14 3 8 3; +#X connect 15 0 7 0; +#X connect 15 1 7 1; +#X connect 15 2 7 2; +#X connect 15 3 7 3; +#X connect 16 0 2 0; +#X connect 16 1 3 0; +#X connect 17 0 18 0; +#X connect 17 1 16 3; +#X connect 18 0 16 3; +#X connect 23 0 31 0; +#X connect 25 0 31 0; +#X connect 29 0 35 0; +#X connect 30 0 35 0; +#X connect 32 0 6 3; +#X connect 38 0 12 0;