Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

First commit importing tree from old svn without history"

  • Loading branch information...
commit 6ab466634460a8fe2b730ea9b6669fee6309fe1e 0 parents
@footils footils authored
Showing with 31,314 additions and 0 deletions.
  1. +35 −0 README.txt
  2. +28 −0 deprecated/README
  3. +24 −0 deprecated/abs/reverb-echo.pd
  4. +90 −0 deprecated/accelerate.pd
  5. +23 −0 deprecated/analysepitch.pd
  6. +37 −0 deprecated/analysesimpleonset.pd
  7. +27 −0 deprecated/hilbert~.pd
  8. +99 −0 deprecated/reverb.pd
  9. +41 −0 deprecated/rjXYZshake-help.pd
  10. +116 −0 deprecated/rjXYZshake.pd
  11. +194 −0 deprecated/rj_fft.pd
  12. +67 −0 deprecated/rjdispatch-help.pd
  13. +28 −0 deprecated/rjdispatch.pd
  14. +3 −0  deprecated/rjloader-help.pd
  15. +26 −0 deprecated/rjloader.pd
  16. +49 −0 deprecated/rjsave-ex-help.pd
  17. +19 −0 deprecated/rjsave-ex.pd
  18. +257 −0 deprecated/sssad.pd
  19. +253 −0 deprecated/touch.pd
  20. +6 −0 pd/README-pd-rj.txt
  21. +28 −0 pd/playback.pd
  22. +22 −0 pd/recorder.pd
  23. +60 −0 pd/soundinput.pd
  24. +94 −0 pd/soundoutput.pd
  25. +676 −0 rj/LICENSE.txt
  26. +125 −0 rj/OVERVIEW.pd
  27. +57 −0 rj/_markovanal.pd
  28. +2 −0  rj/a.txt
  29. +61 −0 rj/a_breath.pd
  30. +123 −0 rj/a_onset-help.pd
  31. +101 −0 rj/a_onset.pd
  32. +23 −0 rj/c.txt
  33. +69 −0 rj/c_adsr-help.pd
  34. +104 −0 rj/c_adsr.pd
  35. +67 −0 rj/c_adsrj-help.pd
  36. +48 −0 rj/c_adsrj.pd
  37. +45 −0 rj/c_bangx-help.pd
  38. +22 −0 rj/c_bangx.pd
  39. +55 −0 rj/c_cpfade-help.pd
  40. +57 −0 rj/c_cpfade.pd
  41. +50 −0 rj/c_drunk-help.pd
  42. +164 −0 rj/c_drunk.pd
  43. +127 −0 rj/c_ead-help.pd
  44. +72 −0 rj/c_ead.pd
  45. +59 −0 rj/c_frand-help.pd
  46. +58 −0 rj/c_frand.pd
  47. +76 −0 rj/c_lfo-help.pd
  48. +177 −0 rj/c_lfo.pd
  49. +60 −0 rj/c_madsr-help.pd
  50. +102 −0 rj/c_madsr.pd
  51. +75 −0 rj/c_madsrj-help.pd
  52. +48 −0 rj/c_madsrj.pd
  53. +267 −0 rj/c_markov-help.pd
  54. +208 −0 rj/c_markov.pd
  55. +75 −0 rj/c_mfade3-help.pd
  56. +77 −0 rj/c_mfade3.pd
  57. +69 −0 rj/c_mphasor-help.pd
  58. +103 −0 rj/c_mphasor.pd
  59. +135 −0 rj/c_multimetro-help.pd
  60. +126 −0 rj/c_multimetro.pd
  61. +242 −0 rj/c_multipass-help.pd
  62. +39 −0 rj/c_multipass.pd
  63. +53 −0 rj/c_pass-help.pd
  64. +36 −0 rj/c_pass.pd
  65. +205 −0 rj/c_patternchange-help.pd
  66. +264 −0 rj/c_patternchange.pd
  67. +122 −0 rj/c_seqplay-help.pd
  68. +123 −0 rj/c_seqplay.pd
  69. +85 −0 rj/c_taptap-help.pd
  70. +150 −0 rj/c_taptap.pd
  71. +188 −0 rj/c_urn-help.pd
  72. +133 −0 rj/c_urn.pd
  73. +43 −0 rj/c_xfade-help.pd
  74. +39 −0 rj/c_xfade.pd
  75. +31 −0 rj/e.txt
  76. +18 −0 rj/e_agc-help.pd
  77. +33 −0 rj/e_agc.pd
  78. +45 −0 rj/e_alias-help.pd
  79. +65 −0 rj/e_alias.pd
  80. +77 −0 rj/e_apdist-help.pd
  81. +60 −0 rj/e_apdist.pd
  82. +86 −0 rj/e_beequad-help.pd
  83. +432 −0 rj/e_beequad.pd
  84. +53 −0 rj/e_bitcrusher-help.pd
  85. +80 −0 rj/e_bitcrusher.pd
  86. +75 −0 rj/e_chorus-help.pd
  87. +137 −0 rj/e_chorus.pd
  88. +77 −0 rj/e_chorusr-help.pd
  89. +147 −0 rj/e_chorusr.pd
  90. +55 −0 rj/e_circlepan-help.pd
  91. +153 −0 rj/e_circlepan.pd
  92. +106 −0 rj/e_dubdel-help.pd
  93. +126 −0 rj/e_dubdel.pd
  94. +229 −0 rj/e_dynproc-help.pd
  95. +397 −0 rj/e_dynproc.pd
  96. +110 −0 rj/e_fbdelay-help.pd
  97. +106 −0 rj/e_fbdelay.pd
  98. +33 −0 rj/e_fbdelay2.pd
  99. +44 −0 rj/e_forcepitch-help.pd
  100. +48 −0 rj/e_forcepitch.pd
  101. +97 −0 rj/e_freqshift-help.pd
  102. +60 −0 rj/e_freqshift.pd
  103. +237 −0 rj/e_graindelread-help.pd
  104. +293 −0 rj/e_graindelread.pd
  105. +32 −0 rj/e_lop2-help.pd
  106. +37 −0 rj/e_lop2.pd
  107. +31 −0 rj/e_lop4-help.pd
  108. +40 −0 rj/e_lop4.pd
  109. +37 −0 rj/e_pan-help.pd
  110. +70 −0 rj/e_pan.pd
  111. +72 −0 rj/e_phaser-help.pd
  112. +78 −0 rj/e_phaser.pd
  113. +114 −0 rj/e_pingpong-help.pd
  114. +145 −0 rj/e_pingpong.pd
  115. +15 −0 rj/e_pitchshift-help.pd
  116. +139 −0 rj/e_pitchshift.pd
  117. +232 −0 rj/e_platereverb-help.pd
  118. +818 −0 rj/e_platereverb.pd
  119. +57 −0 rj/e_repeater-help.pd
  120. +92 −0 rj/e_repeater.pd
  121. +47 −0 rj/e_reslop-help.pd
  122. +58 −0 rj/e_reslop.pd
  123. +112 −0 rj/e_resonzq-help.pd
  124. +246 −0 rj/e_resonzq.pd
  125. +66 −0 rj/e_reverb-help.pd
  126. +277 −0 rj/e_reverb.pd
  127. +112 −0 rj/e_scompress-help.pd
  128. +138 −0 rj/e_scompress.pd
  129. +34 −0 rj/e_sdelay-help.pd
  130. +30 −0 rj/e_sdelay.pd
  131. +54 −0 rj/e_softclip-help.pd
  132. +115 −0 rj/e_softclip.pd
  133. +14 −0 rj/e_tremolo-help.pd
  134. +45 −0 rj/e_tremolo.pd
  135. +136 −0 rj/e_vocoder-help.pd
  136. +164 −0 rj/e_vocoder.pd
  137. +18 −0 rj/g.txt
  138. +62 −0 rj/g_channelstrip-help.pd
  139. +70 −0 rj/g_channelstrip.pd
  140. +38 −0 rj/g_hradio-help.pd
  141. +51 −0 rj/g_hradio.pd
  142. +39 −0 rj/g_hsl-help.pd
  143. +41 −0 rj/g_hsl.pd
  144. +70 −0 rj/g_hsl4-help.pd
  145. +103 −0 rj/g_hsl4.pd
  146. +39 −0 rj/g_nbx-help.pd
  147. +37 −0 rj/g_nbx.pd
  148. +40 −0 rj/g_nhsl-help.pd
  149. +57 −0 rj/g_nhsl.pd
  150. +111 −0 rj/g_pattern32-help.pd
  151. +230 −0 rj/g_pattern32.pd
  152. +59 −0 rj/g_showimage-help.pd
  153. +50 −0 rj/g_showimage.pd
  154. +60 −0 rj/g_showtext-help.pd
  155. +116 −0 rj/g_showtext.pd
  156. +26 −0 rj/g_symbol-help.pd
  157. +38 −0 rj/g_symbol.pd
  158. +38 −0 rj/g_tgl-help.pd
  159. +37 −0 rj/g_tgl.pd
  160. +44 −0 rj/g_vol-help.pd
  161. +48 −0 rj/g_vol.pd
  162. +55 −0 rj/g_vol2-help.pd
  163. +54 −0 rj/g_vol2.pd
  164. +20 −0 rj/m.txt
  165. +12 −0 rj/m_accel_magnitude-help.pd
  166. +30 −0 rj/m_accel_magnitude.pd
  167. +13 −0 rj/m_accel_pitch-help.pd
  168. +16 −0 rj/m_accel_pitch.pd
  169. +13 −0 rj/m_accel_roll-help.pd
  170. +14 −0 rj/m_accel_roll.pd
  171. +14 −0 rj/m_accel_status-help.pd
  172. +19 −0 rj/m_accel_status.pd
  173. +52 −0 rj/m_autoscale-help.pd
  174. +213 −0 rj/m_autoscale.pd
  175. +44 −0 rj/m_beat2ms-help.pd
  176. +34 −0 rj/m_beat2ms.pd
  177. +28 −0 rj/m_bpm2ms-help.pd
  178. +25 −0 rj/m_bpm2ms.pd
  179. +197 −0 rj/m_chorddict-help.pd
  180. +319 −0 rj/m_chorddict.pd
  181. +72 −0 rj/m_keyfollow-help.pd
  182. +49 −0 rj/m_keyfollow.pd
  183. +100 −0 rj/m_majorscale-help.pd
  184. +47 −0 rj/m_majorscale.pd
  185. +122 −0 rj/m_markovanal-help.pd
  186. +270 −0 rj/m_markovanal.pd
  187. +76 −0 rj/m_minorscale-help.pd
  188. +159 −0 rj/m_minorscale.pd
  189. +33 −0 rj/m_ms2beat-help.pd
  190. +34 −0 rj/m_ms2beat.pd
  191. +81 −0 rj/m_ms2sm-help.pd
  192. +19 −0 rj/m_ms2sm.pd
  193. +112 −0 rj/m_scale-help.pd
  194. +177 −0 rj/m_scale.pd
  195. +82 −0 rj/m_sm2ms-help.pd
  196. +21 −0 rj/m_sm2ms.pd
  197. +26 −0 rj/m_speedlimit-help.pd
  198. +75 −0 rj/m_speedlimit.pd
  199. +107 −0 rj/m_symbolarray-help.pd
  200. +253 −0 rj/m_symbolarray.pd
  201. +61 −0 rj/m_thresholds-help.pd
  202. +143 −0 rj/m_thresholds.pd
  203. +82 −0 rj/m_touch2grid-help.pd
  204. +96 −0 rj/m_touch2grid.pd
  205. +11 −0 rj/rj-meta.pd
  206. +19 −0 rj/s.txt
  207. +31 −0 rj/s_blsaw-help.pd
  208. +19 −0 rj/s_blsaw.pd
  209. +51 −0 rj/s_blsquare-help.pd
  210. +68 −0 rj/s_blsquare.pd
  211. +50 −0 rj/s_buzz-help.pd
  212. +114 −0 rj/s_buzz.pd
  213. +198 −0 rj/s_drumelectro-help.pd
  214. +462 −0 rj/s_drumelectro.pd
  215. +204 −0 rj/s_fm4-help.pd
  216. +738 −0 rj/s_fm4.pd
  217. +100 −0 rj/s_fmoscil-help.pd
  218. +138 −0 rj/s_fmoscil.pd
  219. +47 −0 rj/s_fplaytable-help.pd
  220. +46 −0 rj/s_fplaytable.pd
  221. +43 −0 rj/s_fplaytable2.pd
  222. +71 −0 rj/s_guitar-help.pd
  223. +325 −0 rj/s_guitar.pd
  224. +75 −0 rj/s_looper-help.pd
  225. +175 −0 rj/s_looper.pd
  226. +103 −0 rj/s_loopsmooth-help.pd
  227. +180 −0 rj/s_loopsmooth.pd
  228. +27 −0 rj/s_noish-help.pd
  229. +10 −0 rj/s_noish.pd
  230. +139 −0 rj/s_osc-help.pd
  231. +299 −0 rj/s_osc.pd
  232. +48 −0 rj/s_pinknoise-help.pd
  233. +60 −0 rj/s_pinknoise.pd
  234. +82 −0 rj/s_playolap-help.pd
  235. +170 −0 rj/s_playolap.pd
  236. +69 −0 rj/s_playtable-help.pd
  237. +309 −0 rj/s_playtable.pd
  238. +75 −0 rj/s_playtable2-help.pd
  239. +55 −0 rj/s_playtable2.pd
  240. +119 −0 rj/s_rhodey-help.pd
  241. +228 −0 rj/s_rhodey.pd
  242. +43 −0 rj/s_vphasor-help.pd
  243. +65 −0 rj/s_vphasor.pd
  244. +42 −0 rj/u.txt
  245. +65 −0 rj/u_bandpass1-help.pd
  246. +442 −0 rj/u_bandpass1.pd
  247. +64 −0 rj/u_bandpass1q-help.pd
  248. +442 −0 rj/u_bandpass1q.pd
  249. +65 −0 rj/u_bandpass2-help.pd
  250. +441 −0 rj/u_bandpass2.pd
  251. +64 −0 rj/u_bandpass2q-help.pd
  252. +440 −0 rj/u_bandpass2q.pd
  253. +125 −0 rj/u_channelstrip-help.pd
  254. +137 −0 rj/u_channelstrip.pd
  255. +27 −0 rj/u_cocollect-help.pd
  256. +33 −0 rj/u_cocollect.pd
  257. +27 −0 rj/u_collect-help.pd
  258. +28 −0 rj/u_collect.pd
  259. +70 −0 rj/u_dispatch-help.pd
  260. +36 −0 rj/u_dispatch.pd
  261. +88 −0 rj/u_dumpfile-help.pd
  262. +141 −0 rj/u_dumpfile.pd
  263. +10 −0 rj/u_fade-help.pd
  264. +37 −0 rj/u_fade.pd
  265. +47 −0 rj/u_follower.pd
  266. +63 −0 rj/u_highpass-help.pd
  267. +440 −0 rj/u_highpass.pd
  268. +63 −0 rj/u_highpassq-help.pd
  269. +440 −0 rj/u_highpassq.pd
  270. +23 −0 rj/u_listdrip-help.pd
  271. +55 −0 rj/u_listdrip.pd
  272. +26 −0 rj/u_listequal-help.pd
  273. +82 −0 rj/u_listequal.pd
  274. +68 −0 rj/u_listfilter-help.pd
  275. +49 −0 rj/u_listfilter.pd
  276. +104 −0 rj/u_listloop-help.pd
  277. +43 −0 rj/u_listloop.pd
  278. +264 −0 rj/u_listmap-help.pd
  279. +39 −0 rj/u_listmap.pd
  280. +32 −0 rj/u_listnth-help.pd
  281. +31 −0 rj/u_listnth.pd
  282. +56 −0 rj/u_listrandom-help.pd
  283. +48 −0 rj/u_listrandom.pd
  284. +168 −0 rj/u_listreduce-help.pd
  285. +41 −0 rj/u_listreduce.pd
  286. +25 −0 rj/u_listser-help.pd
  287. +43 −0 rj/u_listser.pd
  288. +121 −0 rj/u_loader-help.pd
  289. +41 −0 rj/u_loader.pd
  290. +5 −0 rj/u_loadmeter-help.pd
  291. +34 −0 rj/u_loadmeter.pd
  292. +63 −0 rj/u_lowpass-help.pd
  293. +444 −0 rj/u_lowpass.pd
  294. +63 −0 rj/u_lowpassq-help.pd
  295. +444 −0 rj/u_lowpassq.pd
  296. +71 −0 rj/u_makepoly-help.pd
  297. +220 −0 rj/u_makepoly.pd
  298. +85 −0 rj/u_multisamplebank-help.pd
  299. +225 −0 rj/u_multisamplebank.pd
  300. +89 −0 rj/u_multisamplebank2-help.pd
