Mercurial > hg > beaglert
changeset 521:545087a05bc8 prerelease
added pd getting-started patch
author | chnrx <chris.heinrichs@gmail.com> |
---|---|
date | Thu, 23 Jun 2016 00:15:51 +0100 |
parents | 45ddfcd0e417 |
children | a084456960c9 |
files | examples/08-PureData/gettingStarted/_main.pd |
diffstat | 1 files changed, 176 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/08-PureData/gettingStarted/_main.pd Thu Jun 23 00:15:51 2016 +0100 @@ -0,0 +1,176 @@ +#N canvas 736 167 442 1518 10; +#X text 32 20 Using Puredata (libpd) on Bela; +#X text 32 30 ==============================; +#X obj 100 538 osc~ 440; +#X obj 100 560 *~ 0.1; +#X obj 100 582 dac~; +#X text 33 501 Here's how you produce a sine wave out of Bela's stereo +output:; +#X text 33 611 Similarly \, Bela's stereo input can be addressed as +follows:; +#X obj 100 642 adc~; +#X obj 100 664 dac~; +#X text 177 653 Audio pass-through; +#X text 33 1581 Supported objects; +#X text 33 1591 -----------------; +#X text 33 1625 All native pd (vanilla) objects can be used.; +#X text 33 1611 By default Bela uses libpd to run puredata patches. +; +#X text 33 1645 It is also possible to compile pd objects to optimised +; +#X text 33 1658 C code using the Heavy Cloud Compiler \, in which case +; +#X text 33 1671 a different set of objects is supported (see below). +; +#X text 33 701 Analog I/O; +#X text 33 711 ----------; +#X text 33 731 Analog inputs and outputs are treated as audio signals +and; +#X text 33 745 are addressed using the next 8 channels of the [adc~] +and; +#X text 33 759 [dac~] objects:; +#X obj 36 785 adc~ 3 4 5 6 7 8 9 10; +#X text 191 785 Analog Inputs 0 \, 1 \, 2 \, 3 \, 4 \, 5 \, 6 \, 7 +; +#X text 191 815 Analog Outputs 0 \, 1 \, 2 \, 3 \, 4 \, 5 \, 6 \, 7 +; +#X obj 36 815 dac~ 3 4 5 6 7 8 9 10; +#X text 33 853 examples.; +#X text 33 891 MIDI; +#X text 33 901 ----; +#X text 99 921 and; +#X obj 36 920 notein; +#X obj 125 920 ctlin; +#X text 183 921 objects can be used to interface MIDI devices; +#X text 33 939 with the patch.; +#X text 33 954 Most MIDI devices can be plugged into the Beaglebone's +USB; +#X text 33 968 port and can be used with these objects.; +#X text 33 839 See the 'BasicAnalogIn' and 'BasicAnalogOut' projects +for; +#X text 33 983 See the 'hello-midi' and 'midi-poly-synth' projects +for more; +#X text 33 997 for examples.; +#X obj 57 1058 print; +#X text 33 1058 The; +#X text 115 1058 object can be used to log messages directly to Bela's +; +#X text 33 1076 terminal output (e.g. as viewable in the browser IDE). +; +#X obj 100 1102 loadbang; +#X obj 100 1146 print; +#X msg 100 1124 Puredata says: 'Hello Bela!'; +#X text 33 1041 ----------------; +#X text 33 1031 Debugging: print; +#X text 33 1191 ----------------; +#X text 33 1181 Debugging: scope; +#X text 33 1208 Any signal can be visualised using Bela's browser-based +; +#X text 33 1222 scope. DAC channels 27 \, 28 \, 29 \, 30 address four +separate; +#X text 33 1236 scope channels.; +#X obj 147 1309 dac~ 27 28 29 30; +#X obj 79 1261 osc~ 440; +#X obj 149 1261 noise~; +#X obj 209 1261 osc~ 880; +#X obj 209 1283 *~; +#X text 33 1364 visualised.; +#X text 33 1710 Compiling Puredata patches with Heavy; +#X text 33 1720 -------------------------------------; +#X text 33 1740 As an alternative to libpd \, Puredata patches can +be; +#X text 33 1754 converted into optimised C code using the Heavy Cloud +; +#X text 33 1768 Compiler by Enzien Audio. The resulting code can result +; +#X text 33 1782 in large increases in performance and is therefore +well; +#X text 33 1796 suited for complex patches and final stages of development. +; +#X text 33 1810 We recommend to use libpd for prototyping and less +CPU; +#X text 33 1824 intensive patches.; +#X text 33 1838 See our documentation to learn more about compiling +patches; +#X text 33 1852 using Heavy \, and visit enzienaudio.com for more info +and; +#X text 33 1866 a list of currently supported objects.; +#X text 33 1401 Combining Pd and C++; +#X text 33 1411 --------------------; +#X text 33 1428 There are many cases where it is useful to combine +Pd; +#X text 33 1442 patches with C++ code \, for example when needing to +; +#X text 33 1456 incorporate system calls (e.g. networking) or for; +#X text 33 1470 sample-accurate dsp processes that are inconvenient +; +#X text 33 1484 to program in Puredata.; +#X text 33 1517 is used \, which functions as a libpd wrapper. It is +; +#X text 33 1504 When running Puredata patches a template render.cpp +file; +#X text 33 1531 possible to modify this file when starting a new pd +project.; +#X text 33 1545 See the 'CustomRenderFile' example project for more +info.; +#X text 177 560 Sine Wave; +#X obj 149 1283 *~ 0.1; +#X obj 279 1261 osc~ 0.5; +#X text 33 1350 click the scope button to see the above signals being +; +#X text 33 1336 If you're viewing this patch using the Bela IDE you +can; +#X text 33 221 Patches can be drag-and-dropped into the browser IDE +; +#X text 33 235 and will be added to the current project that is open. +; +#X text 33 249 In order for the patch to run you need to fulfill the +; +#X text 33 263 following two requirements:; +#X text 59 285 a) The top-level patch needs to be named '_main.pd' +; +#X text 77 298 (you can still use abstractions); +#X text 59 315 b) Make sure there is no 'render.cpp' file inside; +#X text 77 328 the project. A template file will be used instead; +#X text 77 342 which acts as a wrapper for libpd.; +#X text 77 355 Alternatively you can modify this wrapper and place +; +#X text 77 368 it inside the project. See below for more information. +; +#X text 33 61 Puredata patches can easily be run on Bela. There are +two; +#X text 33 75 ways of doing this: using libpd (which is compatible +with; +#X text 33 89 the browser-based IDE) or using the Heavy cloud compiler +; +#X text 33 103 by Enzien Audio.; +#X text 33 123 This guide focuses mainly on using libpd via the browser +\,; +#X text 33 137 however most of the functionality is compatible across +both; +#X text 33 151 solutions.; +#X text 33 191 Loading and running patches in the Bela IDE; +#X text 33 201 -------------------------------------------; +#X text 33 471 Audio I/O; +#X text 33 481 ---------; +#X text 33 392 If you're viewing this inside the Bela IDE \, then you've +; +#X text 33 406 noticed by now that all pd patches can be previewed +within; +#X text 33 420 the browser. Note \, however \, that patches cannot +currently; +#X text 33 434 be edited or interacted with inside this preview.; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 4 1; +#X connect 7 0 8 0; +#X connect 7 1 8 1; +#X connect 43 0 45 0; +#X connect 45 0 44 0; +#X connect 54 0 53 0; +#X connect 55 0 83 0; +#X connect 56 0 57 0; +#X connect 57 0 53 2; +#X connect 83 0 53 1; +#X connect 84 0 57 1; +#X connect 84 0 53 3;