Sorry, we could not display the entire diff because too many files (340) changed.
35 README.txt
@@ -0,0 +1,35 @@
+=====
+rjlib
+=====
+
+In this directory you will find various objects to use in RjDj.
+
+rj
+==
+
+The main subfolder here is "rj" that includes the rj abstraction library that you
+can freely copy into you scene directory. It has it's own README so check that out.
+
+
+pd
+==
+
+These are abstractions that you should copy somewhere into your Pd search path.
+
+src
+===
+
+Here you will find the source code for some externals that are included in the RjDj
+mobile app. Some only run on the phone, but some you can also compile to run on your
+composition machine.
+
+deprecated
+==========
+
+These files should not be used anymore. They used to be part of the mobile app
+and may be required when running some scenes, but please don't make new ones
+that rely on the files being available.
+
+(Of course you can still use the abstractions by making a copy to your scene directory.)
+
+
28 deprecated/README
@@ -0,0 +1,28 @@
+
+Global messages from rjlib:
+
+1) receiver "accelerate",
+ module accelerate.pd
+ - magnitude float: gives the magnitude of an accelerator motion
+ - pitch float: the pitch
+ - roll float: the roll
+ - x float: raw x value
+ - y float: raw y value
+ - z loat: raw z value
+
+2) receiver "touch" ??? TODO: document
+ module touch.pd
+ - tap float:
+ - speed1.delta.1 float
+ - speed2.delta.2 float
+ - speed float float
+
+3) receiver analyse
+ module analysepitch.pd
+ - pitch float: a pitch value when a pitched sound is detected
+ - continuouspitch float: always delivers a pitch
+ - onset bang: bang if an onset is detected
+ module analysesimpleonset.pd
+ configuration: onset_threshold float: default value 10
+ - simpleonset bang: cheap, basic onset detector
+
24 deprecated/abs/reverb-echo.pd
@@ -0,0 +1,24 @@
+#N canvas 840 189 600 492 12;
+#X obj 66 95 inlet~;
+#X obj 130 96 inlet~;
+#X obj 68 216 outlet~;
+#X obj 141 215 outlet~;
+#X obj 67 143 +~;
+#X obj 140 141 -~;
+#X obj 141 165 delwrite~ \$1 \$2;
+#X obj 140 191 delread~ \$1 \$2;
+#X text 48 14 This appears as an abstraction in patch G08.reverb.pd
+;
+#X text 27 267 This network makes two copies of the (stereo) input
+\, one in phase \, the other out of phase and delayed. The total frequency
+response is flat. The total signal power out is exactly twice that
+of the input \, no matter what freqiencies the input contains. This
+is used to increase echo density \, by stacking several of these units
+with different delay times. Each stage doubles the echo density.;
+#X connect 0 0 4 0;
+#X connect 0 0 5 0;
+#X connect 1 0 4 1;
+#X connect 1 0 5 1;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 7 0 3 0;
90 deprecated/accelerate.pd
@@ -0,0 +1,90 @@
+#N canvas 537 40 360 283 10;
+#N canvas 79 298 269 329 magnitude 0;
+#X obj 14 17 r #accelerate;
+#X obj 14 48 unpack f f f;
+#X obj 14 108 *;
+#X obj 76 108 *;
+#X obj 135 108 *;
+#X obj 14 138 +;
+#X obj 14 168 +;
+#X obj 14 198 pow 0.5;
+#X obj 14 258 s accelerate;
+#X msg 14 228 magnitude \$1;
+#X msg 14 78 \$1 \$1;
+#X msg 76 78 \$1 \$1;
+#X msg 135 78 \$1 \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 1 1 11 0;
+#X connect 1 2 12 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 1;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 9 0;
+#X connect 9 0 8 0;
+#X connect 10 0 2 0;
+#X connect 11 0 3 0;
+#X connect 12 0 4 0;
+#X restore 16 22 pd magnitude;
+#N canvas 123 87 366 291 pitch 0;
+#X obj 31 25 r #accelerate;
+#X obj 31 205 s accelerate;
+#X obj 31 85 /;
+#X obj 31 115 atan;
+#X msg 31 175 pitch \$1;
+#X obj 31 145 * -1;
+#X obj 31 55 list split 1;
+#X connect 0 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 6 1 2 0;
+#X restore 16 52 pd pitch;
+#N canvas 256 44 307 244 roll 0;
+#X obj 14 17 r #accelerate;
+#X obj 14 47 unpack f f f;
+#X obj 14 167 s accelerate;
+#X msg 14 137 roll \$1;
+#X obj 14 77 /;
+#X obj 14 107 atan;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 1 2 4 1;
+#X connect 3 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X restore 16 82 pd roll;
+#X text 16 187 Author: Roman Haefeli;
+#N canvas 166 94 327 239 x_y_z 0;
+#X obj 14 17 r #accelerate;
+#X obj 14 77 s accelerate;
+#X msg 14 47 x \$1 \, y \$2 \, z \$3;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X restore 16 112 pd x_y_z;
+#X text 15 168 Version: 2008-07-14;
+#N canvas 0 22 223 279 status 0;
+#X obj 14 17 r #accelerate;
+#X obj 14 77 f 150;
+#X obj 14 107 del;
+#X obj 14 167 change;
+#X obj 14 47 t b b;
+#X msg 14 197 status \$1;
+#X obj 14 227 s accelerate;
+#X obj 104 117 f 1;
+#X obj 14 137 f 0;
+#X connect 0 0 4 0;
+#X connect 1 0 2 0;
+#X connect 2 0 8 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 0;
+#X connect 4 1 7 0;
+#X connect 5 0 6 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X restore 16 142 pd status;
+#X text 16 207 Revision: 2008-09-19 eerne: minor enhancement;
+#X text 16 227 2008-09-20 eerne: added status;
23 deprecated/analysepitch.pd
@@ -0,0 +1,23 @@
+#N canvas 486 22 450 300 10;
+#X obj 119 128 fiddle~;
+#X obj 153 263 s analyse;
+#X obj 119 65 adc~;
+#X floatatom 43 235 5 0 0 0 - - -;
+#X msg 92 202 pitch \$1;
+#X msg 263 201 continuouspitch \$1;
+#X msg 169 202 onset bang;
+#X obj 264 178 unpack;
+#X obj 169 64 r inputvolume;
+#X obj 120 99 *~ 1;
+#X connect 0 0 4 0;
+#X connect 0 0 3 0;
+#X connect 0 1 6 0;
+#X connect 0 2 7 0;
+#X connect 2 0 9 0;
+#X connect 2 1 9 0;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 5 0;
+#X connect 8 0 9 1;
+#X connect 9 0 0 0;
37 deprecated/analysesimpleonset.pd
@@ -0,0 +1,37 @@
+#N canvas 270 63 551 550 10;
+#X obj 96 61 adc~;
+#X obj 97 121 env~;
+#X obj 152 62 inlet;
+#X obj 203 63 r onset_threshold;
+#X obj 167 268 change;
+#X obj 167 290 sel 1;
+#X obj 167 389 s analyse;
+#X floatatom 180 153 5 0 0 0 - - -;
+#X obj 97 182 -;
+#X obj 97 159 t f f;
+#X obj 125 339 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 70 213 t f f;
+#X obj 79 268 spigot;
+#X obj 168 328 float;
+#X msg 168 362 simpleonset \$1;
+#X obj 103 236 > 3;
+#X connect 0 0 1 0;
+#X connect 0 1 1 0;
+#X connect 1 0 7 0;
+#X connect 1 0 9 0;
+#X connect 2 0 15 1;
+#X connect 3 0 15 1;
+#X connect 4 0 5 0;
+#X connect 5 0 10 0;
+#X connect 5 0 13 0;
+#X connect 8 0 11 0;
+#X connect 9 0 8 1;
+#X connect 9 1 8 0;
+#X connect 11 0 12 0;
+#X connect 11 1 15 0;
+#X connect 12 0 13 1;
+#X connect 13 0 14 0;
+#X connect 14 0 6 0;
+#X connect 15 0 4 0;
+#X connect 15 0 12 1;
27 deprecated/hilbert~.pd
@@ -0,0 +1,27 @@
+#N canvas 269 0 593 306 12;
+#X obj 105 92 biquad~ 0.83774 -0.06338 0.06338 -0.83774 1;
+#X obj 105 66 biquad~ 1.94632 -0.94657 0.94657 -1.94632 1;
+#X obj 86 149 biquad~ -0.02569 0.260502 -0.260502 0.02569 1;
+#X obj 86 175 biquad~ 1.8685 -0.870686 0.870686 -1.8685 1;
+#X obj 86 39 inlet~;
+#X obj 105 121 outlet~;
+#X obj 86 202 outlet~;
+#X text 34 232 This is a pair of 4th-order all-pass filters whose outputs
+somehow manage to be about 90 degrees out of phase from each other.
+Both have different phases from the original. Adapted from a 4X patch
+by Emmanuel Favreau \, circa 1982;
+#X obj 502 39 inlet;
+#X text 461 13 bang to clear;
+#X text 80 16 signal in;
+#X msg 502 112 clear;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 3 0;
+#X connect 3 0 6 0;
+#X connect 4 0 1 0;
+#X connect 4 0 2 0;
+#X connect 8 0 11 0;
+#X connect 11 0 1 0;
+#X connect 11 0 0 0;
+#X connect 11 0 2 0;
+#X connect 11 0 3 0;
99 deprecated/reverb.pd
@@ -0,0 +1,99 @@
+#N canvas 390 121 790 517 10;
+#X obj 91 17 inlet~;
+#X obj 344 225 +~;
+#X obj 386 225 +~;
+#X obj 615 453 outlet~;
+#X obj 685 453 outlet~;
+#X obj 305 288 +~;
+#X obj 414 289 +~;
+#X obj 347 288 -~;
+#X obj 454 288 -~;
+#X obj 305 327 +~;
+#X obj 349 328 +~;
+#X obj 393 329 -~;
+#X obj 432 329 -~;
+#X obj 680 172 inlet;
+#X obj 680 244 / 200;
+#X obj 680 196 min 100;
+#X obj 680 219 max 0;
+#X obj 306 465 delwrite~ loop-del1 60;
+#X obj 351 443 delwrite~ loop-del2 71.9345;
+#X obj 432 397 delwrite~ loop-del4 95.945;
+#X obj 365 164 delread~ loop-del1 60;
+#X obj 407 189 delread~ loop-del2 71.9345;
+#X obj 475 243 delread~ loop-del4 95.945;
+#X obj 453 218 delread~ loop-del3 86.7545;
+#X obj 393 420 delwrite~ loop-del3 86.7545;
+#X obj 91 41 abs/reverb-echo echo-del1 5.43216;
+#X obj 91 65 abs/reverb-echo echo-del2 8.45346;
+#X obj 91 89 abs/reverb-echo echo-del3 13.4367;
+#X obj 91 113 abs/reverb-echo echo-del4 21.5463;
+#X obj 91 137 abs/reverb-echo echo-del5 34.3876;
+#X obj 91 161 abs/reverb-echo echo-del6 55.5437;
+#X obj 305 354 *~ \$1;
+#X obj 350 355 *~ \$1;
+#X obj 392 356 *~ \$1;
+#X obj 433 357 *~ \$1;
+#X obj 746 174 inlet;
+#X obj 746 198 min 100;
+#X obj 746 221 max 0;
+#X obj 706 364 / 100;
+#X obj 709 403 *~ \$2;
+#X obj 652 393 *~ \$2;
+#X connect 0 0 25 0;
+#X connect 0 0 3 0;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 1 0 7 0;
+#X connect 1 0 40 0;
+#X connect 2 0 5 1;
+#X connect 2 0 7 1;
+#X connect 2 0 39 0;
+#X connect 5 0 9 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 1;
+#X connect 6 0 9 1;
+#X connect 7 0 10 0;
+#X connect 7 0 12 0;
+#X connect 8 0 10 1;
+#X connect 8 0 12 1;
+#X connect 9 0 31 0;
+#X connect 10 0 32 0;
+#X connect 11 0 33 0;
+#X connect 12 0 34 0;
+#X connect 13 0 15 0;
+#X connect 14 0 31 1;
+#X connect 14 0 32 1;
+#X connect 14 0 33 1;
+#X connect 14 0 34 1;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 20 0 1 1;
+#X connect 21 0 2 1;
+#X connect 22 0 6 1;
+#X connect 22 0 8 1;
+#X connect 23 0 6 0;
+#X connect 23 0 8 0;
+#X connect 25 0 26 0;
+#X connect 25 1 26 1;
+#X connect 26 0 27 0;
+#X connect 26 1 27 1;
+#X connect 27 0 28 0;
+#X connect 27 1 28 1;
+#X connect 28 0 29 0;
+#X connect 28 1 29 1;
+#X connect 29 0 30 0;
+#X connect 29 1 30 1;
+#X connect 30 0 1 0;
+#X connect 30 1 2 0;
+#X connect 31 0 17 0;
+#X connect 32 0 18 0;
+#X connect 33 0 24 0;
+#X connect 34 0 19 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 37 0 38 0;
+#X connect 38 0 39 1;
+#X connect 38 0 40 1;
+#X connect 39 0 4 0;
+#X connect 40 0 3 0;
41 deprecated/rjXYZshake-help.pd
@@ -0,0 +1,41 @@
+#N canvas 173 22 516 331 10;
+#X obj 16 257 rjXYZshake;
+#X obj 14 298 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 50 298 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 83 297 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X obj 16 283 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 50 283 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X obj 83 281 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
+-1;
+#X msg 18 196 sensitivity \$1;
+#X obj 19 136 hradio 15 1 0 8 empty rjXYZ-sensitiv-r empty 0 -8 0 10
+-262144 -1 -1 1;
+#X obj 169 136 hradio 15 1 0 8 empty rjXYZ-timeout-r empty 0 -8 0 10
+-262144 -1 -1 3;
+#X msg 169 196 timeout \$1;
+#X obj 169 166 * 100;
+#X msg 321 154 \; rjXYZ-sensitiv-r 1 \; rjXYZ-timeout-r 3;
+#X obj 320 132 loadbang;
+#X text 14 12 rjXYZshake 0.1 alpha written by enrique erne. inspired
+by roman haefeli's amenshake. gives 0 or 1 for each axis.;
+#X text 110 287 gives 0 or 1 for each axis.;
+#X text 12 55 2008.10.08 initial release \, port from TheWhiteRoom
+\, eerne;
+#X text 66 115 needs testing!!!;
+#X connect 0 0 1 0;
+#X connect 0 0 4 0;
+#X connect 0 1 2 0;
+#X connect 0 1 5 0;
+#X connect 0 2 3 0;
+#X connect 0 2 6 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 11 0;
+#X connect 10 0 0 0;
+#X connect 11 0 10 0;
+#X connect 13 0 12 0;
116 deprecated/rjXYZshake.pd
@@ -0,0 +1,116 @@
+#N canvas 317 178 649 557 10;
+#X obj 35 153 abs;
+#X obj 35 263 sel 1;
+#X obj 35 123 -;
+#X obj 35 93 t a a;
+#X obj 35 323 spigot 1;
+#X obj 119 483 change;
+#X obj 427 228 unpack f f f;
+#X msg 55 353 1 0 0;
+#X obj 427 388 t a;
+#X obj 87 263 t a a;
+#X obj 165 153 abs;
+#X obj 165 263 sel 1;
+#X obj 165 123 -;
+#X obj 165 93 t a a;
+#X obj 165 323 spigot 1;
+#X obj 249 483 change;
+#X obj 217 263 t a a;
+#X msg 185 353 0 1 0;
+#X obj 295 153 abs;
+#X obj 295 263 sel 1;
+#X obj 295 123 -;
+#X obj 295 93 t a a;
+#X obj 295 323 spigot 1;
+#X obj 379 483 change;
+#X obj 347 263 t a a;
+#X msg 315 353 0 0 1;
+#X obj 166 426 t b b;
+#X msg 198 456 0;
+#X msg 133 289 1;
+#X text 370 51 Author: Enrique Erne;
+#X text 369 31 Version: 2008-09-21;
+#X obj 119 513 outlet;
+#X obj 249 513 outlet;
+#X obj 379 513 outlet;
+#X text 80 224 sensitivity;
+#X text 64 113 dif2last;
+#X obj 35 393 delay 400;
+#X obj 165 393 delay 400;
+#X obj 295 393 delay 400;
+#X text 38 413 timeout;
+#X obj 35 223 > 1.5;
+#X obj 165 223 > 1.5;
+#X obj 295 223 > 1.5;
+#X obj 35 33 r #accelerate;
+#X obj 35 63 unpack f f f;
+#X obj 408 124 inlet;
+#X obj 408 147 route sensitivity timeout;
+#X obj 389 355 t a;
+#X text 369 71 Inspired by Roman Haefeli's Amenshake;
+#X obj 407 166 cnv 15 180 10 empty empty empty 20 12 0 14 -258113 -66577
+0;
+#X text 547 174 UNTESTED;
+#X connect 0 0 40 0;
+#X connect 1 0 4 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 1;
+#X connect 3 1 2 0;
+#X connect 4 0 7 0;
+#X connect 4 0 36 0;
+#X connect 5 0 31 0;
+#X connect 6 0 9 0;
+#X connect 6 1 16 0;
+#X connect 6 2 24 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 4 1;
+#X connect 9 1 5 0;
+#X connect 10 0 41 0;
+#X connect 11 0 14 0;
+#X connect 12 0 10 0;
+#X connect 13 0 12 1;
+#X connect 13 1 12 0;
+#X connect 14 0 17 0;
+#X connect 14 0 37 0;
+#X connect 15 0 32 0;
+#X connect 16 0 14 1;
+#X connect 16 1 15 0;
+#X connect 17 0 8 0;
+#X connect 18 0 42 0;
+#X connect 19 0 22 0;
+#X connect 20 0 18 0;
+#X connect 21 0 20 1;
+#X connect 21 1 20 0;
+#X connect 22 0 25 0;
+#X connect 22 0 38 0;
+#X connect 23 0 33 0;
+#X connect 24 0 22 1;
+#X connect 24 1 23 0;
+#X connect 25 0 8 0;
+#X connect 26 0 28 0;
+#X connect 26 1 27 0;
+#X connect 27 0 23 0;
+#X connect 27 0 15 0;
+#X connect 27 0 5 0;
+#X connect 28 0 4 1;
+#X connect 28 0 14 1;
+#X connect 28 0 22 1;
+#X connect 36 0 26 0;
+#X connect 37 0 26 0;
+#X connect 38 0 26 0;
+#X connect 40 0 1 0;
+#X connect 41 0 11 0;
+#X connect 42 0 19 0;
+#X connect 43 0 44 0;
+#X connect 44 0 3 0;
+#X connect 44 1 13 0;
+#X connect 44 2 21 0;
+#X connect 45 0 46 0;
+#X connect 46 0 42 1;
+#X connect 46 0 41 1;
+#X connect 46 0 40 1;
+#X connect 46 1 47 0;
+#X connect 47 0 36 1;
+#X connect 47 0 37 1;
+#X connect 47 0 38 1;
194 deprecated/rj_fft.pd
@@ -0,0 +1,194 @@
+#N canvas 0 22 1056 499 10;
+#X obj 51 58 block~ 1024 2;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array \$0-hann 1024 float 1;
+#A 0 0 1.88351e-05 3.76403e-05 9.41157e-05 0.000150591 0.000244677
+0.000338793 0.000470519 0.000602275 0.000771582 0.000940919 0.00114784
+0.00135475 0.00159922 0.00184369 0.00212565 0.00240761 0.00272706 0.00304651
+0.00340337 0.00376022 0.00415444 0.00454867 0.00498021 0.00541171 0.00588048
+0.00634927 0.00685519 0.00736114 0.00790417 0.00844723 0.0090273 0.00960734
+0.0102243 0.0108413 0.0114951 0.0121489 0.0128394 0.01353 0.0142572
+0.0149843 0.015748 0.0165117 0.0173118 0.0181119 0.0189483 0.0197847
+0.0206572 0.0215298 0.0224383 0.0233469 0.0242914 0.0252359 0.0262161
+0.0271963 0.0282121 0.0292279 0.0302792 0.0313304 0.032417 0.0335035
+0.0346252 0.0357469 0.0369035 0.0380602 0.0392516 0.040443 0.041669
+0.042895 0.0441555 0.0454159 0.0467106 0.0480052 0.0493339 0.0506626
+0.0520252 0.0533877 0.0547839 0.05618 0.0576096 0.0590392 0.060502
+0.0619648 0.0634606 0.0649563 0.0664849 0.0680134 0.0695744 0.0711355
+0.0727288 0.0743222 0.0759476 0.077573 0.0792302 0.0808874 0.0825762
+0.084265 0.085985 0.0877051 0.0894562 0.0912073 0.0929892 0.0947711
+0.0965835 0.0983959 0.100239 0.102081 0.103954 0.105826 0.107729 0.109631
+0.111563 0.113494 0.115455 0.117416 0.119406 0.121395 0.123413 0.125431
+0.127478 0.129524 0.131598 0.133672 0.135774 0.137876 0.140005 0.142134
+0.14429 0.146446 0.148629 0.150811 0.15302 0.155229 0.157464 0.159699
+0.161959 0.16422 0.166506 0.168792 0.171102 0.173413 0.175748 0.178084
+0.180443 0.182803 0.185186 0.18757 0.189977 0.192384 0.194814 0.197244
+0.199697 0.20215 0.204625 0.2071 0.209598 0.212095 0.214614 0.217133
+0.219674 0.222214 0.224775 0.227337 0.229919 0.2325 0.235102 0.237704
+0.240326 0.242948 0.245589 0.24823 0.25089 0.25355 0.256229 0.258907
+0.261604 0.264301 0.267015 0.26973 0.272462 0.275194 0.277942 0.280691
+0.283457 0.286222 0.289003 0.291785 0.294582 0.297379 0.300191 0.303003
+0.305831 0.308658 0.311499 0.314341 0.317196 0.320052 0.322921 0.32579
+0.328672 0.331555 0.334449 0.337344 0.340252 0.343159 0.346078 0.348997
+0.351927 0.354857 0.357798 0.36074 0.363691 0.366643 0.369605 0.372567
+0.375538 0.37851 0.38149 0.384471 0.38746 0.390449 0.393447 0.396444
+0.399449 0.402455 0.405467 0.40848 0.411499 0.414519 0.417545 0.420571
+0.423603 0.426635 0.429672 0.432709 0.435752 0.438794 0.441842 0.444889
+0.44794 0.450991 0.454046 0.457101 0.460159 0.463218 0.466279 0.46934
+0.472403 0.475466 0.478531 0.481596 0.484663 0.487729 0.490797 0.493864
+0.496932 0.5 0.503068 0.506136 0.509203 0.512271 0.515337 0.518404
+0.521469 0.524534 0.527597 0.53066 0.533721 0.536782 0.539841 0.542899
+0.545954 0.549009 0.55206 0.555111 0.558158 0.561205 0.564248 0.56729
+0.570328 0.573365 0.576397 0.579429 0.582455 0.585481 0.588501 0.59152
+0.594533 0.597545 0.600551 0.603556 0.606553 0.609551 0.61254 0.615529
+0.61851 0.62149 0.624462 0.627433 0.630395 0.633357 0.636308 0.63926
+0.642201 0.645143 0.648073 0.651003 0.653922 0.656841 0.659748 0.662656
+0.66555 0.668445 0.671328 0.67421 0.677079 0.679948 0.682804 0.685659
+0.688501 0.691342 0.694169 0.696997 0.699809 0.702621 0.705418 0.708215
+0.710997 0.713778 0.716543 0.719309 0.722057 0.724806 0.727538 0.73027
+0.732984 0.735699 0.738396 0.741093 0.743771 0.74645 0.74911 0.75177
+0.754411 0.757052 0.759674 0.762295 0.764897 0.767499 0.770081 0.772663
+0.775224 0.777786 0.780326 0.782867 0.785386 0.787905 0.790402 0.7929
+0.795375 0.79785 0.800303 0.802756 0.805186 0.807616 0.810023 0.812431
+0.814814 0.817197 0.819557 0.821916 0.824252 0.826587 0.828898 0.831209
+0.833494 0.83578 0.838041 0.840301 0.842536 0.844771 0.84698 0.849189
+0.851372 0.853554 0.85571 0.857866 0.859995 0.862124 0.864226 0.866328
+0.868402 0.870476 0.872523 0.874569 0.876587 0.878605 0.880595 0.882584
+0.884545 0.886506 0.888438 0.890369 0.892272 0.894174 0.896047 0.897919
+0.899762 0.901605 0.903417 0.905229 0.907011 0.908793 0.910544 0.912295
+0.914015 0.915736 0.917424 0.919113 0.92077 0.922428 0.924053 0.925678
+0.927272 0.928865 0.930426 0.931987 0.933516 0.935044 0.93654 0.938036
+0.939499 0.940961 0.942391 0.94382 0.945217 0.946613 0.947975 0.949338
+0.950667 0.951995 0.95329 0.954585 0.955845 0.957106 0.958332 0.959558
+0.960749 0.96194 0.963097 0.964254 0.965375 0.966497 0.967584 0.96867
+0.969721 0.970773 0.971788 0.972804 0.973784 0.974765 0.975709 0.976654
+0.977562 0.978471 0.979343 0.980216 0.981052 0.981889 0.982689 0.983489
+0.984252 0.985016 0.985743 0.98647 0.987161 0.987852 0.988505 0.989159
+0.989776 0.990393 0.990973 0.991553 0.992096 0.992639 0.993145 0.993651
+0.99412 0.994589 0.99502 0.995452 0.995846 0.99624 0.996597 0.996954
+0.997273 0.997593 0.997874 0.998156 0.998401 0.998645 0.998852 0.999059
+0.999229 0.999398 0.99953 0.999661 0.999755 0.999849 0.999906 0.999962
+0.999981 1 0.999981 0.999962 0.999906 0.999849 0.999755 0.999661 0.999529
+0.999398 0.999228 0.999059 0.998852 0.998645 0.998401 0.998156 0.997874
+0.997592 0.997273 0.996953 0.996596 0.996239 0.995845 0.995451 0.995019
+0.994588 0.994119 0.99365 0.993144 0.992638 0.992095 0.991552 0.990972
+0.990392 0.989775 0.989158 0.988504 0.987851 0.98716 0.986469 0.985742
+0.985015 0.984251 0.983488 0.982687 0.981887 0.981051 0.980215 0.979342
+0.978469 0.977561 0.976652 0.975708 0.974763 0.973783 0.972803 0.971787
+0.970771 0.96972 0.968669 0.967582 0.966495 0.965374 0.964252 0.963095
+0.961939 0.960747 0.959556 0.95833 0.957104 0.955843 0.954583 0.953288
+0.951993 0.950665 0.949336 0.947973 0.946611 0.945215 0.943818 0.942389
+0.940959 0.939496 0.938034 0.936538 0.935042 0.933514 0.931985 0.930424
+0.928863 0.927269 0.925676 0.924051 0.922425 0.920768 0.919111 0.917422
+0.915733 0.914013 0.912293 0.910542 0.908791 0.907009 0.905227 0.903414
+0.901602 0.899759 0.897917 0.896044 0.894171 0.892269 0.890367 0.888435
+0.886503 0.884542 0.882582 0.880592 0.878602 0.876584 0.874566 0.87252
+0.870473 0.868399 0.866325 0.864223 0.862121 0.859992 0.857863 0.855707
+0.853551 0.851368 0.849186 0.846977 0.844768 0.842533 0.840298 0.838037
+0.835777 0.833491 0.831205 0.828895 0.826584 0.824249 0.821913 0.819554
+0.817194 0.814811 0.812427 0.81002 0.807613 0.805183 0.802753 0.8003
+0.797847 0.795372 0.792896 0.790399 0.787901 0.785382 0.782863 0.780323
+0.777782 0.775221 0.77266 0.770078 0.767496 0.764894 0.762292 0.75967
+0.757048 0.754407 0.751766 0.749106 0.746446 0.743767 0.741089 0.738392
+0.735695 0.732981 0.730266 0.727534 0.724802 0.722054 0.719305 0.71654
+0.713774 0.710993 0.708211 0.705414 0.702617 0.699805 0.696993 0.694165
+0.691338 0.688497 0.685655 0.6828 0.679944 0.677075 0.674206 0.671324
+0.668441 0.665546 0.662652 0.659744 0.656837 0.653918 0.650999 0.648069
+0.645139 0.642197 0.639256 0.636304 0.633353 0.630391 0.627429 0.624458
+0.621486 0.618506 0.615525 0.612536 0.609547 0.606549 0.603552 0.600546
+0.597541 0.594529 0.591516 0.588496 0.585477 0.582451 0.579425 0.576393
+0.573361 0.570324 0.567286 0.564244 0.561201 0.558154 0.555107 0.552056
+0.549004 0.545949 0.542894 0.539836 0.536778 0.533717 0.530656 0.527593
+0.52453 0.521464 0.518399 0.515333 0.512266 0.509199 0.506131 0.503064
+0.499996 0.496928 0.49386 0.490792 0.487725 0.484659 0.481592 0.478527
+0.475462 0.472399 0.469335 0.466274 0.463213 0.460155 0.457097 0.454042
+0.450987 0.447936 0.444884 0.441837 0.43879 0.435748 0.432705 0.429668
+0.42663 0.423598 0.420566 0.417541 0.414515 0.411495 0.408476 0.405463
+0.40245 0.399445 0.39644 0.393442 0.390445 0.387456 0.384466 0.381486
+0.378505 0.375534 0.372563 0.369601 0.366639 0.363687 0.360736 0.357794
+0.354853 0.351923 0.348993 0.346074 0.343155 0.340247 0.33734 0.334445
+0.331551 0.328668 0.325786 0.322917 0.320048 0.317192 0.314337 0.311495
+0.308654 0.305827 0.302999 0.300187 0.297375 0.294578 0.291781 0.288999
+0.286218 0.283453 0.280687 0.277939 0.27519 0.272458 0.269726 0.267012
+0.264297 0.2616 0.258904 0.256225 0.253547 0.250886 0.248226 0.245585
+0.242944 0.240323 0.237701 0.235099 0.232497 0.229915 0.227333 0.224772
+0.222211 0.21967 0.21713 0.214611 0.212092 0.209594 0.207097 0.204622
+0.202146 0.199693 0.19724 0.19481 0.19238 0.189973 0.187566 0.185183
+0.182799 0.18044 0.17808 0.175745 0.17341 0.171099 0.168788 0.166502
+0.164217 0.161956 0.159696 0.157461 0.155226 0.153017 0.150808 0.148625
+0.146443 0.144287 0.142131 0.140002 0.137873 0.135771 0.133669 0.131595
+0.129521 0.127474 0.125428 0.12341 0.121392 0.119402 0.117413 0.115452
+0.113491 0.11156 0.109628 0.107726 0.105823 0.103951 0.102078 0.100236
+0.0983929 0.0965805 0.0947681 0.0929862 0.0912043 0.0894533 0.0877022
+0.0859821 0.084262 0.0825733 0.0808845 0.0792274 0.0775702 0.0759448
+0.0743194 0.0727261 0.0711327 0.0695717 0.0680107 0.0664822 0.0649537
+0.0634579 0.0619622 0.0604994 0.0590366 0.0576071 0.0561775 0.0547814
+0.0533852 0.0520227 0.0506602 0.0493315 0.0480028 0.0467082 0.0454136
+0.0441532 0.0428927 0.0416667 0.0404407 0.0392494 0.038058 0.0369014
+0.0357448 0.0346231 0.0335014 0.0324149 0.0313284 0.0302772 0.0292259
+0.0282102 0.0271944 0.0262142 0.025234 0.0242896 0.0233451 0.0224366
+0.0215281 0.0206555 0.019783 0.0189467 0.0181103 0.0173103 0.0165102
+0.0157465 0.0149829 0.0142557 0.0135286 0.0128381 0.0121476 0.0114938
+0.01084 0.0102231 0.00960612 0.00902611 0.0084461 0.0079031 0.0073601
+0.00685418 0.00634828 0.00587955;
+#A 1000 0.00541082 0.00497931 0.00454783 0.00415364 0.00375944 0.00340262
+0.0030458 0.00272641 0.00240701 0.00212508 0.00184312 0.00159872 0.00135428
+0.00114739 0.000940531 0.000771224 0.000601947 0.000470251 0.000338554
+0.000244498 0.000150412 9.39965e-05 3.75509e-05 1.87755e-05;
+#X coords 0 1 1023 0 200 120 1;
+#X restore 257 137 graph;
+#X msg 174 141 0;
+#X obj 59 195 osc~;
+#X obj 59 147 samplerate~;
+#X obj 59 218 *~ -0.5;
+#X obj 59 241 +~ 0.5;
+#X obj 51 266 tabwrite~ \$0-hann;
+#X obj 51 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 330 104 Hann window;
+#X text 49 99 recalculate Hann;
+#X text 84 114 window table;
+#X text 107 193 comment;
+#X obj 59 171 / 512;
+#X obj 558 145 *~;
+#X obj 557 80 inlet~;
+#X obj 558 199 rfft~;
+#X obj 579 121 tabreceive~ \$0-hann;
+#X obj 557 287 *~;
+#X obj 599 287 *~;
+#X obj 558 337 sqrt~;
+#X text 768 112 tabreceive~ outputs array contents \,;
+#X text 768 130 constantly \, every block. Here it's;
+#X text 766 150 used to get the Hann window to;
+#X text 768 168 multiply by the input.;
+#X text 619 80 The inlet~ automatically re-blocks to the new block
+size.;
+#X obj 558 313 +~;
+#X text 637 289 Take the magnitude by squaring real and imaginary part
+\, adding and taking square root.;
+#X text 625 196 forward real FFT. Like "fft~" \, but only one inlet
+(for the real part) and only the first half of the output signals are
+used. (The others are determined by symmetry: they're complex conjugates
+of the first half \, in reverse order.) This takes 1/2 the CPU time
+of "fft".;
+#X obj 556 372 s~ fft;
+#X connect 2 0 3 1;
+#X connect 3 0 5 0;
+#X connect 4 0 13 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 8 0 4 0;
+#X connect 8 0 2 0;
+#X connect 8 0 7 0;
+#X connect 13 0 3 0;
+#X connect 14 0 16 0;
+#X connect 15 0 14 0;
+#X connect 16 0 18 0;
+#X connect 16 0 18 1;
+#X connect 16 1 19 0;
+#X connect 16 1 19 1;
+#X connect 17 0 14 1;
+#X connect 18 0 26 0;
+#X connect 19 0 26 1;
+#X connect 20 0 29 0;
+#X connect 26 0 20 0;
67 deprecated/rjdispatch-help.pd
@@ -0,0 +1,67 @@
+#N canvas 212 72 973 689 10;
+#X obj 121 172 inlet;
+#X floatatom 175 194 5 0 0 0 - - -;
+#X floatatom 383 334 5 0 0 0 - - -;
+#X floatatom 382 525 5 0 0 0 - - -;
+#X obj 382 504 r \$0-float;
+#X floatatom 272 193 5 0 0 0 - - -;
+#X floatatom 525 195 5 0 0 0 - - -;
+#X floatatom 382 624 5 0 0 0 - - -;
+#X floatatom 322 194 5 0 0 0 - - -;
+#X obj 383 383 t a b;
+#X obj 383 407 list prepend set;
+#X obj 383 429 list trim;
+#X msg 383 452 a b c d 93;
+#X obj 382 603 r \$0-prep;
+#X obj 525 217 list prepend prep;
+#X msg 175 215 attack \$1;
+#X obj 121 312 rjdispatch \$0 attack;
+#X obj 383 313 r \$0-attack;
+#X obj 383 360 r \$0-alist;
+#X obj 322 216 list prepend alist a b c d;
+#X text 84 23 [rjdispatch];
+#X text 123 45 Wrapper around [route] that automatically sends incoming
+messages to a receiver called "\$1-\$2" \, if they start with \$2.
+;
+#X text 125 94 Non-matching messages get passed on to the outlet.;
+#X text 124 114 Useful for dispatching of inlet-messages if you create
+chains of [rjdispatch] objects like below:;
+#X text 274 312 sends to this:;
+#X text 271 358 sends to this:;
+#X text 268 502 sends to this:;
+#X text 268 603 sends to this:;
+#X msg 476 271 help;
+#X obj 121 503 rjdispatch \$0 float;
+#X obj 121 600 rjdispatch \$0 prep;
+#X obj 121 359 rjdispatch \$0 alist;
+#X text 473 252 special method "help" to print all active rjdispatch
+targets;
+#X obj 121 630 rjdispatch \$0 bang;
+#X obj 258 630 r \$0-bang;
+#X msg 135 215 bang;
+#X obj 258 658 print BANG;
+#X obj 671 527 rjdispatch \$0 symbol;
+#X text 643 508 This does not work \, don't use it:;
+#X connect 0 0 16 0;
+#X connect 1 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 16 0;
+#X connect 6 0 14 0;
+#X connect 8 0 19 0;
+#X connect 9 0 10 0;
+#X connect 9 1 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 13 0 7 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 0;
+#X connect 16 0 31 0;
+#X connect 17 0 2 0;
+#X connect 18 0 9 0;
+#X connect 19 0 16 0;
+#X connect 28 0 16 0;
+#X connect 29 0 30 0;
+#X connect 30 0 33 0;
+#X connect 31 0 29 0;
+#X connect 34 0 36 0;
+#X connect 35 0 16 0;
28 deprecated/rjdispatch.pd
@@ -0,0 +1,28 @@
+#N canvas 303 323 759 261 10;
+#X obj 131 28 inlet;
+#X obj 182 185 outlet;
+#X obj 131 122 route \$2;
+#X obj 131 155 s \$1-\$2;
+#X obj 131 98 list trim;
+#X obj 273 121 select help;
+#X obj 273 158 list append \$2;
+#X obj 273 182 list trim;
+#X obj 273 205 print dispatcher;
+#X obj 273 94 route symbol;
+#X obj 273 70 list;
+#X obj 470 104 sssad \$2 \$1;
+#X obj 470 131 s \$1-\$2;
+#X obj 544 73 r \$1-\$2;
+#X text 447 73 state saves:;
+#X connect 0 0 4 0;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 2 1 1 0;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 9 0 5 0;
+#X connect 10 0 9 0;
+#X connect 11 0 12 0;
+#X connect 13 0 11 1;
3  deprecated/rjloader-help.pd
@@ -0,0 +1,3 @@
+#N canvas 341 323 756 361 10;
+#X text 134 100 Please see help for rjsave-ex:;
+#X obj 148 130 rjsave-ex rjload;
26 deprecated/rjloader.pd
@@ -0,0 +1,26 @@
+#N canvas 0 0 797 492 10;
+#X obj 151 86 route persist;
+#X obj 151 117 list prepend \$1;
+#X obj 150 196 list trim;
+#X obj 150 222 route \$1;
+#X msg 150 328 setonly \$1;
+#X obj 150 248 t a a;
+#X obj 150 306 list;
+#X obj 150 174 r RJ_SCENE_LOAD;
+#X obj 151 144 s RJ_SCENE;
+#X obj 305 98 r RJ_SCENE_SAVE;
+#X obj 151 54 r \$2-SSSAD_ADMIN;
+#X obj 150 352 s \$2-SSSAD_ADMIN;
+#X obj 182 270 s \$2-SSSAD;
+#X obj 305 137 s \$2-SSSAD_ADMIN;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 11 0;
+#X connect 5 0 6 0;
+#X connect 5 1 12 0;
+#X connect 6 0 4 0;
+#X connect 7 0 2 0;
+#X connect 9 0 13 0;
+#X connect 10 0 0 0;
49 deprecated/rjsave-ex-help.pd
@@ -0,0 +1,49 @@
+#N canvas 216 47 756 660 10;
+#X obj 71 94 rjsave-ex one;
+#X text 76 59 Tag your abstractions with a unique \$1;
+#X obj 79 275 s RJ_SCENE_LOAD;
+#X obj 78 372 s RJ_SCENE_SAVE;
+#X obj 77 448 r RJ_SCENE;
+#X text 73 424 receive messages for saving on RJ_SCENE;
+#X msg 78 346 save;
+#X msg 77 511;
+#X floatatom 379 61 5 0 0 1 inlet-controls - -;
+#X msg 379 81 a \$1;
+#X msg 186 449 clear;
+#X obj 77 595 s RJ_SCENE_LOAD;
+#N canvas 338 167 594 416 write2message 0;
+#X obj 149 77 inlet;
+#X obj 327 138 inlet;
+#X obj 149 235 outlet;
+#X msg 327 178 set;
+#X obj 182 185 list trim;
+#X obj 182 161 list prepend add2;
+#X msg 149 133 addcomma;
+#X obj 149 101 t b a;
+#X connect 0 0 7 0;
+#X connect 1 0 3 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 6 0 2 0;
+#X connect 7 0 6 0;
+#X connect 7 1 5 0;
+#X restore 77 478 pd write2message;
+#X msg 79 249 rjsave-ex-one a 30 \, rjsave-ex-two b 40;
+#X text 88 570 restoring possible from here as well:;
+#X obj 177 94 rjsave-ex two;
+#X obj 379 109 rjsave-ex three;
+#X text 35 16 State saving in three steps. Check inside of [rjsave-ex]!
+;
+#X text 76 218 send messages to RJ_SCENE_LOAD to remote-control settings
+;
+#X text 77 320 Send "save" to RJ_SCENE_SAVE to initialize global saving.
+;
+#X connect 4 0 12 0;
+#X connect 6 0 3 0;
+#X connect 7 0 11 0;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 10 0 12 1;
+#X connect 12 0 7 0;
+#X connect 13 0 2 0;
19 deprecated/rjsave-ex.pd
@@ -0,0 +1,19 @@
+#N canvas 260 172 882 355 10;
+#X obj 62 127 rjdispatch \$0 a;
+#X obj 62 148 rjdispatch \$0 b;
+#X obj 62 99 inlet;
+#X obj 412 118 hsl 64 15 0 127 0 0 \$0-a \$0-a a 20 8 1 10 -262144
+-1 -1 1488 1;
+#X obj 412 139 hsl 64 15 0 127 0 0 \$0-b \$0-b b 20 8 1 10 -262144
+-1 -1 0 1;
+#X text 36 63 1) add dispatchers for all your variables.;
+#X text 35 16 State saving in three steps;
+#X text 395 63 2) optionally add controls for \$0-a \, \$0-b sender/receiver
+pairs;
+#X obj 169 301 rjloader rjsave-ex-\$1 \$0;
+#X text 169 256 Here we also added the abstraction name to make nameclashes
+even less likely.;
+#X text 149 233 3) add rjloader with \$1 \$0.;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X coords 0 -1 1 1 85 60 1 400 100;
257 deprecated/sssad.pd
@@ -0,0 +1,257 @@
+#N canvas 144 48 1039 564 10;
+#X obj 159 26 inlet;
+#X obj 233 55 list prepend \$1;
+#X obj 233 160 list trim;
+#X obj 233 25 inlet;
+#X obj 22 308 b;
+#X obj 159 53 b;
+#X obj 233 223 route \$1;
+#X obj 543 358 b;
+#X obj 543 250 spigot;
+#X obj 669 72 loadbang;
+#X obj 669 250 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
+1;
+#X obj 669 194 select 0;
+#X obj 701 141 + 1;
+#X obj 669 120 t a a;
+#X obj 669 216 f 1;
+#X obj 226 476 outlet;
+#X obj 159 450 route bang;
+#X text 243 449 filter out empty lists;
+#X obj 610 474 list prepend persist \$1;
+#X obj 159 421 list append;
+#X text 231 110 on SSSAD we eavesdrop the communication;
+#X text 692 249 <- only the first instance responds to "save";
+#X text 165 540 2007/2008 fbar;
+#X text 829 95 Enhancement by Enrique Erne;
+#X obj 543 425 list append;
+#X obj 543 448 route bang;
+#X text 627 447 filter out empty lists here \, too.;
+#X obj 22 226 route set setonly;
+#X obj 80 273 route \$1;
+#X obj 80 251 list trim;
+#X obj 608 324 route \$1;
+#X obj 608 302 list trim;
+#X obj 543 277 route save saveonly;
+#X obj 610 498 list trim;
+#N canvas 513 284 322 286 s-SSSAD 0;
+#X obj 63 38 inlet;
+#X obj 63 176 s SSSAD;
+#X obj 123 176 s \$2-SSSAD;
+#X obj 123 39 loadbang;
+#N canvas 0 0 450 300 demux2 0;
+#X obj 114 91 == 0;
+#X obj 190 115 spigot;
+#X obj 61 43 inlet;
+#X obj 229 46 inlet;
+#X obj 61 113 spigot 1;
+#X obj 61 156 outlet;
+#X obj 190 157 outlet;
+#X connect 0 0 4 1;
+#X connect 1 0 6 0;
+#X connect 2 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X restore 63 137 pd demux2;
+#X obj 123 81 select 0;
+#X msg 123 103 0;
+#X msg 176 102 1;
+#X obj 123 59 list append \$2;
+#X obj 123 39 loadbang;
+#X obj 123 81 select 0;
+#X msg 123 103 0;
+#X msg 176 102 1;
+#X obj 123 59 list append \$2;
+#X connect 0 0 4 0;
+#X connect 3 0 8 0;
+#X connect 4 0 1 0;
+#X connect 4 1 2 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 1;
+#X connect 8 0 5 0;
+#X connect 9 0 13 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 13 0 10 0;
+#X restore 233 84 pd s-SSSAD;
+#N canvas 539 183 330 246 r-SSSAD 0;
+#N canvas 0 0 450 300 mux2 0;
+#X obj 114 121 == 0;
+#X obj 190 145 spigot;
+#X obj 61 43 inlet;
+#X obj 229 66 inlet;
+#X obj 61 143 spigot 1;
+#X obj 61 186 outlet;
+#X obj 190 45 inlet;
+#X connect 0 0 4 1;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 6 0 1 0;
+#X restore 63 167 pd mux2;
+#X obj 63 16 r SSSAD;
+#X obj 86 41 r \$2-SSSAD;
+#X obj 63 201 outlet;
+#X obj 109 74 loadbang;
+#X obj 109 116 select 0;
+#X msg 109 138 0;
+#X msg 162 137 1;
+#X obj 109 94 list append \$2;
+#X connect 0 0 3 0;
+#X connect 1 0 0 0;
+#X connect 2 0 0 1;
+#X connect 4 0 8 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 0 2;
+#X connect 7 0 0 2;
+#X connect 8 0 5 0;
+#X restore 233 136 pd r-SSSAD;
+#N canvas 539 183 330 246 r-SSSAD_ADMIN 0;
+#N canvas 0 0 450 300 mux2 0;
+#X obj 114 121 == 0;
+#X obj 190 145 spigot;
+#X obj 61 43 inlet;
+#X obj 229 66 inlet;
+#X obj 61 143 spigot 1;
+#X obj 61 186 outlet;
+#X obj 190 45 inlet;
+#X connect 0 0 4 1;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 6 0 1 0;
+#X restore 63 177 pd mux2;
+#X obj 63 211 outlet;
+#X obj 63 16 r SSSAD_ADMIN;
+#X obj 86 41 r \$2-SSSAD_ADMIN;
+#X obj 109 75 loadbang;
+#X obj 109 117 select 0;
+#X msg 109 139 0;
+#X msg 162 138 1;
+#X obj 109 95 list append \$2;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 8 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 0 2;
+#X connect 7 0 0 2;
+#X connect 8 0 5 0;
+#X restore 543 190 pd r-SSSAD_ADMIN;
+#N canvas 513 284 322 286 s-SSSAD_ADMIN 0;
+#X obj 63 39 inlet;
+#N canvas 0 0 450 300 demux2 0;
+#X obj 114 91 == 0;
+#X obj 190 115 spigot;
+#X obj 61 43 inlet;
+#X obj 229 46 inlet;
+#X obj 61 113 spigot 1;
+#X obj 61 156 outlet;
+#X obj 190 157 outlet;
+#X connect 0 0 4 1;
+#X connect 1 0 6 0;
+#X connect 2 0 4 0;
+#X connect 2 0 1 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X restore 63 137 pd demux2;
+#X obj 63 206 s SSSAD_ADMIN;
+#X obj 123 176 s \$2-SSSAD_ADMIN;
+#X obj 123 39 loadbang;
+#X obj 123 81 select 0;
+#X msg 123 103 0;
+#X msg 176 102 1;
+#X obj 123 59 list append \$2;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 1 1 3 0;
+#X connect 4 0 8 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 1 1;
+#X connect 7 0 1 1;
+#X connect 8 0 5 0;
+#X restore 610 522 pd s-SSSAD_ADMIN;
+#X obj 669 95 value \$1.\$2.SSSAD.req;
+#X obj 701 164 value \$1.\$2.SSSAD.req;
+#N canvas 539 183 330 246 r-SSSAD_ADMIN 0;
+#N canvas 0 0 450 300 mux2 0;
+#X obj 114 121 == 0;
+#X obj 190 145 spigot;
+#X obj 61 43 inlet;
+#X obj 229 66 inlet;
+#X obj 61 143 spigot 1;
+#X obj 61 186 outlet;
+#X obj 190 45 inlet;
+#X connect 0 0 4 1;
+#X connect 1 0 5 0;
+#X connect 2 0 4 0;
+#X connect 3 0 0 0;
+#X connect 3 0 1 1;
+#X connect 4 0 5 0;
+#X connect 6 0 1 0;
+#X restore 63 177 pd mux2;
+#X obj 63 211 outlet;
+#X obj 63 16 r SSSAD_ADMIN;
+#X obj 86 41 r \$2-SSSAD_ADMIN;
+#X obj 109 75 loadbang;
+#X obj 109 117 select 0;
+#X msg 109 139 0;
+#X msg 162 138 1;
+#X obj 109 95 list append \$2;
+#X connect 0 0 1 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 1;
+#X connect 4 0 8 0;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 0 2;
+#X connect 7 0 0 2;
+#X connect 8 0 5 0;
+#X restore 22 187 pd r-SSSAD_ADMIN;
+#X connect 0 0 5 0;
+#X connect 1 0 34 0;
+#X connect 2 0 6 0;
+#X connect 3 0 1 0;
+#X connect 4 0 19 0;
+#X connect 5 0 19 0;
+#X connect 6 0 19 1;
+#X connect 6 0 24 1;
+#X connect 7 0 24 0;
+#X connect 8 0 32 0;
+#X connect 9 0 38 0;
+#X connect 11 0 14 0;
+#X connect 12 0 39 0;
+#X connect 13 0 11 0;
+#X connect 13 1 12 0;
+#X connect 14 0 8 1;
+#X connect 14 0 10 0;
+#X connect 16 1 15 0;
+#X connect 18 0 33 0;
+#X connect 19 0 16 0;
+#X connect 24 0 25 0;
+#X connect 25 1 18 0;
+#X connect 27 0 4 0;
+#X connect 27 1 29 0;
+#X connect 28 0 4 0;
+#X connect 29 0 28 0;
+#X connect 30 0 7 0;
+#X connect 31 0 30 0;
+#X connect 32 0 7 0;
+#X connect 32 1 31 0;
+#X connect 33 0 37 0;
+#X connect 35 0 2 0;
+#X connect 36 0 8 0;
+#X connect 38 0 13 0;
+#X connect 40 0 27 0;
253 deprecated/touch.pd
@@ -0,0 +1,253 @@
+#N canvas 638 283 203 198 10;
+#N canvas 565 184 118 133 tap 0;
+#X obj 16 16 r #touch;
+#X obj 16 37 route down;
+#X obj 16 81 s touch;
+#X msg 16 59 tap \$1;
+#X connect 0 0 1 0;
+#X connect 1 0 3 0;
+#X connect 3 0 2 0;
+#X restore 17 14 pd tap;
+#N canvas 226 304 213 331 speed 0;
+#X obj 114 30 r #touch;
+#X obj 114 52 list;
+#X obj 8 58 t b b;
+#X obj 8 36 metro 40;
+#N canvas 335 294 251 502 speed_1 0;
+#X msg 43 55 \$2 \$1 \$3 \$4;
+#X obj 43 76 route 1;
+#X obj 43 158 unpack f f;
+#X obj 43 194 t f f b;
+#X obj 61 220 f;
+#X obj 43 243 -;
+#X obj 110 194 t f f b;
+#X obj 128 220 f;
+#X obj 110 243 -;
+#X obj 146 145 unpack f f;
+#X obj 43 98 route up xy down;
+#X obj 43 278 pack f f;
+#X obj 43 322 unpack f f;
+#X obj 43 345 t f f;
+#X obj 43 369 *;
+#X obj 110 344 t f f;
+#X obj 110 368 *;
+#X obj 43 393 +;
+#X obj 43 416 pow 0.5;
+#N canvas 541 449 106 125 lop 0;
+#X obj 6 13 inlet;
+#X obj 6 82 outlet;
+#X obj 6 35 * 0.3;
+#X obj 6 59 +;
+#X obj 35 58 * 0.7;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X restore 43 439 pd lop;
+#X obj 43 12 inlet;
+#X obj 86 12 inlet;
+#X obj 43 484 outlet;
+#X obj 43 34 list append 0 0 0 0;
+#X obj 43 460 change;
+#X obj 57 301 s \$0.delta.1;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 2 0 3 0;
+#X connect 2 1 6 0;
+#X connect 3 0 5 0;
+#X connect 3 1 4 1;
+#X connect 3 2 4 0;
+#X connect 4 0 5 1;
+#X connect 5 0 11 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 1;
+#X connect 6 2 7 0;
+#X connect 7 0 8 1;
+#X connect 8 0 11 1;
+#X connect 9 0 4 1;
+#X connect 9 1 7 1;
+#X connect 10 0 2 0;
+#X connect 10 1 2 0;
+#X connect 10 2 9 0;
+#X connect 11 0 12 0;
+#X connect 11 0 25 0;
+#X connect 12 0 13 0;
+#X connect 12 1 15 0;
+#X connect 13 0 14 0;
+#X connect 13 1 14 1;
+#X connect 14 0 17 0;
+#X connect 15 0 16 0;
+#X connect 15 1 16 1;
+#X connect 16 0 17 1;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 24 0;
+#X connect 20 0 23 0;
+#X connect 21 0 23 1;
+#X connect 23 0 0 0;
+#X connect 24 0 22 0;
+#X restore 8 159 pd speed_1;
+#N canvas 312 276 236 526 speed_2 0;
+#X msg 43 55 \$2 \$1 \$3 \$4;
+#X obj 43 76 route 1;
+#X obj 43 158 unpack f f;
+#X obj 43 194 t f f b;
+#X obj 61 220 f;
+#X obj 43 243 -;
+#X obj 110 194 t f f b;
+#X obj 128 220 f;
+#X obj 110 243 -;
+#X obj 146 145 unpack f f;
+#X obj 43 98 route up xy down;
+#X obj 43 278 pack f f;
+#X obj 43 327 unpack f f;
+#X obj 43 350 t f f;
+#X obj 43 374 *;
+#X obj 110 349 t f f;
+#X obj 110 373 *;
+#X obj 43 398 +;
+#X obj 43 421 pow 0.5;
+#N canvas 541 449 106 125 lop 0;
+#X obj 6 13 inlet;
+#X obj 6 82 outlet;
+#X obj 6 35 * 0.3;
+#X obj 6 59 +;
+#X obj 35 58 * 0.7;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X restore 43 444 pd lop;
+#X obj 43 12 inlet;
+#X obj 86 12 inlet;
+#X obj 43 489 outlet;
+#X obj 43 34 list append 0 0 0 0;
+#X obj 43 465 change;
+#X obj 54 305 s \$0.delta.2;
+#X connect 0 0 1 0;
+#X connect 1 0 10 0;
+#X connect 2 0 3 0;
+#X connect 2 1 6 0;
+#X connect 3 0 5 0;
+#X connect 3 1 4 1;
+#X connect 3 2 4 0;
+#X connect 4 0 5 1;
+#X connect 5 0 11 0;
+#X connect 6 0 8 0;
+#X connect 6 1 7 1;
+#X connect 6 2 7 0;
+#X connect 7 0 8 1;
+#X connect 8 0 11 1;
+#X connect 9 0 4 1;
+#X connect 9 1 7 1;
+#X connect 10 0 2 0;
+#X connect 10 1 2 0;
+#X connect 10 2 9 0;
+#X connect 11 0 12 0;
+#X connect 11 0 25 0;
+#X connect 12 0 13 0;
+#X connect 12 1 15 0;
+#X connect 13 0 14 0;
+#X connect 13 1 14 1;
+#X connect 14 0 17 0;
+#X connect 15 0 16 0;
+#X connect 15 1 16 1;
+#X connect 16 0 17 1;
+#X connect 17 0 18 0;
+#X connect 18 0 19 0;
+#X connect 19 0 24 0;
+#X connect 20 0 23 0;
+#X connect 21 0 23 1;
+#X connect 23 0 0 0;
+#X connect 24 0 22 0;
+#X restore 90 160 pd speed_2;
+#X msg 8 191 speed 1 \$1;
+#X msg 90 191 speed 2 \$1;
+#X obj 8 231 s touch;
+#X obj 8 13 loadbang;
+#X connect 0 0 1 0;
+#X connect 1 0 4 1;
+#X connect 1 0 5 1;
+#X connect 2 0 4 0;
+#X connect 2 1 5 0;
+#X connect 3 0 2 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 6 0 8 0;
+#X connect 7 0 8 0;
+#X connect 9 0 3 0;
+#X restore 16 37 pd speed;
+#N canvas 129 241 258 271 updown 0;
+#X obj 16 13 r #touch;
+#X obj 16 41 list;
+#X msg 16 63 \$2 \$1;
+#X obj 16 86 route 1 2;
+#X obj 16 120 route down up;
+#X msg 16 181 updown 1 \$1;
+#X msg 16 149 1;
+#X msg 60 150 0;
+#X obj 116 121 route down up;
+#X msg 116 150 1;
+#X msg 160 151 0;
+#X msg 116 182 updown 2 \$1;
+#X obj 16 224 s touch;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 8 0;
+#X connect 4 0 6 0;
+#X connect 4 1 7 0;
+#X connect 5 0 12 0;
+#X connect 6 0 5 0;
+#X connect 7 0 5 0;
+#X connect 8 0 9 0;
+#X connect 8 1 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X restore 16 59 pd updown;
+#N canvas 553 103 273 244 direction 0;
+#X obj 144 26 r \$0.delta.2;
+#X obj 21 24 r \$0.delta.1;
+#X obj 21 68 atan2;
+#X msg 21 49 \$2 \$1;
+#X obj 21 90 t f f b;
+#X obj 43 113 f;
+#X obj 21 158 * 0.5;
+#X obj 21 138 +;
+#X msg 21 182 direction 1 \$1;
+#X obj 21 204 s touch;
+#X obj 144 70 atan2;
+#X msg 144 51 \$2 \$1;
+#X obj 144 92 t f f b;
+#X obj 166 115 f;
+#X obj 144 160 * 0.5;
+#X obj 144 140 +;
+#X obj 144 206 s touch;
+#X msg 144 184 direction 2 \$1;
+#X connect 0 0 11 0;
+#X connect 1 0 3 0;
+#X connect 2 0 4 0;
+#X connect 3 0 2 0;
+#X connect 4 0 7 0;
+#X connect 4 1 5 1;
+#X connect 4 2 5 0;
+#X connect 5 0 7 1;
+#X connect 6 0 8 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 10 0 12 0;
+#X connect 11 0 10 0;
+#X connect 12 0 15 0;
+#X connect 12 1 13 1;
+#X connect 12 2 13 0;
+#X connect 13 0 15 1;
+#X connect 14 0 17 0;
+#X connect 15 0 14 0;
+#X connect 17 0 16 0;
+#X restore 16 82 pd direction;
+#X text 14 173 Author: Roman Haefeli;
+#X text 13 154 Version: 2008-07-14;
6 pd/README-pd-rj.txt
@@ -0,0 +1,6 @@
+pd
+==
+
+These are abstractions that you should copy somewhere into your Pd search path. Alternatively
+set the search path to the dirctory where you've downloaded these files to. See
+http://en.flossmanuals.net/PureData/AdvancedConfig for details.
28 pd/playback.pd
@@ -0,0 +1,28 @@
+#N canvas 461 160 618 519 10;
+#X obj 19 103 readsf~ 2;
+#X msg 19 79 open \$1 \, 1;
+#X obj 19 57 symbol;
+#X obj 20 7 r #transport;
+#X obj 19 132 soundoutput;
+#X obj 19 30 route playback loop;
+#X obj 112 103 spigot;
+#X obj 150 175 rjdj;
+#X msg 150 152 playback 0;
+#X obj 150 130 spigot 1;
+#X obj 203 79 - 1;
+#X obj 204 102 * -1;
+#X connect 0 0 4 0;
+#X connect 0 1 4 1;
+#X connect 0 2 6 0;
+#X connect 0 2 9 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 5 0;
+#X connect 5 0 2 0;
+#X connect 5 1 6 1;
+#X connect 5 1 10 0;
+#X connect 6 0 2 0;
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 11 0;
+#X connect 11 0 9 1;
22 pd/recorder.pd
@@ -0,0 +1,22 @@
+#N canvas 512 221 504 404 10;
+#X obj 184 376 writesf~ 2;
+#X obj 144 16 r #transport;
+#X msg 155 283 stop;
+#X obj 199 323 catch~ rec1;
+#X obj 286 323 catch~ rec2;
+#X obj 77 115 route record scene;
+#X obj 76 141 sel 1;
+#X obj 53 208 symbol;
+#X msg 29 271 open \$1;
+#X msg 98 283 start;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 0 0;
+#X connect 4 0 0 1;
+#X connect 5 0 6 0;
+#X connect 5 1 7 0;
+#X connect 6 0 9 0;
+#X connect 6 1 2 0;
+#X connect 7 0 8 0;
+#X connect 8 0 0 0;
+#X connect 9 0 0 0;
60 pd/soundinput.pd
@@ -0,0 +1,60 @@
+#N canvas 149 217 611 463 10;
+#X obj 31 203 readsf~ 2;
+#X obj 154 172 adc~;
+#X obj 146 335 *~ 1;
+#X obj 59 334 *~ 0;
+#X obj 102 334 *~ 0;
+#X obj 111 307 == 0;
+#X obj 30 133 inlet;
+#X msg 31 179 open \$1 \, 1;
+#X obj 31 157 symbol;
+#X obj 189 336 *~ 1;
+#X obj 59 411 *~;
+#X obj 125 411 *~;
+#X obj 59 436 outlet~;
+#X obj 125 436 outlet~;
+#X obj 306 240 line~;
+#X obj 305 172 r #transport;
+#X obj 306 193 route play;
+#X msg 306 216 \$1 10;
+#X obj 144 37 r input_soundfile;
+#X msg 212 105 0;
+#X obj 257 107 inlet;
+#X obj 222 157 float;
+#X obj 308 37 r input_live;
+#X msg 309 105 1;
+#X obj 112 119 hsl 50 15 0 1 0 0 empty empty empty -2 -8 0 10 -4034
+-1 -1 0 1;
+#X text 114 119 volume;
+#X connect 0 0 3 0;
+#X connect 0 1 4 0;
+#X connect 0 2 8 0;
+#X connect 1 0 2 0;
+#X connect 1 1 9 0;
+#X connect 2 0 10 0;
+#X connect 3 0 10 0;
+#X connect 4 0 11 0;
+#X connect 5 0 4 1;
+#X connect 5 0 3 1;
+#X connect 6 0 8 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 11 0;
+#X connect 10 0 12 0;
+#X connect 11 0 13 0;
+#X connect 14 0 11 1;
+#X connect 14 0 10 1;
+#X connect 15 0 16 0;
+#X connect 16 0 17 0;
+#X connect 17 0 14 0;
+#X connect 18 0 8 0;
+#X connect 18 0 19 0;
+#X connect 19 0 21 0;
+#X connect 20 0 21 0;
+#X connect 21 0 5 0;
+#X connect 21 0 2 1;
+#X connect 21 0 9 1;
+#X connect 22 0 23 0;
+#X connect 23 0 21 0;
+#X connect 24 0 17 0;
+#X coords 0 -1 1 1 110 40 1 100 100;
94 pd/soundoutput.pd
@@ -0,0 +1,94 @@
+#N canvas 231 115 678 641 10;
+#X obj 92 536 dac~;
+#X obj 451 185 r #transport;
+#X obj 509 317 sel 1;
+#X obj 189 505 *~;
+#X obj 91 504 *~;
+#X obj 226 472 line~;
+#X obj 509 370 float 0.5;
+#X msg 509 393 \$1 300;
+#X obj 509 350 del 200;
+#X msg 226 395 0 20;
+#X obj 297 331 catch~ \$0-dummy;
+#X obj 241 310 throw~ \$0-dummy;
+#X obj 353 310 throw~ \$0-dummy;
+#X msg 241 282 set rec1;
+#X msg 353 280 set rec2;
+#X obj 296 411 pack 0 20;
+#X obj 114 121 hsl 50 15 0 1 0 0 \$0-vol \$0-vol volume 5 8 1 10 -4034
+-1 -1 0 1;
+#X obj 296 389 r \$0-vol;
+#X obj 538 93 r \$0-vol;
+#X msg 538 116 \; pd dsp 1;
+#X obj 92 148 inlet~;
+#X obj 187 149 inlet~;
+#X obj 92 201 clip~ -1 1;
+#X obj 188 202 clip~ -1 1;
+#X obj 92 176 hip~ 3;
+#X obj 187 176 hip~ 3;
+#X text 241 178 fight DC;
+#X text 268 203 clip it like an iPhod;
+#X obj 451 208 route record play;
+#X obj 593 301 r #volume;
+#X obj 593 322 route set;
+#N canvas 0 0 450 300 meter 0;
+#X obj 22 27 inlet~;
+#X obj 26 69 env~;
+#X obj 192 113 f;
+#X msg 191 76 0;
+#X obj 116 111 moses 0;
+#X obj 162 174 outlet;
+#X obj 194 51 del 1500;
+#X msg 194 29 bang;
+#X obj 89 28 inlet~;
+#X obj 93 70 env~;
+#X connect 0 0 1 0;
+#X connect 1 0 4 0;
+#X connect 2 0 4 1;
+#X connect 3 0 4 1;
+#X connect 4 1 2 0;
+#X connect 4 1 5 0;
+#X connect 4 1 7 0;
+#X connect 6 0 3 0;
+#X connect 7 0 6 0;
+#X connect 8 0 9 0;
+#X connect 9 0 4 0;
+#X restore 169 58 pd meter;
+#X floatatom 169 122 5 0 0 0 - - -;
+#X obj 169 80 int;
+#X obj 169 101 - 100;
+#X connect 1 0 28 0;
+#X connect 2 0 8 0;
+#X connect 2 1 9 0;
+#X connect 3 0 0 1;
+#X connect 4 0 0 0;
+#X connect 5 0 3 1;
+#X connect 5 0 4 1;
+#X connect 6 0 7 0;
+#X connect 7 0 5 0;
+#X connect 8 0 6 0;
+#X connect 9 0 5 0;
+#X connect 13 0 11 0;
+#X connect 14 0 12 0;
+#X connect 15 0 5 0;
+#X connect 17 0 15 0;
+#X connect 18 0 19 0;
+#X connect 20 0 24 0;
+#X connect 21 0 25 0;
+#X connect 22 0 4 0;
+#X connect 22 0 11 0;
+#X connect 23 0 3 0;
+#X connect 23 0 12 0;
+#X connect 24 0 22 0;
+#X connect 24 0 31 0;
+#X connect 25 0 23 0;
+#X connect 25 0 31 1;
+#X connect 28 0 14 0;
+#X connect 28 0 13 0;
+#X connect 28 1 2 0;
+#X connect 29 0 30 0;
+#X connect 30 0 6 0;
+#X connect 31 0 33 0;
+#X connect 33 0 34 0;
+#X connect 34 0 32 0;
+#X coords 0 -1 1 1 110 40 1 100 100;
676 rj/LICENSE.txt
@@ -0,0 +1,676 @@
+Except as otherwise noted, all files in the "rj" library of abstractions are
+copyright Reality Jockey Ltd. and can be distributed freely according to the
+terms of the GNU GENERAL PUBLIC LICENSE v3 found below.
+
+Where files have been imported from outside sources, comments inside the file
+describe the authors and the license to apply to these abstractions.
+
+As an example, the ADSR abstractions and the e_vocoder include code written by
+Miller Puckette and others and are copyrighted according to the
+"Standard Improved BSD License" license found in this file as well.
+
+
+<Start of GPLv3>
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.